Мониторинг SNMP устройств (агент мониторинга)

Мониторинг SNMP устройств (агент мониторинга)#

Примечание

Для корректного отображения устройств на дашборде в grafana следует использовать значение тега component как IP-адрес или имя устройства, мониторинг которого проводится с помощью snmp-exporter.

SNMP поллинг#

Для SNMP мониторинга удаленных устройств применяется snmp-exporter.

Для генерации конфигурационного файла используется специальная утилита generator.

В архив с snmp-exporter добавлен каталог стандартных MIB файлов, для генерации конфигов.

Эта утилита обрабатывает необходимые MIB и превращает их в список OID цепочек и названий метрик.

snmp-exporter опрашивает удаленные устройства на основе этих данных и выводит метрики в формате prometheus для дальнейшего анализа другими системами.

Запуск snmp-exporter с помощью агента мониторинга#

Для корректного запуска экспортера необходимо выполнить следующие настройки:

  1. В конфигурационном файле агента в разделе exporters указать имя запускаемого экспортера и параметр is_custom:

exporters:
  - name: snmp_exporter
    is_custom: true
    args: "--config.file=/opt/astramon-agent/exporters/config/snmp.yml"
    health_address: 127.0.0.1:9116/metrics

Имя в поле name должно совпадать с названием бинарного файла с применением дополнительных условий именования сторонних экспортеров (пример: astramon-snmp_exporter-custom).

Параметр is_custom говорит агенту, что это сторонний экспортер, но агент может управлять им (запускать, делать health check, останавливать и сообщать статус работы экспортера в Config API). Также это дает понять агенту не использовать другую функциональность, что доступна экспортерам, специально разработанным для ПМ.

Параметр args сообщает экспортеру параметры запуска, в них указывается путь к файлу конфигурации экспортера.

  1. Выполнить настройку в разделе metrics:

custom_targets:
  - name: snmp_exporter1
    component: 10.177.248.228
    target: 127.0.0.1:9116
    metrics_path: /snmp?module=apcups&target=10.177.248.228
  - name: snmp_exporter2
    component: 10.177.248.234
    target: 127.0.0.1:9116
    metrics_path: /snmp?module=linux&target=10.177.248.234

Имя в поле name должно быть уникальным (особенности работы vmagent). В приведенном примере будут собираться данные с двух таргетов.

Параметр component необходим для добавления лейбла компонент, чтобы можно было различать метрики для разных удаленных устройств.

target описывает адрес и порт, с которого будут считываться метрики.

metrics_path позволяет обратиться к конкретному эндпоинту, для получения метрик. По умолчанию /metrics, но в данном случае этот эндпоинт выводит метрики для разных удаленных устройств. Если необходимо можно создать еще одну запись и собирать непосредственно метрики из /metrics.