blackbox_exporter
Репозиторий: blackbox_exporter
Документация: Доступна в репозитории (по использованию экспортера и настройке проверок)
Многофункциональный экспортер для мониторинга внешних ресурсов. Поддерживает мультитаргет-мониторинг и может быть запущен как процесс или как сервис.
Описание работы
blackbox_exporter выполняет активные проверки различных сетевых сервисов и предоставляет их метрики.
Важно
Это не просто экспортер, а инструмент для активного мультитаргет-мониторинга, который может проверять множество целей с единой конфигурацией.
Он содержит
Эндпойнт /metrics
со стандартными метриками (go, proc, promhttp)
Возможности мониторинга:
HTTP/HTTPS проверки:
Доступность веб-серверов
Проверка SSL/TLS сертификатов
Валидация содержимого (regex)
Замер времени ответа
TCP проверки:
Доступность портов
Проверка ответов на TCP-запросы
Поддержка STARTTLS
ICMP проверки:
Ping-доступность хостов
Замер потери пакетов
Время отклика
DNS проверки:
Проверка DNS-записей
Валидация ответов
Проверка времени разрешения
gRPC проверки (экспериментальная поддержка)
Запуск экспортёра
Возможна настройка Ui и через конфигурационный файл агента.
Через конфигурационный файл агента
Запуск экспортёра:
exporters:
- name: blackbox_exporter
start_type: args
args: "--config.file=configs/blackbox_exporter.yml --web.listen-address=0.0.0.0:9115"
address: 127.0.0.1:9115
labels:
component: blackbox_monitoring
hostname: my-hostname-vm
exporters - секция в которой описывается запуск экспортёров
name - должно совпадать с именем бинарного файла (в данном случае blackbox_exporter)
start_type - тип запуска экспортёра
args - аргументы командной строки передающиеся экспортёру
address - адрес для опроса экспортёра агентом
labels - дополнительные лейблы которые будут добавлены к метрикам экспортёра
component - пример дополнительного лейбла
hostname - рекомендованый лейбл, по умолчанию hostname агента
Опрос таргетов через экспортёр:
custom_targets:
- name: ping_target1
target: 127.0.0.1:9116
scrape_interval: 60s
metrics_path: /probe?target=my-hostname-vm&module=icmp
labels:
component: icmp
hostname: my-hostname-vm
- name: http_target1
target: 127.0.0.1:9116
scrape_interval: 60s
metrics_path: /probe?target=https://my-hostname-vm&module=http_2xx
labels:
component: http
hostname: my-hostname-vm
custom_targets - секция в которой описывается опрос внешних таргетов
name - уникальное имя для опроса
target - адрес экспортёра для опроса
scrape_interval - интервал опроса таргетов
metrics_path - путь в командной строке через который производится опрос таргета
labels - дополнительные лейблы которые будут добавлены к метрикам экспортёра
component - пример дополнительного лейбла
hostname - рекомендованый лейбл, по умолчанию hostname агента
Конфигурационный файл экспортера
Пример конфигурации:
Проверка работы
После запуска проверки выполняются по запросу:
http://localhost:9115/probe?target=my-hostname-vm&module=icmp
http://localhost:9115/probe?target=https://my-hostname-vm&module=http_2xx
Метрики экспортёра доступны по адресу:
Примечание
Замените localhost на IP-адрес хоста с конфигурируемым агентом.