Мониторинг Eltex ESR-200 с помощью SNMP v3
В прошлой статье мы рассмотрели мониторинг ESR-200 c помощью протокола SNMP v2
Сегодня мы подключим сервер Zabbix к нашему маршрутизатору для получения информации о входящем трафике.
Подключаться мы будем по более безопасному протоколу SNMP v3, который поддерживает авторизацию и шифрование.
Настройка маршрутизатора
Для начала нам необходимо включить SNMP v3 на нашем устройстве.
Войдем на маршрутизатор по протоколу SSH или через консоль, как вам удобнее.
Из режима config введем команды:
object-group network ZABBIX_SERVER
description "Access to SNMP with Read Only"
ip address-range 192.168.0.4
exit
snmp-server
snmp-server user mysnmpuser
access ro
authentication algorithm sha1
authentication access priv
authentication key ascii-text AussPassKey
privacy algorithm aes128
privacy key ascii-text PrivPasssKey
enable
exitТак же нужно разрешить входящие соединения к самому маршрутизатору с IP-адреса сервера Zabbix:
object-group service SNMP
description "SNMP"
port-range 161
exit
security zone-pair LAN self
rule 100
description "SNMP access"
action permit
match protocol udp
match source-address ZABBIX_SERVER
match destination-port SNMP
enable
exitПроверка подключения к устройству
Проверим настройку SNMP, для этого на сервере Zabbix запустим:
snmpwalk -v 3 -u mysnmpuser -l authPriv -A AussPassKey -a sha -x aes -X PrivPasssKey 192.168.0.254 .1.3.6.1.2.1.2.2.1.2Если вы всё сделали правильно, будет выведен список с описанием интерфейсов маршрутизатора:
iso.3.6.1.2.1.2.2.1.2.1 = STRING: "gigabitethernet 1/0/1"
iso.3.6.1.2.1.2.2.1.2.2 = STRING: "gigabitethernet 1/0/2"
iso.3.6.1.2.1.2.2.1.2.3 = STRING: "gigabitethernet 1/0/3"
iso.3.6.1.2.1.2.2.1.2.4 = STRING: "gigabitethernet 1/0/4"
iso.3.6.1.2.1.2.2.1.2.5 = STRING: "gigabitethernet 1/0/5"
iso.3.6.1.2.1.2.2.1.2.6 = STRING: "gigabitethernet 1/0/6"
iso.3.6.1.2.1.2.2.1.2.7 = STRING: "gigabitethernet 1/0/7"
iso.3.6.1.2.1.2.2.1.2.8 = STRING: "gigabitethernet 1/0/8"Если вы ошиблись в паролях или имени пользователя, будет выведено сообщение:
snmpwalk: Unknown user nameДобавляем SNMP-интерфейс для ESR-200 в Zabbix
Далее я подразумеваю, что вы уже добавили хост маршрутизатора в Zabbix.
Откроем раздел Configuration -> Hosts найдем наш маршрутизатор и откроем его свойства.
Ниже раздела Interfaces выберем SNMP и развернем его свойства:
![]()
В поле SNMP введем адрес маршрутизатора.
Выберем SNMPv3
Заполним поля:
Security name – mysnmpuser
Security level – AuthPriv
Authentication protocol – SHA1
Authentication passphras – AussPassKey
Privacy protocol – AES128
Privacy passphrase - PrivPasssKey
У нас получится:
![]()
Нажмем Update
Если все прошло удачно, в строчке с именем маршрутизатора загорится зеленая кнопка.
Обратите внимание, у меня на одном устройстве сразу произошло подключение, на другом зеленая кнопка появилась только после того как был добавлен первый элемент использующий SNMP!
При наведении курсора вы можете узнать подробности о подключении:
![]()
Создание шаблона для ESR-200
Создадим новый шаблон для нашего устройства
Откроем раздел Configuration -> Templates и нажмем на кнопку - Create template
Заполним:
Template name - Eltex ESR
Groups - Templates/Network devices
Description – введите какой-нибудь текст
Нажмем Add
Привязка шаблона к хосту маршрутизатора в Zabbix
После создания шаблона нужно привязать его к хосту, для того, чтобы Zabbix мог начать загружать данные с устройства по протоколу SNMP.
Откроем окно хоста нашего устройства. В поле Templates начнем вводить Eltex.
Выберем Eltex ESR из списка и нажмем Update.
![]()
Добавляем элементы мониторинга
Все данные в Zabbix хранятся в элементах (Items). Значения элементов как правило, хранятся в базе данных, но иногда могут вычисляться на основе данных других элементов или других источников данных.
Есть два способа добавления элементов – ручной и с помощью обнаружения.
Ручное добавление элементов к шаблону Zabbix
Откроем созданный шаблон и выберем пункт – Items и выберем пункт Create item
![]()
В новом окне заполним:
Name – HostName
Type – SNMP agent
Key - hostname_snmpv3
Type of information - Text
SNMP OID - .1.3.6.1.2.1.1.5.0
Update interval – 1d
Description – Имя устройства
Обратите внимание – поле Key должно быть уникальным для всех шаблонов и элементов других устройств. При использовании нескольких шаблонов с одинаковыми значениями поле Key вы будете получать ошибки вида:
cannot link template(s) "Mikrotik SNMP" to host "gw2": conflicting item key "icmpping" foundЗдесь мы ставим срок обновления 1 день, так как имя устройства меняется очень редко. Вы можете так же указать:
1h – 1 час
1m – 1 минуту
По аналогии можно указывать любое количество часов или минут
При создании рекомендую указывать 1m для отладки, когда шаблон будет закончен, можно поменять значения на большее.
Нажмем Add
В списке Items появится новый элемент:
![]()
Подождите минуту, в течении которых Zabbix получит новое значение для вновь созданного элемента.
Просмотр загруженных данных
Откроем Monitoring -> Latest data
Выберем в фильтре Hosts наш хост, чтобы отфильтровать ненужные нам данные:
![]()
Полученные с устройства данные отобразятся в списке
Аналогично вы можете добавить прочие параметры, например:
Описание устройства, с версией прошивки - .1.3.6.1.2.1.1.1.0
Время работы с последнего выключения - .1.3.6.1.2.1.1.3.0
Контактные данные системного администратора устройства - .1.3.6.1.2.1.1.4.0
Расположение устройства - .1.3.6.1.2.1.1.6.0
Позже я посвящу отдельную статью OID которые вы сможете использовать для мониторинга различных параметров ESR-200
Автоматическое добавление элементов к хосту
Мы с вами рассмотрели ручное добавление элементов, но что делать если нам нужно добавить сразу много однотипных элементов, например, все порты маршрутизатора? А если вместо маршрутизатора у нас коммутатор на 48 портов?
Для решения вопросов автоматизации добавления элементов в Zabbix существует раздел Discovery – LLD (Low Level Discovery).
С помощью предварительно заданных правил можно сразу получить список всех интерфейсов и создать для них соответствующие элементы и триггеры.
Откроем Configuration -> Templates выберем наш шаблон и кликнем на Discovery
Нажмем на кнопку Create discovery rule
![]()
Заполним форму:
Name - IF-MIB Interface
Type – SNMP Agent
Key - ifmib_snmpv3
SNMP OID
discovery[{#IFNAME},1.3.6.1.2.1.31.1.1.1.1, {#IFALIAS},1.3.6.1.2.1.31.1.1.1.18, {#IFDESCR},1.3.6.1.2.1.2.2.1.2, {#IFTYPE},1.3.6.1.2.1.2.2.1.3, {#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7, {#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8]Update interval – 1m
Позже можно поставить 1d – смысла в частом обнаружении нет, так как конфигурация маршрутизаторов меняется редко.
![]()
Нажмем Add
Будет добавлено новое правило обнаружения:
![]()
Добавление прототипов элементов
Само по себе правило обнаружения не добавит элементы интерфейса к нашему хосту, нам нужно, с помощью отдельных правил, объяснить Zabbix как создавать элементы.
Откроем окно с правилами обнаружений нашего шаблона и кликнем на ссылке Item prototypes
![]()
Нажмем на кнопку Create item prototype
Заполним форму:
Name - Входящий трафик на {#IFDESCR}
Type – SNMP agent
Key - if_in_nps_snmpv3_[{#IFDESCR}]
Type of information – Numeric (unsigned)
SNMP OID - .1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}
Units - bps
Update interval – 1m
Trend storage period – 90d
Остановимся на элементе SNMP OID подробнее:
Получим список всех элементов SNMP OID - .1.3.6.1.2.1.2.2.1.10, для этого на сервере Zabbix запустим:
snmpwalk -v 3 -u mysnmpuser -l authPriv -A AussPassKey -a sha -x aes -X PrivPasssKey 192.168.130.254 .1.3.6.1.2.1.2.2.1.10Результатом будут строки:
iso.3.6.1.2.1.2.2.1.10.1 = Counter32: 1269691597 iso.3.6.1.2.1.2.2.1.10.2 = Counter32: 378425469 iso.3.6.1.2.1.2.2.1.10.3 = Counter32: 3769128303 iso.3.6.1.2.1.2.2.1.10.4 = Counter32: 2603073728 iso.3.6.1.2.1.2.2.1.10.5 = Counter32: 3875527796 iso.3.6.1.2.1.2.2.1.10.6 = Counter32: 0 iso.3.6.1.2.1.2.2.1.10.7 = Counter32: 3505368875 iso.3.6.1.2.1.2.2.1.10.8 = Counter32: 3602003081При обращении по этому OID мы можем получить список с данными о переданных байтах у всех интерфейсов. Так что Zabbix просто берет строку:
.1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}И вместо {#SNMPINDEX} ставит число от 1 до 8 и последовательно запрашивает информацию по этим OID.
Таким же образом будет обработано поле Key!
Нажмем Add
Предобработка данных
Чтобы данные о корректно отображались нам нужно произвести предобработку данных перед передачей Zabbix.
Для этого откроем созданный прототип элемента и перейдем на вкладу Preprocessing.
Нажмем Add
Выберем
Change per second
Нажмем Add
Выберем
Custom multiplier и в поле введем 8
Нажмем Update
![]()
Подождем минуту и откроем список элементов нашего маршрутизатора:
![]()
Как видите, в список были добавлены новые элементы.
Откроем Monitoring -> Latest Data
Выберем в фильтрах наше устройство. В загруженном списке будут отражены данные об объёме данных передаваемых через все интерфейсы устройства.
Возможно вам придется немного подождать, пока не будут загружены первые данные.
![]()
Подобным образом вы можете добавить мониторинг исходящего трафика для OID - .1.3.6.1.2.1.2.2.1.16
Заключение
Сегодня мы рассмотрели добавление мониторинга сетевых интерфейсов маршрутизатора Eltex ESR – 200 с использованием SNMPv3:
Настроили на устройстве SNMPv3 с авторизацией и шифрованием;
Проверили с сервера Zabbix соединение к маршрутизатору по протоколу SNMPv3;
Добавили для хоста нашего устройства в Zabbix интерфейс SNMP с протоколом v3;
Создали шаблон для устройств Eltex ESR;
Привязали шаблон к нашему устройству;
Рассмотрели добавление элементов мониторинга в шаблон на примере имени хоста устройства;
Проверили правильность загруженных данных;
Рассмотрели автоматическое добавление элементов к хосту;
Добавили правило для автоматического обнаружения сетевых интерфейсов устройства;
Добавили правила для создания элементов для обнаруженных интерфейсов на примере подсчета входящего трафика на сетевом интерфейсе;
Проверили полученные данные.
В следующей части мы рассмотрим создание триггеров для оповещения при возникновении событий.
Добавить комментарий