2023.05.16 - [🌏 인프라/모니터링] - Prometheus + Grafana로 Redis 모니터링 구축하기
과제를 진행하면서 새롭게 알게된 기술들을 정리해보고자 합니다!
✔️ 목차
1. 메트릭
2. 프로메테우스
3. 그라파나
먼저, 메트릭(metrics)이란 뭘까?
성능 지표..? 정도로 알고 있는데 정확히 자세히 아는 것이 중요하기 때문에 정리해보겠습니다.
Metric
메트릭하면 다음과 같이 화려한 대시보드를 떠올리실 수 있을 것 같습니다.
어떤 애플리케이션을 쓰는지, 어떤 서비스인지에 따라 해석이 달라질 수 있지만
보편적으로 메트릭은 수집되는 시계열 데이터를 말합니다.
웹서버에서는 요청 시간이 될 수 있고, 데이터베이스에서는 활성 연결 수나 활성 쿼리 수 등이 될 수 있습니다.
- 로그와 달리 메트릭은 주기적으로 발생합니다.
- 로그는 어떤 이벤트가 발생했을 때 로그 파일에 기록되지만, 메트릭은 주기적으로 발생하는 이벤트의 데이터를 수집
- 시스템 리소스 모니터링에 정기적으로 수집되는 데이터 : CPU 사용량, 시간당 데이터 처리량, 분당 네트워크 속도 등
- 프로메테우스의 메트릭은 "메트릭명{필드1=값, 필드2=값} 샘플링데이터"와 같이 수집
Prometheus
✅ 공식 문서
웹이나 DB를 운영할 때 사용자의 이용이 생깁니다. 트래픽이 발생하고, 정도에 따라 지연시간이 생길 수 있습니다. 당연히 자원 사용이 동반되므로 서버 메모리나 CPU 사용률이 부족하지는 않은지 지켜보면서 관리해주어야 합니다. 이럴 때 사용할 수 있는 것이 프로메테우스입니다.
각종 지표를 수집하여 저장하고 검색할 수 있는 모니터링 시스템으로서 특징은 다음과 같습니다.
- 이벤트 모니터링 및 경고에 사용되는 무료 소프트웨어
- 독립형 오픈소스 프로젝트로 어떤 회사와도 독립적으로 유지 관리됨
- Go로 작성되었고, 아파치2 라이선스를 따름
- 그라파나를 통한 시각화 지원
- 많은 시스템을 모니터링 할 수 있는 다양한 플러그인
- 프로메테우스가 주기적으로 exporter(모니터링 대상 시스템)로부터 pulling 방식으로 메트릭을 읽어서 수집함
Grafana
✅ 공식 문서
그라파나는 프로메테우스 등 여러 데이터들을 시각화해주는 모니터링 툴입니다.
- 알람 기능을 무료로 사용할 수 있음
- 시계열 데이터를 시각화하기 위한 대시보드 제공
- 여러 데이터 소스들을 시각화할 수 있음
- 키바나와 호환성이 높음
공식 사이트에서 라이브 데모도 제공하고 있으니 사용하기 전에 확인해봐도 좋을 것 같다!
참고 사이트