Мониторинг 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;
Привязали шаблон к нашему устройству;
Рассмотрели добавление элементов мониторинга в шаблон на примере имени хоста устройства;
Проверили правильность загруженных данных;
Рассмотрели автоматическое добавление элементов к хосту;
Добавили правило для автоматического обнаружения сетевых интерфейсов устройства;
Добавили правила для создания элементов для обнаруженных интерфейсов на примере подсчета входящего трафика на сетевом интерфейсе;
Проверили полученные данные.
В следующей части мы рассмотрим создание триггеров для оповещения при возникновении событий.
Добавить комментарий