
Чтобы не утомлять читателя, сразу скажу, что в итоге получим график
использования интерфейса mikrotik
с помощью snmp
в zabbix
на ubuntu server
.
В этой статье
мы уже касались вопроса того, как узнать нужный параметр OID
на mikrotik
для последующего его мониторинга. Итак я хочу получить графики текущего трафика wireless
интерфейсов mikrotik
.
Первым делом с помощью утилиты winbox
подключаемся к настроенному mikrotik с запущенным snmp
. Слева в столбце выбираем «New Terminal» и там выполняем команду:
interface print oid

На самом деле интерфейсов больше, они в терминале mikrotik отобразятся ниже, я не стал их все выводить сюда.
В консоли ubuntu server и опросим name интерфейса из моего примера с цифрой 1 :
sudo snmpwalk -v2c -c public 10.36.21.31 .1.3.6.1.2.1.2.2.1.2.2
Во вкладке Preprocessing, так же надо добавить две обработки.
1) change per second
2) custom multiplier = 8

Сохраняем. Таким образом мы создали item с информацией о исходящем трафике на точке доступа 5Ghz. Точно так же надо создать item с информацией о входящем трафике. Самым важным параметром здесь будет верно указанный OID. Для входящего он будет .1.3.6.1.2.1.31.1.1.1.6.7 и именно его и надо указывать в SNMP OID при создании нового item.

Осталось самое простое — создать график. В zabbix в настройках хоста mikrotik переходим в раздел Graphs и справа сверху нажимаем «Create graph»:

Заполняем и выбираем items:

Сохраняем и можем радоваться новым данным в системе мониторинга и новому графику.
Пример графика:

Итак, ранее мы установили Zabbix
на виртуальную машину
на Centos7. Теперь нам необходимо добавить в систему мониторинга Mikrotik для снятия показаний с устройства. Как добавить Mikrotik в Zabbix:
1. Настроить SNMP Mikrotik.
Zabbix по протоколу SNMP собирает данные с оборудования, поэтому в первую очередь настроим SNMP на Mikrotik.
Для любителей работать через консоль заходим в терминал и пишем команду:
[admin@ithelp21]/snmp> set enabled=yes trap-version=2 [admin@ithelp21] /snmp community> set addresses=192.168.100.0/24 authentication-password=Ithelp21 encryption-password=Ithelp21 name=Ithelp21 /snmp
Если вам удобнее настраивать через графический режим, тогда:
IP
— SNMP
.
1. Ставим галочку Enabled
;
2. Trap Version
— 2;
3. Нажимаем на кнопку Communities, после чего откроется еще одно окно.

4. В новом окне:
Name
— Имя;
Address
— указываем подсеть в котором находится Zabbix;
Security
: none;
Read Acces
— ставим галочку;
Authentication Protocol
: MD5;
Encryprion Protocol
: DES;
Authentication И Encryprion Password
— пароль SNMP;
Настройка Mikrotik на этом закончена, переходим в Zabbix;
2. Добавим Mikrotik в Zabbix.
Осталось завести устройство в мониторинг, открываем Zabbix:

Имя узла сети:
Mikrotik;
Группы:
можете выбрать любую из существующих или же создать отдельно;
Интерфейсы SNMP:
вводим ip адрес Микротик, который мы собираемся опрашивать и на котором мы настраивали SNMP, порт оставляем 161
;
Описание:
для удобства можете добавить описание;
Сохраняем.
2. Переходим в Узлы сети (Все узлы сети)
.
Перед настройкой данного раздела, вам пригодится статья OID SNMP для Mikrotik.
Вы видите окно с вашим единственным узлом Mikrotik, в находим столбец Элементы данных
со значение 0 — проваливаемся в него (жмем на строку Элемент данных
) и в открывшемся окне нажимаем Создать элемент данных.
Для примера будем слушать входящий трафик
на одном из портов Микротик.

