Docker Postgresql + exporter 실행
version: '3'
services:
postgres:
image: postgres:latest
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: {postgres db 비밀번호}
volumes:
- {postgresql 데이터 저장할 host 주소}:/var/lib/postgresql/data
postgres_exporter:
image: wrouesnel/postgres_exporter:v0.5.1
ports:
- "9187:9187"
command: ["--extend.query-path=/etc/queries.yaml", "--web.listen-address=0.0.0.0:9187"]
depends_on:
- postgres
docker compose 파일을 실행 시킨다.
postgres-exporter는 9187 포트 사용
localhost:9187/metrics 접속하게 되면

위와같이 매트릭 정보가 나올것이다.
프로메테우스 yml에 설정
global:
scrape_interval: 1s # 10초마다 매트릭을 수집 default 1분
evaluation_interval: 1m # 1분마다 규칙을 평가 default 1분
external_labels: # 외부 시스템에 표시할 이 서버의 레이블
monitor: 'localhost'
rule_files: # 규칙을 로딩하고 evaluation_interval 설정에 따라 정기적으로 평가한다.
# - "first.rules"
# - "second.rules"
scrape_configs:
...
# Postgresql Exporter metrics (exporter 연동)
- job_name: "postgres"
static_configs:
- targets: ["host.docker.internal:9187"]
prometheus.yml에 postgresql-exporter를 등록한다.
그리고 prometheus 접속해서

위와같이 state가 up상태이면 된다.
그라파나 데이터소스 등록

왼쪽 메뉴 Home > Connections > Data sources 클릭

Add new data source 클릭

필자는 prometheus 포트가 9090이어서 위와 같이 설정했다.
그리고 host.docker.internal 를 붙인건 prometheus가 docker 환경에서 실행중이기 때문이다.
만일 프로메테우스 및 그라파나가 설치 안되어있다면 https://hwanguu.tistory.com/54 이 글을 보자.

Save & test 를 클릭하면 위와같이 성공할 것이다.
대쉬보드 만들기

왼쪽 메뉴중 Dashboards 클릭

New > New dashboard 버튼 클릭

Import bashboard 클릭
필자는 https://grafana.com/grafana/dashboards/9628-postgresql-database/ 해당 템플릿을 사용할 것이다.
더 많은 템플릿은 https://grafana.com/grafana/dashboards/ 여기서 볼 수 있다.

9628 입력후 Load 클릭하게되면

생성이 완료된다.
'Docker' 카테고리의 다른 글
| Docker Compose 로 Kafka Cluster 구축하기 (0) | 2024.05.15 |
|---|---|
| VueJs Docker를 이용해서 node 20.12.2 버전 빌드하기(with jenkins,ssh) (0) | 2024.05.07 |
| Springboot와 Prometheus, Grafana Docker Compose로 연동하기 (0) | 2024.03.31 |
| Docker 명령어 (0) | 2024.02.09 |
| nGrinder 성능 테스트 툴 (0) | 2024.01.25 |