Данная статья предполагает что у вас уже есть развернутый Prometheus и вы на базовом уровне знаете как им пользоваться.
ICMP — сетевой протокол из стека протоколов tcp/ip. В основном используется как средство проверки доступности сетевого узла. Иными словами чаще всего именно icmp пакеты используют при проверке с помощью ping.
Мониторинг доступности хоста с помощью ICMP — вероятно самое распространённое решение в индустрии.
В данном случае рассмотрю как настроить ICMP мониторинг удаленного хоста с помощью Prometheus и экспортера BlackBox. В примере используется система с Ubuntu 22.04 на борту с архитектурой amd64.
Для начала находим самый свежий релиз Blackbox_exporter в репозитории по ссылке https://github.com/prometheus/blackbox_exporter/releases и копируем ссылку для скачивания.
И качаем нужный дистрибутив на машину. Выполняем:
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.23.0/blackbox_exporter-0.23.0.linux-amd64.tar.gz
Распаковываем полученный архив:
tar xf blackbox_exporter-0.23.0.linux-amd64.tar.gz
Перемещаем исполняемый файл в /usr/local/bin/
и конфиг в /etc
mv blackbox_exporter-0.23.0.linux-amd64/blackbox_exporter /usr/local/bin/
mv blackbox_exporter-0.23.0.linux-amd64/blackbox.yml /etc/
Cоздаем сценарий запуска сервиса blackbox exporter как службы
Для этого создаем /etc/systemd/system/blackbox_exporter.service
и наполняем:
[Unit]
Description=blackbox_exporter
After=network.target
[Service]
ExecStart=/usr/local/bin/blackbox_exporter --config.file=/etc/blackbox.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
Перечитываем сервисы, запускаем и помечаем для автозапуска:
systemctl daemon-reload
systemctl start blackbox_exporter.service
systemctl enable blackbox_exporter.service
Добавляем правило в конфигурацию prometheus:
- job_name: "ICMP"
scrape_interval: 5s
metrics_path: /probe
params:
module: [icmp] #ping
static_configs:
- labels:
name: internal
targets:
- 'IP-REMOTE-SRV'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: IP-BLACKBOX:9115
Перезапускаем prometheus и проверяем:
Ну и графане так же можно посмотреть на результат, и при необходимости добавить на нужный дашборд:
Полезные материалы по теме:
- Мониторинг Postgres с помощью Prometheus+Grafana
- Мониторинг Kubernetes кластера снаружи с помощью Prometheus
Отправить ответ