Monitoring/Prometheus-Grafana
[Prometheus - Grafana] - 11 BlackBox-exporter URL모니터링 실습
돌문어우엉
2025. 4. 19. 15:41
Blackbox-exporter란?
Blackbox Exporter는 Prometheus에서 외부 시스템의 가용성과 응답성을 테스트(Probe) 하기 위한 오픈소스 Exporter입니다. 즉, 내부 메트릭을 보는 게 아니라, 외부에서 시스템을 ‘블랙박스’처럼 테스트해서 "잘 응답하는가?"를 확인하는 용도입니다.
내부 상태(CPU, 메모리 등)를 수집하는 Exporter들과 달리,
Blackbox Exporter는 HTTP, TCP, ICMP(Ping), DNS 요청을 외부에서 직접 보내보고 반응을 측정합니다.
Blackbox-exporter 설치
1)설정 파일 생성(Blackbox.yml)
modules:
http_2xx:
prober: http
timeout: 5s
http:
valid_http_versions: [ "HTTP/1.1", "HTTP/2" ]
valid_status_codes: [] # 모든 2xx 응답 허용
method: GET
fail_if_ssl: false
fail_if_not_ssl: false
preferred_ip_protocol: "ip4"
파일을 생성하여 다양한 URL을 모니터링할 수 있는 프로브를 설정합니다.
2)docker-compose 파일 생성
volumes의 blackbox.yml 실제 경로를 유의하여 생성합니다.
version: '3.8'
services:
blackbox-exporter:
image: prom/blackbox-exporter:latest
container_name: blackbox-exporter
ports:
- "9115:9115"
volumes:
- ./blackbox.yml:/config/blackbox.yml
command:
- '--config.file=/config/blackbox.yml'
restart: always
위와같이 생성하여 docker-compose up -d 을 통해 실행합니다.
Prometheus 연동
blackbox exporter는 다른 exporter와 다르게 prometheus 설정에 다른 양식을 가지고 있습니다.
또한 모니터링할 URL을 prometheus job에 직접 입력한다는 점이 있습니다.
scrape_configs:
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- <http://example.com>
- <https://mywebsite.com>
- <https://another-site.org>
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox-exporter:9115
Grafana 대시보드 시각화
먼저 그라파나에서 data source를 등록합니다.(이미 등록하였다면 상관X)
등록방법은 prometheus-grafana 연동 글을 참고해 주세요.
소스를 등록하였다면, 대시보드를 import합니다. 대시보드 ID는 다음과 같습니다.
ID 13659
완료된 화면