Мониторинг SNMP устройств (агент мониторинга)#
Примечание
Для корректного отображения устройств на дашборде в grafana
следует использовать значение тега component
как IP-адрес или имя устройства, мониторинг которого проводится с помощью snmp-exporter
.
SNMP поллинг#
Для SNMP мониторинга удаленных устройств применяется snmp-exporter
.
Для генерации конфигурационного файла используется специальная утилита generator
.
В архив с snmp-exporter
добавлен каталог стандартных MIB файлов, для генерации конфигов.
Эта утилита обрабатывает необходимые MIB и превращает их в список OID цепочек и названий метрик.
snmp-exporter
опрашивает удаленные устройства на основе этих данных и выводит метрики в формате prometheus для дальнейшего анализа другими системами.
Запуск snmp-exporter с помощью агента мониторинга#
Для корректного запуска экспортера необходимо выполнить следующие настройки:
В конфигурационном файле агента в разделе
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
сообщает экспортеру параметры запуска, в них указывается путь к файлу конфигурации экспортера.
Выполнить настройку в разделе
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
.