안녕하세요
이번 시간에는 Ubuntu 22.04 LTS에서 프로메테우스(Prometheus)와 그라파나(Grafana)를 연동하는 실습을 진행하겠습니다.
0. Prometheus Grafana Stack 개념
Prometheus Grafana Stack은 모니터링 및 경고 시스템으로, Prometheus와 Grafana 두 개의 오픈 소스 소프트웨어로 구성됩니다.
1. Prometheus
Prometheus는 컴퓨터 시스템 및 서비스의 모니터링에 사용되는 오픈 소스 소프트웨어이며 다양한 지표를 수집하고 저장할 수 있으며, 쿼리 언어를 사용하여 수집된 데이터를 검색할 수 있습니다. 경고 기능을 제공하여 시스템이나 서비스에 문제가 발생할 경우 알림을 보낼 수 있습니다.
2. Grafana
Grafana는 다양한 데이터 소스에서 시각화 및 대시 보드를 만들기 위한 오픈 소스 소프트웨어이며 Prometheus에서 수집된 데이터를 쉽게 시각화할 수 있습니다. 또한 Grafana는 경고 및 알림 기능도 제공합니다.
0. 사전 준비
1. 프로메테우스(Prometheus) 설치하기
[OSS] Prometheus에 대해 알아보고 Ubuntu 22.04 LTS에 설치하기 (tistory.com)
2. 그라파나(Grafana) 설치하기
[OSS] Grafana에 대해 알아보고 Ubuntu 22.04 LTS에 설치하기 / Grafana 초기 아이디, 비밀번호 (tistory.com)
실습을 진행하기 앞서 우분투 환경에 프로메테우스와 그라파나가 설치되어 있어야 하기 때문에 설치가 되어 있지 않으시다면 위 링크에서 이전 포스팅을 보고 설치해 주세요.
1. Prometheus와 Grafana 연동하기
1. 프로메테우스/그라파나 상태 확인하기
systemctl start grafana-server
systemctl status grafana-server
# 브라우저에서 IP:3000으로 접속합니다.
systemctl start prometheus
systemctl status prometheus
# 브라우저에서 IP:9090으로 접속합니다.
브라우저에서 Grafana GUI 웹에 접속하는데 저의 경우 [192.168.135.128:3000] [192.168.135.128:9090] 입니다.
Local 환경이라면 [localhost:3000] [localhost:9090]으로 접속합니다.
2. Grafana Data Sources 설정하기
Grafana Home에서 좌측 하단에 있는 [Configuration] - [Data sources]를 선택합니다.
저는 InfluxDB가 이미 연동되어 있기 때문에 이렇게 화면이 구성되어 있습니다.
만약 처음 설치하신다면 다음과 같은 화면일 텐데 화면에 보이는 [Prometheus]를 선택합니다.
sudo vi /etc/prometheus/prometheus.yml
-targets: ['내 IP:9090']
# 저장하고 나가기
:wq
sudo systemctl restart prometheus
프로메테우스 설정 파일을 편집기로 열어서 targets 부분을 내 IP에 맞게 끔 수정하고 저장하고 나갑니다. 그 후 Prometheus를 다시 실행합니다.
다시 그라파나로 돌아와서 [URL]에 Prometheus URL 주소를 입력합니다. 아래로 쭉 내려와서 [Save & test] 버튼을 눌러 데이터 소스가 정상적으로 동작하는지 확인합니다.
3. 대시보드 구성하기
대시보드를 구성하기 위해서는 좌측 메뉴에서 [Dashboards] - [New dashboard]를 선택합니다.
[Add a new panel]을 눌러 새로운 패널을 추가합니다.
화면에 보이는 것처럼 [Data source] - [Metric] - [Label filters] - [Run queries] - [Title] - [Apply] 순서로 설정합니다.
이렇게 [prometheus_http_requests_total]에 대해 모니터링하는 패널을 생성했습니다.
[prometheus_http_handler_request_total]에 대해 같은 방법으로 패널을 추가했습니다.
4. Grafana 대시보드 실시간 그래프 확인하기
sudo vi prometheus.yml
global:
scrape_interval: 15s
:wq
prometheus.yml 파일에서 global 속성의 scrape_interval을 15s로 설정하면 프로메테우스가 해당 targets에 대해 15초마다 메트릭을 수집하게 됩니다.
프로메테우스 GUI에서 확인하면 15s 간격으로 메트릭을 수집하고 있는 것을 확인할 수 있습니다.
분명 정상적으로 메트릭을 수집하고 있는데 Grafana에서는 그래프가 멈춰 있을 수도 있습니다.
그래프가 실시간으로 바뀌지 않을 때는 대시보드 메뉴 상단에 [Refresh]가 있습니다. 그래프를 Refresh 하고 싶은 시간에 맞게 설정하면 그래프가 실시간으로 바뀌는 것을 확인할 수 있습니다.
5. Grafana 제공 대시보드 만들기
그라파나는 기본적으로 제공하는 Dashboards가 있는데 위 링크에서 확인해 볼 수 있습니다.
위 링크에 접속해서 Prometheus를 검색한 후 적당한 대시보드를 골라줍니다. 저는 적당히 Prometheus 2.0 Overview를 선택했습니다. [Copy ID to clipboard]를 눌러 ID를 클립보드에 저장합니다.
Grafana로 돌아와서 [Dashboards] - [Import]를 눌러줍니다.
방금 전에 복사해 뒀던 ID를 붙여 넣은 후 [Load] 버튼을 눌러줍니다.
Grafana로 대시보드 Import를 할 때 Prometheus와 정말 쉽게 연동할 수 있습니다.
6. 생성한 대시보드 확인하기
그러면 이렇게 간단하게 Prometheus 2.0 Overview 대시보드를 생성할 수 있습니다.
이번 시간에는 Ubuntu 22.04 LTS 환경에서 Prometheus와 Grafana를 연동하는 실습을 진행했습니다.
Prometheus와 Grafana 스택은 클라우드 및 컨테이너, 온프레미스 환경에서 많이 쓰는 모니터링 오픈 소스입니다.
기능에 대해 더 알아보고 쿠버네티스 환경에서 어떻게 모니터링할 수 있는지 포스팅하겠습니다.
감사합니다.
'OSS' 카테고리의 다른 글
[OSS] Prometheus에 대해 알아보고 여러 방법으로 Ubuntu 22.04 LTS에 설치하기 (3) | 2023.04.13 |
---|---|
[OSS] InfluxDB 2.0과 Grafana를 연동하여 TIG(Telegraf, InfluxDB, Grafana) 환경 구성하기 (0) | 2023.04.12 |
[OSS] Grafana에 대해 알아보고 Ubuntu 22.04 LTS에 설치하기 / Grafana 초기 아이디, 비밀번호 (0) | 2023.04.12 |
[OSS] Telegraf와 InfluxDB 2.0 연동 실습하고 InfluxDB 기능 알아보기 (0) | 2023.04.11 |
[OSS] InfluxDB에 대해 알아보고 Ubuntu 22.04 LTS에 설치하기(InfluxDB 2.0 최신) (0) | 2023.04.10 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!