ICMP мониторинг с помощью Prometheus и Blackbox Exporter Linux

prometheus_logo
prometheus_logo

Данная статья предполагает что у вас уже есть развернутый 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
/etc/systemd/system/blackbox_exporter.service

Перечитываем сервисы, запускаем и помечаем для автозапуска:

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.yaml

Перезапускаем prometheus и проверяем:

Ну и графане так же можно посмотреть на результат, и при необходимости добавить на нужный дашборд:

Полезные материалы по теме:

2 уведомления

  1. Мониторинг Postgres с помощью Prometheus+Grafana - Sysadmin talks
  2. Мониторинг Kubernetes кластера снаружи с помощью Prometheus - Sysadmin talks

Отправить ответ

Ваш e-mail не будет опубликован.


*