Docker+Prometheus+Grafana+Node Exporter 설치 및 연동
설치환경
OS : Ubuntu 22.04
서버 2대로 테스트
1. Docker+Prometheus+Grafana 서버 1대 >> 모니터링 마스터 서버(192.168.43.35)
2. Docker+Node Exporter >> 모니터링 에이전트 서버(192.168.43.33)
설치 연동 절차는 아래와 같다
초록색 : 명령어 입력
파랑색 : 설정 입력(Vi,Nano등)
빨강색 : 주석
ㅁ Master 서버에서 Docker+Prometheus 설치
1. Docker 설치
Master $ sudo apt-get update
Master $ sudo apt install docker.io
Master $ docker -v
2. 프로메테우스 설정
Master $ sudo vi /etc/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
3. 프로메테우스 실행
sudo docker run -d \
-p 9090:9090 \
-v /etc/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
4. 접속 테스트
Master $ docker ps -a
http://192.168.43.35:9090
ㅁ Agent 서버에서 Docker+Node Exporter 설치
1. Docker 설치
Agent $ sudo apt-get update
Agent $ sudo apt install docker.io
Agent $ docker -v
2. Node Exporter 설치
Agent $ sudo docker pull prom/node-exporter
3. Node Exporter 실행
Agent $ sudo docker run -d \
-p 9100:9100 \
prom/node-exporter
4. 접속 테스트
Agent $ docker ps -a
http://192.168.43.33:9100
ㅁ Prometheus <> Node Exporter 연동
1. Master 서버에서 Prometheus 설정 파일 수정
Master $ sudo vi /etc/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['192.168.43.33:9100'] //Agent 서버의 Metric 접근 정보를 입력
2. Master 서버에서 Promethus 재실행
$ sudo docker container restart 컨테이너 이름
3. Prometheus에서 데이터 수집이 정상적으로 되는지 확인하기
>> 아래 그림과 같이 CPU 관련된 쿼리 실행후 그래프로 정상적으로 표현되는지 확인하기
>> 또는 아래 그림과 같이 Target에 정상적으로 UP이 되었는지 확인
ㅁ Mastar 서버에 Grafana 설치 및 Prometheus 연동
1. Master 서버에 Grafana 설치
Master $ sudo docker run -d -p 3000:3000 grafana/grafana
Master $ docker ps -a
2. 접속테스트
http://192.168.43.35:3000/
ID/PW : admin / admin
3. Grafana와 Prometheus 연동
Data source 추가 클릭
4. Prometheus 선택후
5. 관련 정보 입력후 Save
6. Dashboard 추가
https://grafana.com/grafana/dashboards/1860-node-exporter-full/
Node Exporter Full | Grafana Labs
Thank you! Your message has been received!
grafana.com
접속후 JSON 파일 다운로드후 대쉬보드 만들어보자
"Dashboards > New > Import" 다운로드 받은 JSON 파일을 업로드
그럼 아래와 같이 Agent가 설치된 시스템의 성능과 관련된 DashBoard를 볼수 있다.