Заполняем поля:
Имя
— Имя интерфейса на котором будем собирать информацию по трафику.
Тип
— выбираем SNMPv2 агент:
Ключ:
Можете задать удобное вам название ключа.
Интерфейс узла сети:
192.168.25.1:161 ip Mikrotik
SNMP OID:
ключ , который позволяет с устройства забрать данные, запрашивать у производителя.
Snmp Community:
пароль , который мы устанавливали на Микротике в разделе SNMP (Ithelp21);
Тип информации:
Числовой (целое положительное);
Тип данных:
Десятичный;
Интервал обновления (в сек):
1;
Период хранения данных
на ваше усмотрение;
Группы элементов данных:
Traffic;
Сохраняем.
3. Теперь мы можем посмотреть график загрузки трафика на порту Mokrotik.
Переходим в Мониторинг — Последние данные
— находим наш интерфейс — справа жмем на График
.

Если устройство не опрашивается, проверьте настройки iptables
, о которых мы рассказывали ранее.

Для управления и мониторинга состояний сетевых
устройств был разработан протокол SNMP.
С помощью
этого протокола можно контролировать статус определенных параметров, а также
изменять их.
Перейдем в Winbox для настройки сбора данных с
роутера.
Перейдем в
меню «ip -> SNMP»

Откроется
окно настроек SNMP.

- Ставим
галочку «Enable» - В поле Contact info указываем Email администратора
- В поле location указываем местонахождение роутера
(опционально) - Tap
Community – указываем public.
Остальные параметры оставляем по умолчанию. Нажимаем кнопку «Apply».
После чего нажимаем кнопку «Communities»

Параметр «Public» пред настроенный параметр. Его необходимо немного
отредактировать. Кликаем на него 2 раза.

- Имя оставляем по умолчанию
- Address – указываем ip адрес сервера Zabbix, с которого будет обращение.
- Ставим галочку Read Access. Остальные параметры оставаляем по
умолчанию
Галочка «Read Access» говорит о том, что можно считывать значение параметров, но не изменять их.
SNMP работает поверх udp. Порты используются 161,162. Не
забудьте сделать соответствующее правило в фаерволе.


Получать данные с маршрутизатора мы будем с помощью OID идентификаторов.
OID – это строка или последовательность десятичных цифр, ссылающаяся на
конкретный атрибут параметра. O ID-ды имеют иерархическую структуру. На каждом
оборудовании применяются свои оиды, их сообщает производитель оборудования.
На
маршрутизаторе Mikrotik oid параметры можно посмотреть с консоли введя команду
# /system resource print oid

Mib файл
позволяет использовать текстовое представление oid. Скачаем Mib браузер с сайта https://www.ireasoning.com/download.shtml
,
произведем установку этой программы и после этого запустим.
Для загрузки Mib файла выберем меню «File -> Load Mib».

После чего
необходимо указать адрес и порт роутера. Для этого вверху окна нажмем кнопку «Advanced»

В
появившемся окне в строке «Address» введем ip адрес маршрутизатора. В поле «port» укажем 161. После чего нажмем
кнопку «Ок»

Для того,
чтобы узнать oid код и
его значение на маршрутизаторе, в левом меню необходимо выбрать соответствующий
параметр. К примеру посмотрим все сетевые интерфейсы.
В левом меню
в раскрывающемся списке выберем «mgnt -> mib-2 -> interfaces» и 2 раза кликнем на значение «ifDescr». На главной части экрана выведется
все интерфейсы

Для
просмотра состояния интерфейсов выберем «ifOperStatus».

Если вы
обратите внимание на левую нижнюю табличку, то там видно как раз значение oid этого параметра. Эти значеиня мы и
будем использовать в Zabbix мониторинге.
Перейдем к
настройке сервера Zabbix.
В веб панели
переходим «Настройки -> Группы узлов сети», «Создать группу узлов сети»

В
появившемся поле вводим имя и нажимаем «Добавить»

Переходим
«Настройки -> Шаблоны». Создаем новый шаблон.

