소개
Blackbox Exporter는 프로메테우스(Prometheus) 생태계의 일부로, 외부 엔드포인트의 상태를 검사하기 위한 오픈소스 소프트웨어입니다. HTTP, HTTPS, DNS, TCP, ICMP, gRPC와 같은 다양한 프로토콜을 통해 대상 서비스의 응답성 및 가용성을 모니터링하고, 검사 결과를 메트릭으로 제공하여 시스템 안정성을 모니터링할 수 있도록 돕습니다.
상세정보
다양한 프로토콜 지원
HTTP/HTTPS, DNS, TCP 소켓, ICMP Ping, gRPC 등 주요 네트워크 프로토콜에 대한 검사를 지원합니다.
검사 결과 메트릭 제공
검사 성공 여부를 나타내는 probe_success와 응답 시간을 측정하는 probe_duration_seconds 등의 상세한 타이밍 메트릭을 제공합니다.
유연한 설정 및 자동 재로딩
설정 파일을 통해 검사 모듈을 정의할 수 있으며, 런타임에 설정을 변경할 수 있습니다. SIGHUP 시그널이나 HTTP POST 요청, 또는 자동 재로딩 기능(config.enable-auto-reload)을 통해 설정을 적용할 수 있습니다.
다운로드 및 설치 방법
공식 GitHub 릴리스 페이지에서 운영 체제에 맞는 바이너리 파일을 다운로드하여 사용할 수 있습니다. Windows 환경에서는 Chocolatey 패키지 매니저를 통해 설치할 수 있습니다.
도커(Docker) 이미지 사용
Docker를 사용하는 경우 공식 이미지를 통해 실행할 수 있습니다. 설정 파일 경로를 마운팅하여 컨테이너를 실행합니다.
docker run --rm -p 9115/tcp --name blackbox_exporter -v $(pwd):/config quay.io/prometheus/blackbox-exporter:latest --config.file=/config/blackbox.yml
기본 사용법
설정 파일을 지정하여 바이너리를 실행합니다. 실행 후 기본적으로 9115 포트에서 대기합니다.
./blackbox_exporter --config.file ./blackbox.yml
실행 중인 exporters에게 특정 대상의 검사를 요청하여 결과를 확인할 수 있습니다.
검사 결과 확인
웹 브라우저나 curl을 통해 엔드포인트에 접속하여 특정 모듈로 대상을 검사한 결과를 메트릭으로 확인할 수 있습니다. 예를 들어, google.com에 대한 HTTP 검사를 수행하고 디버그 모드를 활성화하여 상세한 결과를 출력할 수 있습니다.
이런 경우에 유용합니다
웹 서버의 가용성과 응답 속도를 외부에서 지속적으로 모니터링해야 할 때, DNS 해석이 올바르게 이루어지는지 확인할 때, 또는 TCP 연결이 정상적인지 점검할 때 유용합니다.
지원 환경·시스템 요구사항
Windows, Linux, BSD, macOS 등 다양한 운영체제에서 지원됩니다. Linux 환경에서 ICMP 검사를 수행하려면 특별한 권한 설정이 필요할 수 있습니다.
제한 사항·확인 사항
- Windows에서 ICMP 검사를 수행하기 위해서는 관리자 권한이 필요합니다.
- 설정 파일의 형식이 올바르지 않을 경우, 자동 재로딩 시 변경 사항이 적용되지 않습니다.
시스템 요구사항
Windows에서 ICMP 프로비저닝을 위해 관리자 권한이 필요합니다. UNIX 소켓 검사의 경우, 프로세스 소유자가 소켓에 대한 쓰기 권한(w)과 디렉토리 실행 권한(x)을 보유해야 합니다.


