DevOps 환경에서 애플리케이션과 인프라의 성능을 모니터링하는 것은 매우 중요합니다. 이를 통해 문제를 조기에 발견하고, 시스템의 가용성을 높일 수 있습니다. 오늘은 Prometheus와 Grafana를 활용한 효율적인 모니터링 솔루션에 대해 알아보겠습니다.
Prometheus란?
Prometheus는 오픈 소스 모니터링 및 경고 툴킷으로, 특히 클라우드 네이티브 애플리케이션을 위한 메트릭 수집에 최적화되어 있습니다. 주요 특징은 다음과 같습니다.
- 시계열 데이터 저장: Prometheus는 시계열 데이터를 수집하고 저장합니다. 각 데이터는 타임스탬프와 함께 저장되어 시간에 따라 변화하는 메트릭을 시각화할 수 있습니다.
- 다양한 데이터 수집: HTTP를 통해 메트릭을 수집하며, 다양한 프로그래밍 언어로 exporter를 작성할 수 있습니다.
- 강력한 쿼리 언어: PromQL(Prometheus Query Language)을 사용하여 복잡한 쿼리를 작성하고 데이터 분석이 가능합니다.
- 사용자 친화적인 대시보드: 다양한 차트와 그래프를 사용하여 데이터를 시각화할 수 있으며, 직관적인 UI를 제공합니다.
- 다양한 플러그인 지원: Grafana는 다양한 데이터 소스를 지원하며, 이를 통해 확장성이 뛰어납니다.
- 경고 기능: Grafana에서 설정한 임계값을 초과하는 경우 알림을 받을 수 있습니다.
Grafana란?
Grafana는 시각화 도구로, 다양한 데이터 소스에서 데이터를 가져와 대시보드를 생성할 수 있습니다. Prometheus와의 통합을 통해 실시간 데이터를 시각화하는 데에 매우 유용합니다. Grafana의 주요 특징은 다음과 같습니다.
Prometheus와 Grafana 설치하기
이제 Prometheus와 Grafana를 설치하고 기본적인 설정을 해보겠습니다.
1. Prometheus 설치
먼저, Prometheus를 설치합니다. 아래는 Ubuntu에서의 설치 방법입니다.
wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz
# 압축 해제
tar -xvf prometheus-2.31.1.linux-amd64.tar.gz
cd prometheus-2.31.1.linux-amd64
# Prometheus 실행
./prometheus --config.file=prometheus.yml
이제 Prometheus가 기본 포트 9090에서 실행되고 있습니다.
2. Grafana 설치
다음으로 Grafana를 설치합니다.
# Grafana GPG 키 추가
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:grafana/stable
sudo apt-get update
# Grafana 설치
sudo apt-get install grafana
# Grafana 서비스 시작
sudo systemctl start grafana-server
sudo systemctl enable grafana-server.service
Grafana는 기본 포트 3000에서 실행됩니다.
3. Prometheus와 Grafana 연동하기
- Grafana에 로그인 (기본 사용자명과 비밀번호는 admin/admin).
- 왼쪽 메뉴에서 Configuration(구성) > Data Sources(데이터 소스)를 클릭합니다.
- Add data source(데이터 소스 추가) 버튼을 클릭합니다.
- Prometheus를 선택하고 URL에
http://localhost:9090을 입력한 후, Save & Test(저장 및 테스트)를 클릭하여 연결을 확인합니다. - 왼쪽 메뉴에서 Dashboards(대시보드) > New Dashboard(새 대시보드)를 클릭합니다.
- Add new panel(새 패널 추가)을 클릭합니다.
- Query 영역에 PromQL 쿼리를 작성하여 원하는 메트릭을 시각화합니다. 예를 들어, CPU 사용량을 모니터링하고 싶다면 다음과 같은 쿼리를 작성할 수 있습니다.
- 패널 설정을 완료하고 Save(저장) 버튼을 클릭하여 대시보드를 저장합니다.
이제 Prometheus의 메트릭을 Grafana에서 사용할 수 있습니다.
대시보드 만들기
Grafana에서 새로운 대시보드를 만들어 보겠습니다.
rate(node_cpu_seconds_total{mode="idle"}[5m])
마무리
Prometheus와 Grafana는 강력한 모니터링 솔루션으로, 클라우드 네이티브 애플리케이션의 성능을 효과적으로 관리할 수 있도록 도와줍니다. 설치와 설정이 비교적 간단하며, 다양한 메트릭을 수집하고 시각화하는 데 유용합니다. DevOps 환경에서 이 두 도구를 적극 활용하여 시스템의 가용성과 성능을 한층 더 향상시켜 보세요.