Вводим имя
шаблона, отображаемое имя. Далее обязательно выбраем Группу, созданную на
предыдущем этапе. Описание вводить не обязательно. После чего нажимаем
«Добавить»
После чего
переходим в меню «Узлы сети» и нажимаем кнопку «Создать узел сети».
В
создаваемом узле вводим имя узла сети, видимое имя. Обязательно надо выбрать
группу.
Далее
удаляем стандартный интерфейс агента, нажимаем кнопку «Удалить». Дажимаем на
кнопку добавить напротив «Интерфейсы SNMP».
Вводим ip адрес маршрутизатора Mikrotik, а также порт 161. После чего
нажимаем «Добавить» внизу экрана.

Далее
открываем «Элементы данных» этого узла сети. Нажимаем «Создать элемент данных».
Вводим
параметры, указанные на скриншоте.
Поле «Ключ» в этом случае является произвольным.

Поле «SNMP OID» берется из mib браузера. Выбираем первую строку и
нажимаем справа на «конвертик». Откроесть список статусов интерфейсов и их
значения OID.

После
нажатия «добавить » откроется окно со списком элементов данных и их статусом.

Если вы
увидите состояние «Активировано», значит по этому элементу идет сбор данных.
Проверим
последние собранные данные.

Перейдем
«Мониторинг -> Последние данные». Как мы видим последнее полученное значение
1, Следовательно интерфейс поднят, активный.
В этой
статье мы научились работать с протоколом SNMP и собирать данные.
Заметка посвящена настройке минимального мониторинга роутера mikrotik
с помощью zabbix сервера
версии 5.0.8, установленного на ubuntu server
20.04.
Сначала настроим snmp в mikrotik.
Переходим на роутер mikrotik в раздел ip -> snmp и делаем такие настройки:

Не забудьте в конце обязательно нажать «Apply», иначе настройки не сохранятся.
Далее на той же вкладке нажимаем кнопку «Communities» и видим единственную строчку:

Открываем её для редактирования и вписываем следующие данные:

Нажимаем «ОК» после того, как заполнили поля и на этом настройка snmp в mikrotik
закончена. Переходим к серверу ubuntu server
, где установлен zabbix сервер
.
На сервере устанавливаем snmp:
sudo apt-get install snmp
sudo apt-get install snmp-mibs-downloader
sudo download-mibs
Пробуем опросить mikrotik:
sudo snmpwalk -v2c -c public 10.36.11.31
Должно появиться много строк с параметрами для мониторинга и полученными данными.
Теперь переходим в веб-интерфейс zabbix http://10.36.1.7/zabbix/ для подключения мониторинга mikrotik.
Сразу определимся с IP адресами, чтобы легче было понимать, что за адреса я указывал.
10.36.1.7 — это адрес ubuntu server с установленным zabbix-server.
10.36.11.31 — адрес mikrotik роутера, который мы будем мониторить.
Переходим в раздел Configuration -> Templates и нажимаем кнопку «Import» в правом верхнем углу

И загружаем как минимум следующие шаблоны:
00template_module_icmp_ping__EN.xml
template_module_generic_snmp_SNMPv2_EN.xml
template_module_interfaces_SNMPv2_EN.xml

Переходим в раздел Configuration -> Host groups и добавляем хост mikrotik роутера. Роутеров у меня будет несколько, поэтому для них создам группу, но описывать в этой статье я буду на примере одного роутера. Создаём группу «mikrotik routers», нажав кнопку «Create host group» в правом верхнем углу, вписываем название для группы и жмём кнопку «Add»


Далее идём в раздел Configuration -> Host и нажимаем кнопку «Create host» в правом верхнем углу:

Вписываем данные нашего роутера mikrotik. Мониторим по snmp, поэтому удаляем строку Agent и добавляем snmp. Должно получиться что-то похожее на это:

Так же при добавлении хоста, надо перейти во вкладку «Templates» и прикрепить загруженный шаблон «Template Net Mikrotik SNMPv2»

Далее снова идём в раздел Configuration -> Host , ждём немного и увидим позеленевший значок «SNMP» справа в строке с нашим новым хостом:

Это значит, что мониторинг работает и посмотреть последние полученные данные можно в разделе Monitoring -> Latest data.
Сначала открепим шаблон от хоста mkt11d31, для этого в настройках этого хоста Configuration -> Host на вкладке Templates нажимаем «Unlink and clear»:

