베하~!
문땅훈과 루피입니다.
즐거운 금요일이네요!!
다들 알찬 한 주 보내셨나요~!?
오늘은 그라파나와 프로메테우스에 대해 알아보겠습니다.
개요
- Grafana
- Prometheus
1. Grafana
- Grafana란?
- 계열 매트릭 데이터를 시각화 하여 가장 최적화된 대시보드를 제공해주는 오픈소스 분석 플랫폼
- 대시보드를 통해 인터렉티브한 시각화 기능을 제공, Prometheus, InfluxDB, Elasticsearch등 다양한 데이터 소스와 연동 가능
- Grafana는 시계열 메트릭 데이터 수집에 최적화 되있으며, 보통 서버 리소스의 메트릭 정보나 로그 같은 데이터를 시각화할때 많이 사용
- Grafana 특징
- 오픈소스이다.
- 그래프에서 특성 수치가 넘어가면 알람을 보낼 수 있는 기능을 제공
- 외부 데이터 소스를 정의하고 해당 데이터 소스에 쿼리를 통해서 데이터를 동적으로 가져옴
- 플로그 인, 어플리케이션 플러그 인, 패널 플러그 인 등 다양한 플러그 인을 지원
- 대시보드를 구성하는데 있어서 많은 패널을 제공하여 유연한 대시보드 구성 가능
- Grafana 설치 방법
- 설치 명령어 (Ubuntu and Debian)
sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_10.0.3_amd64.deb
sudo dpkg -i grafana-enterprise_10.0.3_amd64.deb
- Grafana 접속
- 그라파나는 3000번 포트를 사용하므로, http://localhost:3000 으로 접속하면 됩니다.
- 또한, Grafana의 초기 username와 password는 admin, admin 입니다.
- Grafana Demo Site
- 그라파라에서 데몬 사이트를 제공하고 있습니다.
- https://play.grafana.org/d/000000012/grafana-play-home?orgId=1
위 명령어를 통해 설치가 다 되었으면, Data Source를 추가해야합니다.
참고로, 그라파나는 아래 그림과 같은 플러그인을 제공합니다. Data source를 플러그인을 통해서 추가할 수 있습니다.
Data Source란, Grafana가 매트릭 정보를 수집하기 위해서 어떤 DB를 바라봐야 하는지 설정하는 것 입니다.
Grafana에서는 위 그림과 같이 여러 Data databases를 지원하는데 그 중 Prometheus에 대해 알아보겠습니다.
2. Prometheus
- Prometheus란?
- Prometheus는 메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 제공하는 오픈 소스 모니터링 시스템
- 모니터링 대상이 되는 메트릭을 Pull 방식으로 수집
- Metric 수집 방식
- Prometheus에서는 메트릭을 Pull 방식으로 수집합니다.
- Pull : 데이터를 가진 곳에서 필요한 곳으로 보내 주는 방식
- Nagioz, Zabbiz 가 있으며, 메트릭은 중앙에서 정의되고 할당된 에이전트에 푸시됨
- 수집된 데이터는 에이전트가 중앙 서버로 보냄
- Push : 데이터가 필요한 곳에서 가진 곳에 접속하여 데이터를 가져가는 방식
- Promethues, Datadog, Collectd가 있으며, 에이전트 자체에 메트릭 정보가 포함되어 있음
- 에이전트는 메트릭을 수집하며, 중앙 시스템으로 데이터 전송을 위한 정보가 보통 에이전트에 포함되어 있음
- 수집된 데이터는 중앙서버가 에이전트에서 가져감
- Pull : 데이터를 가진 곳에서 필요한 곳으로 보내 주는 방식
- Prometheus에서는 메트릭을 Pull 방식으로 수집합니다.
- Promethues 특징
- 고차원 데이터 모델을 구현, 시계열은 메트릭 이름과 key-value 쌍으로 식별됨
- PromQL을 통한 강력한 쿼리
- 뛰어난 데이터 시각화 제공
- custom format을 통해 효율적인 데이터 저장
- 각 서버는 안정성을 위해 독립적이며 로컬 저장소에만 의존
- pull 방식의 데이터 수집(push 방식도 가능)
GKE에서 Prometheus와 Grafana 예시
- 프로메테우스에서 GKE의 메트릭을 Pull 방식으로 가져와 Grafana의 대시보드로 시각화하여 제공하게 됩니다.
지금까지 간단한 예시와 함께 Grafana와 Promethues를 알아보았습니다.
도움이 많이 되셨나요!?
다음주도 알찬 정보와 함께 돌아오겠습니다.
그럼 베빠 ~!
댓글