본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Blackbox prober for Prometheus

0

Blackbox Exporter는 프로메테우스(Prometheus) 생태계의 일부로, 외부 엔드포인트의 상태를 검사하기 위한 오픈소스 소프트웨어입니다.

HTTP 검사네트워크 검사메트릭모니터링블랙박스 익스포터오픈소스프로메테우스

소개

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)을 보유해야 합니다.