Далее переходим в Configuration -> Templates и добавляем новый шаблон, нажав в правом верхнем углу кнопку «Create template»:

Назову его «Template Mikrotik SNMP2» и добавлю в группу «mikrotik routers»:

Потом переходим в Configuration -> Templates выбираем наш созданный шаблон, переходим во вкладку Items и нажимаем в правом верхнем углу кнопку «Create item»

Одним из выводов команды sudo snmpwalk -v2c -c public 10.36.11.31 была строка похожая на:
iso.3.6.1.2.1.1.3.0 = Timeticks: (3466100) 9:37:41.00
Вот как раз iso.3.6.1.2.1.1.3.0 из этой строки нам и пригодится для заполнения всех полей при добавления нового item. Мы выведем данные uptime mikrotik
для мониторинга в zabbix.
Заполняем поля следующим образом:
Name — произвольно понятное, например uptime
Type — snmp agent
Key — uptime
SNMP OID — iso.3.6.1.2.1.1.3.0
Type of information — Numeric (unsigned)
Units — uptime
Update interval — период обновления данных, оставим 1 раз в минуту, то есть 1m
Custom intervals — Flexible
History storage period — Storage period — 90d
Trend storage period — Do not keep trends
Show value — As is

В случае с подсчётом uptime, чтобы время отображалось корректно, надо ещё перейти на вкладку «Preprocessing» создаваемого item и там создать «Preprocessing steps»:
Custom multiplier с параметром 0.01

и вот только сейчас нажимаем кнопку «Add». Таким образом мы создали элемент мониторинга uptime в шаблоне Template Mikrotik SNMP2. Теперь к этому шаблону надо прикрепить наш хост mkt11d31. Для этого действуем так же как и раньше, а именно переходим в Configuration -> Host , выбираем наш хост mkt11d31, переходим на вкладку Templates, выбираем наш шаблон «Template Mikrotik SNMP2» и прикрепляем его к хосту:

Через совсем небольшое время можно посмотреть последние полученные данные про uptime нашего роутера mikrotik в разделе Monitoring -> Latest data

Таким образом можно выводить данные с mikrotik в zabbix, надо только учитывать что это за данные (числовые, текстовые), надо ли их модифицировать после получения и найти OID этих данных в роутере или другой железке с поддержкой snmp. Для примера, можно выводить объём трафика, температуру, загрузку и многое другое.
Ну и ещё, думаю, важным будет добавить в zabbix информацию о том запущен ли роутер или недоступен. Для этого так же в шаблон «Template Mikrotik SNMP2» добавляем item, но проверять будем (параметр Type) не через snmp agent, а через Simple check. Проверка доступности хоста будет происходить простым ping`ом, на на сервер с zabbix надо будет поставить (если вдруг он не установлен) fping:
sudo apt-get install fping
И проверить, чтобы fping лежал на сервер тут /usr/bin/fping и тут /usr/bin/fping6. Чтобы это проверить достаточно посмотреть вывод этих двух команд:
whereis fping
whereis fping6
Если они там и расположены, то идём дальше, если расположены в другом месте, то это место надо откорректировать в файле конфигурации /etc/zabbix/zabbix_server.conf в строках
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
В ubuntu server 20.04
было всё нормально и файлы лежали в положенных для них местах.
С fping разобрались, возвращаемся к настройке item шаблона «Template Mikrotik SNMP2». Скорее всего придётся создавать 3 item с ping, описывать их все здесь не имеет смысла, так как в zabbix server уже есть шаблон под названием «Template Module ICMP Ping», именно там и можно посмотреть настройки этих трёх item. Оттуда же можно перенести в наш шаблон и триггеры с вкладки Triggers (их там тоже три), они нам тоже пригодятся.

Думаю, статью надо завершать, потому что тема zabbix сервера довольно большая и в одной публикации освоить её будет тяжело. Следующими важным шагом будет отправка уведомлений на почту в случае срабатывания триггера.</p

