🔖 요약
👏 프로젝트 소개
- 프로젝트 개요
- 프로젝트 이름: Grafana, Prometheus, Exporter, Zabbix 도입 및 운영
- 프로젝트 기간: 2024년 7월 1일 ~ 현재
- 역할: 시스템 엔지니어
- 오픈 소스 솔루션 리서치
- 서버 선정 및 구축
- 유지 관리 및 운영
✍️ 프로젝트 배경
- 도입 이전 상황
- 서버 상태를 모니터링할 수 있는 시스템이 부재
- 서버 성능 및 상태를 수동으로 개별 확인해야 하는 번거로움과 비효율성
- 서버에서 발생하는 문제를 실시간으로 감지하고 대응하기 어려움
- 도입 이유 및 목표
- 도입 이유:
- 서버 상태 및 성능 모니터링 자동화 필요
- 효율적인 서버 관리 및 문제 대응 능력 강화
- 목표:
- Grafana, Prometheus, Exporter, Zabbix를 이용한 실시간 서버 모니터링 시스템 구축
- 특정 임계치 초과 시 Rocket.Chat으로 웹훅 알림 기능 구현
🔦 기술 스택 및 주요 기능 구현
- 기술 스택
- 주요 기술:
- Grafana (시각화 대시보드)
- Prometheus (모니터링 및 경고 시스템)
- Exporter (서버 메트릭 수집)
- Zabbix (모니터링 및 경고 시스템)
- Rocket.Chat (알림 전송)
- 주요 기능 및 구현 내용
- 서버 모니터링 및 알림 시스템:
- Prometheus와 Exporter를 사용한 서버 메트릭 수집
- CPU, 메모리 사용량, 네트워크 트래픽 등의 메트릭 수집
- Grafana 대시보드를 통한 시각화
- 실시간 데이터 시각화를 통해 서버 상태 및 성능을 한눈에 파악
- Zabbix 에이전트를 통한 서버 메트릭 수집
- Grafana&Prometheus 의 부족한 알림(패키지 변경 등) 및 이중화 모니터링
- 임계치 초과 시 Rocket.Chat으로 알림 전송
- 설정된 임계치 초과 시 웹훅을 통해 Rocket.Chat으로 자동 알림 전송
🔦 도입 과정
- 초기 요구사항 분석
기능 | 설명 |
실시간 모니터링 | 서버 상태와 성능을 실시간으로 모니터링하는 기능. |
데이터 시각화 | 수집된 데이터를 Grafana 대시보드를 통해 시각화하는 기능. |
알림 시스템 | 특정 임계치 초과 시 Rocket.Chat으로 알림을 보내는 기능. |
자동화된 메트릭 수집 | Exporter를 통해 서버 메트릭을 자동으로 수집. |
- 오픈 소스 모니터링 도구 리서치
Prometheus, Grafana, Exporter 조합을 사용하여 전체 시스템 모니터링 구현
제품 | Prometheus | Grafana | Exporter |
개발사 | Prometheus Team | Grafana Labs | 커뮤니티 |
출시 | 2012년 | 2014년 | 각기 다름 |
데이터 수집 | O | X | O |
시각화 | X | O | X |
알림 기능 | O | X | X |
확장성 | O | O | O |
사용 편의성 | 상 | 상 | 중 |
- 서버 설치 및 모니터링 환경 구성
- 설치 정보
- 설치
- Prometheus 설치 및 설정
- 모니터링 대상 서버 Exporter 설치 및 Prometheus와의 연동 설정
- Prometheus 서버 설치 및 메트릭 수집 설정
- Grafana 대시보드 구성
- Grafana 설치 및 Prometheus 데이터 소스 연동
- 대시보드 구성 및 메트릭 시각화 설정
- 알림 시스템 설정
- Rocket.Chat과의 웹훅 연동 설정
- 임계치 초과 시 자동 알림 전송 설정
- Zabbix 서버 설치
- zabbix 저장소 설치 및 서버 패키지 설치
- apache2, mysql 설치 및 설정
- 웹 접속 및 환경 설정
- Zabbix 에이전트 설치
- 모니터링 대상 호스트 zabbix 저장소 설치 및 에이전트 패키지 설치
- config 서버 IP 설정
- 웹 GUI 에서 호스트 등록 및 설정
소프트웨어 | 버전 |
Prometheus | 2.31.2+ds1 |
Grafana | 11.1 |
Exporter | ㅤ |
🔦 결과 및 성과
- 성과 및 결과
- 도입 후 성과
- 실시간 서버 모니터링 시스템 구축
- 수동 점검 없이 실시간으로 서버 상태를 모니터링하고 관리할 수 있게 되었습니다.
- 효율적인 문제 대응
- 임계치 초과 시 자동 알림 시스템을 통해 신속한 대응이 가능해졌습니다.
- 서버 관리의 효율성 증대
- 모든 서버의 상태와 성능을 하나의 대시보드에서 통합적으로 관리할 수 있어 관리 효율성이 향상되었습니다.
- 향후 계획
- 정기적인 시스템 업데이트 및 유지보수
댓글