2 SNMP агент

Обзор

Вы можете захотеть использовать мониторинг устройств по SNMP таких как принтеры, сетевые свитчи, роутеры или ИБП, как правило, с поддержкой SNMP и для которых было бы непрактично пытаться настраивать комплексные системы управления или Zabbix агенты.

Чтобы была возможность получать данные переданные SNMP агентами с этих устройств, Zabbix сервер должен быть изначально сконфигурирован с поддержкой SNMP.

Проверки через SNMP выполняются только через UDP протокол.

Если мониторите устройства по SNMPv3, убедитесь что msgAuthoritativeEngineID (также известное как snmpEngineID или "Engine ID") никогда не будет общим для двух устройств. Оно должно быть уникальным для каждого устройства.

В настоящее время поддерживаются протоколы MD5 и DES для privacy и аутентификации по SNMPv3.

Настройка мониторинга по SNMP

Для начала мониторинга устройства через SNMP, должны быть выполнены следующие шаги:

Шаг 1

Создайте узел сети для устройства с SNMP интерфейсом.

Введите IP адрес. Установите состояние узла сети в БЕЗ НАБЛЮДЕНИЯ. Вы можете использовать один из поставляемых шаблонов SNMP (Template SNMP Device и другие) которые автоматически добавят некоторый набор элементов данных. Тем не менее, шаблон может быть не совместим с узлом сети.

SNMP проверки не используют Порт агента, он игнорируется.

Шаг 2

Узнайте строку SNMP (или OID) элемента данных, который вы хотите мониторить.

Для получения списка строк SNMP, используйте команду snmpwalk (часть программного обеспечения ucd-snmp/net-snmp, которое вы должны были установить как часть установки Zabbix) или эквивалентную утилиту:

shell> snmpwalk -v 2c -c public <IP хоста> .

'2c' здесь означает версию SNMP, вы также можете заменить его на '1', чтобы указать 1 версию SNMP на устройстве.

Эта команда должна показать вам список SNMP строк и их последние значения. Если это не произойдет, то возможно что SNMP 'community' отличается от стандартного 'public', в этом случае вам необходим узнать это имя.

Вы можете пройтись по списку пока не найдете строку которую вы хотите мониторить, например, если вы хотите мониторить входящее количество байт на вашем свитче на 3 порту вы могли бы использовать IF-MIB::ifInOctets.3 из этой строки:

IF-MIB::ifInOctets.3 = Counter32: 3409739121

Сейчас вы можете воспользоваться командой snmpget для того чтобы определить цифровой OID для 'IF-MIB::ifInOctets.3':

shell> snmpget -v 2c -c public -On 10.62.1.22 IF-MIB::ifInOctets.3

Обратите внимание, что последнее число в строке это номер порта, который вы ищите для мониторинга. Смотрите также: Динамические индексы.

Вывод команды покажет вам что-то наподобие этого:

.1.3.6.1.2.1.2.2.1.10.3 = Counter32: 3472126941

Опять же, последнее число в OID является номером порта.

3COM кажется использует номера портов сотнями, например 1 порт = 101 порт, 3 порт = 103 порт, но в Cisco используются обычные номера, например, 3 порт = 3.

Некоторые из наиболее часто используемых SNMP OID'ов автоматически конвертируются Zabbix'ом в числовое представление.

Шаг 3

Создайте элемент данных для мониторинга.

Итак, вернитесь назад в Zabbix и кликните на Элементы данных, выберите созданный ранее узел сети SNMPS. В зависимости от того использовали ли вы шаблон при создании узла сети или нет, вы должны будете увидеть список элементов данных SNMP, связанных с вашим узлом сети или попросту окно нового элемента данных. Мы будем исходить из предположения, что вы собираетесь создать элемент данных самостоятельно, с помощью информации, которую вы только-что собрали используя snmpwalk или snmpget, так что введите простое описание на русском в поле 'Описание' в форме нового элемента данных. Убедитесь, что в поле 'Узел сети' находится ваш свитч/роутер и измените поле 'Тип' в значение "SNMPv* агент". Введите community (обычно public) и укажите текстовый или числовой OID, который вы получили ранее, в поле 'SNMP OID', например: .1.3.6.1.2.1.2.2.1.10.3

Введите 'Порт SNMP' равным 161 и 'Ключ' чем то осмысленным, например, SNMP-InOctets-Bps. Выберите Множитель, если захотите и укажите 'интервал обновления' и 'хранение истории', если вы хотите чтобы значение отличалось от умолчания. Установите 'Состояние' в Наблюдается, 'Тип информации' в значение равное Числовой (с плавающей точкой) и 'Хранение значения' как ДЕЛЬТА (важно, в противном случае вы будете получать суммарные значения с SNMP устройства вместо последнего изменения).

Теперь сохраните элемент данных и вернитесь в область узлов сети Zabbix. От сюда измените состояние SNMP устройства в 'Наблюдается' и проверьте в Последних данных ваши данные SNMP!

Пример 1

Общий пример:

Параметр Описание
Community public
OID 1.2.3.45.6.7.8.0 (или .1.2.3.45.6.7.8.0)
Ключ <Уникальная строка, которая используется как ссылка в триггерах>
Например, "my_param".

Обратите внимание, что OID можно задать в числовом или строковом представлении. Тем не менее, в некоторых случаях, строковый OID должен быть сконвертирован в числовое представление. Для этого можно использовать утилиту snmpget:

shell> snmpget -On localhost public enterprises.ucdavis.memory.memTotalSwap.0

Мониторинг SNMP параметров возможен, если один из --with-net-snmp или --with-ucd-snmp флагов был указан в процессе конфигурирования исходных кодов Zabbix.

Пример 2

Мониторинг времени работы:

Параметр Описание
Community public
Oid MIB::sysUpTime.0
Ключ router.uptime
Тип информации Числовой (с плавающей точкой)
Единица измерения uptime
Множитель 0.01