blackbox_exporter

Тема дорожной карты · Prometheus

blackbox_exporter — экспортёр Prometheus, который зондирует внешние эндпоинты по протоколам HTTP, HTTPS, TCP, ICMP и DNS и предоставляет результаты в виде метрик Prometheus. В отличие от экспортёров уровня приложений, инструментирующих внутреннее состояние, blackbox exporter выполняет внешние активные проверки — например, верифицирует, что веб-страница возвращает HTTP 200, измеряет время истечения SSL-сертификата или тестирует задержку DNS-разрешения. Зонды настраиваются в конфигурационном файле blackbox_exporter с помощью модулей, а Prometheus опрашивает эндпоинт /probe экспортёра с параметрами запроса, задающими URL цели и название модуля. Типичные сценарии использования blackbox exporter включают мониторинг доступности эндпоинтов, отслеживание задержки и оповещение об истечении срока действия сертификатов. Blackbox exporter — незаменимый инструмент синтетического мониторинга в стеке наблюдаемости на основе Prometheus.

Как это работает

blackbox_exporter — процессы, экспонирующие метрики системы в формате Prometheus. Распространённые: node_exporter (host-метрики — CPU, RAM, диск, сеть), blackbox_exporter (HTTP/TCP/ICMP probe снаружи), postgres_exporter, mysqld_exporter, redis_exporter, nginx_exporter, kube-state-metrics (объекты k8s API), cadvisor (метрики контейнеров). Для своих приложений — Prometheus client library (prometheus_client для Python, prom-client для Node и т.д.) — экспозиция своих /metrics.

Когда применять

node_exporter — на каждый хост (CPU, RAM, disk-метрики). Специфический exporter — на каждую зависимость (БД, кеш, очередь). Для app-метрик инструментируйте client-библиотекой — кастомные бизнес-метрики намного ценнее инфры. kube-state-metrics + node_exporter — k8s-baseline.

Типичные ошибки

Ловушки blackbox_exporter: запущен exporter для X (например node_exporter), но не скрейпится (данные экспонированы, никогда не собираются); экспозиция exporter-портов публично (DoS + info leak); кастомный exporter с auth — Prometheus не может скрейпить (используйте bearer_token + tls config); слишком много exporters на одном хосте (overhead).

Связанные понятия

Полезные ресурсы