В этой статье будет описан процесс настройки мониторинга роутеров MikroTik по SNMP с помощью сервера Zabbix.
Настройка SNMP
Если вам интересно, что такое SNMP и как он работает, то можете почитать здесь. Ниже я покажу как настроить SNMP на MikroTik.
Открываем IP / SNMP и включаем его. Записываем контактную информацию в поля: Сontact info и Location (это просто текст, здесь вы может написать произвольную информацию). Затем изменяем Trap Version на 2. Удаляем Trap Generator (поле должно быть пустым, для этого нужно нажать на стрелочку вверх).
В этом же окне нажимаем кнопку Communities. И в открывшемся окне настраиваем Public SNMP Communites. А в поле addresses впишем ip-адрес сервера Zabbix.
Теперь к нашему MikroTik сможет подключиться только Zabbix сервер. И он сможет только получать данные, так как галочку Write Access мы не ставили.
Настройка фаервола
Дальше нужно разрешить подключение к MikroTik в фаерволе. Для этого открываем IP/Firewall и создаём новое правило: разрешаем входящий UDP порт 161 с сервера Zabbix.
Ну и на вкладке Action выбираем действие — accept, чтобы разрешить такое подключение.
Получение oid для мониторинга
Мониторить будем интерфейсы, а именно активны они или нет.
В терминале Mikrotik выполняем:
> /interface/print Flags: R - RUNNING Columns: NAME, TYPE, ACTUAL-MTU, MAC-ADDRESS # NAME TYPE ACTUAL-MTU MAC-ADDRESS 0 R ether1 ether 1500 12:19:21:40:A4:1D 1 R ether2 ether 1500 52:9C:FE:7A:4A:DC > /interface/print oid Flags: D - dynamic; X - disabled, R - running; S - slave; P - passthrough 0 R name=.1.3.6.1.2.1.2.2.1.2.8 actual-mtu=.1.3.6.1.2.1.2.2.1.4.8 mac-address=.1.3.6.1.2.1.2.2.1.6.8 admin-status=.1.3.6.1.2.1.2.2.1.7.8 oper-status=.1.3.6.1.2.1.2.2.1.8.8 bytes-in=.1.3.6.1.2.1.31.1.1.1.6.8 packets-in=.1.3.6.1.2.1.31.1.1.1.7.8 discards-in=.1.3.6.1.2.1.2.2.1.13.8 errors-in=.1.3.6.1.2.1.2.2.1.14.8 bytes-out=.1.3.6.1.2.1.31.1.1.1.10.8 packets-out=.1.3.6.1.2.1.31.1.1.1.11.8 discards-out=.1.3.6.1.2.1.2.2.1.19.8 errors-out=.1.3.6.1.2.1.2.2.1.20.8 1 R name=.1.3.6.1.2.1.2.2.1.2.7 actual-mtu=.1.3.6.1.2.1.2.2.1.4.7 mac-address=.1.3.6.1.2.1.2.2.1.6.7 admin-status=.1.3.6.1.2.1.2.2.1.7.7 oper-status=.1.3.6.1.2.1.2.2.1.8.7 bytes-in=.1.3.6.1.2.1.31.1.1.1.6.7 packets-in=.1.3.6.1.2.1.31.1.1.1.7.7 discards-in=.1.3.6.1.2.1.2.2.1.13.7 errors-in=.1.3.6.1.2.1.2.2.1.14.7 bytes-out=.1.3.6.1.2.1.31.1.1.1.10.7 packets-out=.1.3.6.1.2.1.31.1.1.1.11.7 discards-out=.1.3.6.1.2.1.2.2.1.19.7 errors-out=.1.3.6.1.2.1.2.2.1.20.7
С помощью команд выше мы определили oid статусов интерфейсов:
0 | ether1 | oper-status=.1.3.6.1.2.1.2.2.1.8.8 |
1 | ether2 | oper-status=.1.3.6.1.2.1.2.2.1.8.7 |
Настройка Zabbix
Дальше идём на Zabbix и добавляем Mikrotik в качестве узла, за которым будет вестись мониторинг.
А ниже нужно добавить SNMP интерфейс (тот же самый ip адрес, что и адрес узла):
А затем добавляем элементы данных snmp:
- SNMPv2 агент;
- Ключ и SNMP OID одинаковые. Здесь указывается oid (например, .1.3.6.1.2.1.2.2.1.8.8);
- SNMP интерфейс, созданный при добавлении узла.
После добавления элемента данных вы начнёте получать статус интерфейса в цифровом виде:
- 1 — Интерфейс включен
- 2 — Интерфейс выключен
Другие метрики
Таким же способом вы можете добавить и другие метрики. Ниже я описываю стандартный способ получения OID различных метрик.
Температура и скорость работы вентиляторов:
> /system/health/print Columns: NAME, VALUE, TYPE # NAME VALUE TYPE 0 cpu-temperature 48 C 1 phy-temperature 58 C 2 fan1-speed 0 RPM 3 fan2-speed 0 RPM 4 fan3-speed 0 RPM 5 fan4-speed 0 RPM 6 psu1-state ok 7 psu2-state ok > /system/health/print oid 0 name=.1.3.6.1.4.1.14988.1.1.3.100.1.2.17 value=.1.3.6.1.4.1.14988.1.1.3.100.1.3.17 type=.1.3.6.1.4.1.14988.1.1.3.100.1.4.17 1 name=.1.3.6.1.4.1.14988.1.1.3.100.1.2.52 value=.1.3.6.1.4.1.14988.1.1.3.100.1.3.52 type=.1.3.6.1.4.1.14988.1.1.3.100.1.4.52 2 name=.1.3.6.1.4.1.14988.1.1.3.100.1.2.7001 value=.1.3.6.1.4.1.14988.1.1.3.100.1.3.7001 type=.1.3.6.1.4.1.14988.1.1.3.100.1.4.7001 3 name=.1.3.6.1.4.1.14988.1.1.3.100.1.2.7002 value=.1.3.6.1.4.1.14988.1.1.3.100.1.3.7002 type=.1.3.6.1.4.1.14988.1.1.3.100.1.4.7002 4 name=.1.3.6.1.4.1.14988.1.1.3.100.1.2.7003 value=.1.3.6.1.4.1.14988.1.1.3.100.1.3.7003 type=.1.3.6.1.4.1.14988.1.1.3.100.1.4.7003 5 name=.1.3.6.1.4.1.14988.1.1.3.100.1.2.7004 value=.1.3.6.1.4.1.14988.1.1.3.100.1.3.7004 type=.1.3.6.1.4.1.14988.1.1.3.100.1.4.7004 6 name=.1.3.6.1.4.1.14988.1.1.3.100.1.2.7401 value=.1.3.6.1.4.1.14988.1.1.3.100.1.3.7401 type=.1.3.6.1.4.1.14988.1.1.3.100.1.4.7401 7 name=.1.3.6.1.4.1.14988.1.1.3.100.1.2.7402 value=.1.3.6.1.4.1.14988.1.1.3.100.1.3.7402 type=.1.3.6.1.4.1.14988.1.1.3.100.1.4.7402
Ресурсы:
> /system/resource/print oid used-memory: .1.3.6.1.2.1.25.2.3.1.6.65536 uptime: .1.3.6.1.2.1.1.3.0 build-time: .1.3.6.1.4.1.14988.1.1.7.6.0 total-memory: .1.3.6.1.2.1.25.2.3.1.5.65536 cpu-frequency: .1.3.6.1.4.1.14988.1.1.3.14.0
Сводка
Имя статьи
Мониторим MikroTik с помощью Zabbix (SNMP)
Описание
В этой статье будет описан процесс настройки мониторинга роутеров MikroTik по SNTP с помощью сервера Zabbix
Мониторинг сетевых устройств является неотъемлемой частью управления и обслуживания сети. Он позволяет оперативно отслеживать состояние роутеров, связываться с ними и принимать оперативные меры в случае проблем. Zabbix — это мощная и гибкая система мониторинга, которая предоставляет широкие возможности для мониторинга различных параметров роутера.
В этой подробной инструкции мы расскажем, как настроить мониторинг роутера с помощью Zabbix. Начнем с установки Zabbix сервера на центральном сервере или виртуальной машине. Затем мы подробно рассмотрим процесс настройки мониторинга роутера, включая настройку SNMP (Simple Network Management Protocol) на роутере и настройку Zabbix агента на целевом устройстве.
SNMP основан на клиент-серверной архитектуре и позволяет получать информацию о состоянии устройства, отслеживать изменения в реальном времени и выполнять удаленное управление. Zabbix агент, с другой стороны, является программным компонентом, который устанавливается на удаленных устройствах для сбора информации и передачи ее на Zabbix сервер.
Как только мониторинг будет настроен, вы сможете видеть реальное состояние своего роутера, мониторить различные параметры, такие как загрузка процессора, использование памяти, сетевой трафик и многое другое. Вы также сможете настроить уведомления, чтобы быть в курсе всех проблем и событий, происходящих с вашим роутером.
Содержание
- Установка Zabbix на сервер
- Создание хоста для роутера в Zabbix
- Настройка мониторинга интерфейсов роутера
- Мониторинг загрузки процессора роутера
- Мониторинг использования оперативной памяти роутера
Установка Zabbix на сервер
Для установки Zabbix на сервер, следуйте данным инструкциям:
- Перейдите на официальный сайт Zabbix и скачайте последнюю версию программного обеспечения.
- Распакуйте скачанный архив на вашем сервере.
- Установите необходимые зависимости и пакеты для работы Zabbix, используя менеджер пакетов вашей операционной системы.
- Создайте базу данных и пользователя для Zabbix в вашей системе управления базами данных (например, MySQL или PostgreSQL).
- Настройте доступ пользователя к базе данных, предоставив ему необходимые привилегии.
- Создайте конфигурационный файл для Zabbix, указав параметры подключения к базе данных и другие настройки.
- Запустите установку Zabbix с помощью команды в терминале или командной строке.
- Следуйте инструкциям установщика Zabbix, указывая необходимые параметры и настройки.
- Проверьте успешность установки, открыв веб-интерфейс Zabbix в вашем браузере.
После установки Zabbix, вы можете приступить к настройке мониторинга роутера и добавлению устройств в систему.
Создание хоста для роутера в Zabbix
Перед началом мониторинга роутера с использованием Zabbix, необходимо создать хост для него в системе Zabbix. Хост представляет собой устройство или приложение, которое будет мониториться.
Для создания хоста роутера в Zabbix следует выполнить следующие шаги:
- Войти в веб-интерфейс системы Zabbix.
- Перейти в раздел «Configuration» (Конфигурация) и выбрать «Hosts» (Хосты).
- Нажать кнопку «Create host» (Создать хост).
- Заполнить следующие обязательные поля:
- Name (Имя): уникальное имя хоста.
- Visible name (Отображаемое имя): имя хоста, которое будет отображаться в системе Zabbix.
- Groups (Группы): выбрать группу, к которой будет принадлежать хост.
- IP address (IP-адрес): IP-адрес роутера.
- Нажать кнопку «Add» (Добавить).
После добавления хоста, система Zabbix автоматически создаст мониторинговые элементы для данного хоста, такие как элементы данных и триггеры.
Теперь хост роутера готов к мониторингу в системе Zabbix, и вы можете приступить к настройке мониторинга его параметров.
Настройка мониторинга интерфейсов роутера
Для эффективного мониторинга работы роутера важно настроить мониторинг его интерфейсов. Это позволит отслеживать состояние сетевых соединений и обнаруживать проблемы в работе роутера.
В Zabbix есть возможность мониторить интерфейсы роутера двумя способами: по SNMP и по ICMP.
Для мониторинга интерфейсов по SNMP необходимо:
- Включить SNMP на роутере и настроить коммьюнити (сообщество).
- Настроить соответствующие элементы данных в Zabbix, используя шаблон для SNMP.
Для мониторинга интерфейсов по ICMP (ping) необходимо:
- Настроить элемент данных в Zabbix, используя шаблон для ICMP.
При мониторинге интерфейсов роутера можно отслеживать и следующие параметры:
- Статус интерфейса — Up/Down.
- Скорость передачи данных — Inbound/Outbound.
- Количество пакетов, переданных/принятых через интерфейс.
- Количество ошибок на интерфейсе (CRC, overrun и т.д.).
Настройка мониторинга интерфейсов роутера в Zabbix позволяет оперативно реагировать на возможные проблемы и предотвращать возникновение сетевых сбоев.
Мониторинг загрузки процессора роутера
Для начала необходимо настроить мониторинг процессора на роутере. Для этого в Zabbix необходимо создать новый элемент данных.
1. Зайдите в веб-интерфейс Zabbix и выберите нужный хост, для которого будет настраиваться мониторинг.
2. Перейдите в раздел «Конфигурация» и выберите «Элементы данных».
3. Нажмите кнопку «Создать элемент данных» и заполните необходимые поля:
Поле | Значение |
---|---|
Имя элемента | Загрузка процессора |
Тип информации | Число (с плавающей запятой) |
Ключ | system.cpu.load[percpu,avg1] |
Тип | Характеристика процесса |
Единицы измерения | % |
Обновление | 30s |
Пороги | 80:90 |
4. Нажмите кнопку «Добавить».
Таким образом, был создан элемент данных, который будет отслеживать загрузку процессора роутера каждые 30 секунд. Если значение загрузки процессора превысит 80%, будет срабатывать предупреждение, а при превышении 90% — критическое срабатывание.
Далее необходимо настроить триггеры, которые будут реагировать на срабатывание пороговых значений. Для этого перейдите в раздел «Конфигурация» и выберите «Триггеры».
5. Нажмите кнопку «Создать триггер» и заполните необходимые поля:
Поле | Значение |
---|---|
Имя | Высокая загрузка процессора |
Наименование объекта | {HOSTNAME} |
Выражение | {Загрузка процессора}>80 |
Важность | Средняя |
6. Нажмите кнопку «Добавить».
Таким образом, был создан триггер, который будет срабатывать при превышении загрузки процессора роутера 80% средней важности. Для создания триггера при превышении 90% загрузки процессора, повторите шаги 5-6 с соответствующими значениями.
Теперь, при превышении заданных порогов загрузки процессора, вы будете получать оповещения от Zabbix и сможете принять необходимые меры для предотвращения проблемы.
Мониторинг использования оперативной памяти роутера
Шаг 1: Создание элемента данных
Перед тем, как настроить мониторинг использования оперативной памяти роутера, необходимо создать элемент данных, который будет отслеживать эту информацию.
1. Перейдите в раздел «Конфигурация» в главном меню Zabbix.
2. Выберите «Шаблоны» и найдите шаблон, к которому хотите добавить элемент данных, или создайте новый шаблон.
3. В списке доступных элементов данных щелкните «Создать элемент данных».
4. Введите название элемента данных, например, «Использование оперативной памяти».
5. В поле «Тип информации» выберите «Число (float)».
6. В поле «Ключ» введите ключ элемента данных, например, «system.memory.usage».
7. Настройте интервал обновления и другие параметры, если необходимо.
8. Сохраните элемент данных.
Шаг 2: Настройка мониторинга роутера
Теперь нужно настроить мониторинг роутера, чтобы он отправлял данные об использовании оперативной памяти на сервер Zabbix.
1. Перейдите в раздел «Конфигурация» в главном меню Zabbix.
2. Выберите «Хосты» и выберите хост роутера, для которого хотите настроить мониторинг.
3. Нажмите на вкладку «Мониторинг» и выберите «Добавить элемент данных».
4. В появившемся окне выберите созданный ранее элемент данных «Использование оперативной памяти».
5. Настройте параметры элемента данных, если необходимо.
6. Сохраните настройки.
Шаг 3: Просмотр результатов мониторинга
Теперь можно просмотреть результаты мониторинга и видеть, какая часть оперативной памяти роутера используется в данный момент времени.
1. Перейдите в раздел «Мониторинг» в главном меню Zabbix.
2. Выберите «Последние данные» и найдите свой хост роутера.
3. В списке элементов данных найдите «Использование оперативной памяти» и посмотрите его текущее значение.
Теперь вы успешно настроили мониторинг использования оперативной памяти роутера с помощью Zabbix.
Заметка посвящена настройке минимального мониторинга роутера 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 роутера, который мы будем мониторить.
Отсюда https://share.zabbix.com/official-templates/template-modules-pack или отсюда качаем Template Modules Pack.
Переходим в раздел Configuration -> Templates и нажимаем кнопку «Import» в правом верхнем углу
И загружаем как минимум следующие шаблоны:
00template_module_icmp_ping__EN.xml
template_module_generic_snmp_SNMPv2_EN.xml
template_module_interfaces_SNMPv2_EN.xml
Так же отсюда https://share.zabbix.com/network_devices/mikrotik/template-net-mikrotik-snmpv2 или отсюда загружаем «Template Net Mikrotik SNMPv2»
и тоже загружаем его в шаблон zabbix сервера.
Переходим в раздел Configuration -> Host groups и добавляем хост mikrotik роутера. Роутеров у меня будет несколько, поэтому для них создам группу, но описывать в этой статье я буду на примере одного роутера. Создаём группу «mikrotik routers», нажав кнопку «Create host group» в правом верхнем углу, вписываем название для группы и жмём кнопку «Add»
Далее идём в раздел Configuration -> Host и нажимаем кнопку «Create host» в правом верхнем углу:
Вписываем данные нашего роутера mikrotik. Мониторим по snmp, поэтому удаляем строку Agent и добавляем snmp. Должно получиться что-то похожее на это:
Так же при добавлении хоста, надо перейти во вкладку «Templates» и прикрепить загруженный шаблон «Template Net Mikrotik SNMPv2»
Жмём «Update»
Далее снова идём в раздел Configuration -> Host , ждём немного и увидим позеленевший значок «SNMP» справа в строке с нашим новым хостом:
Это значит, что мониторинг работает и посмотреть последние полученные данные можно в разделе Monitoring -> Latest data.
Если при настройке на mikrotik указывали SNMP Community Name вместо public что-то другое, то это надо указать в настройках zabbix, а именно в настройках нашего добавленного хоста на вкладке macros указать Community Name следующим образом (для примера я указал вместо public имя publ)
Macro -> {$SNMP_COMMUNITY}
Value -> publ
Description -> SNMP_COMMUNITY=publ (не обязательный параметр)
Таким образом мы создали хост в zabbix и прикрепили к нему готовый шаблон. Но есть более гибкое решение — это создать свой шаблон по тем параметрам, которые нас интересуют. Тут вспоминаем вывод множества параметров по команде sudo snmpwalk -v2c -c public 10.36.11.31. OID можно посмотреть на самом mikrotik в его терминале командами:
system resource print oid
system resource cpu print oid
system health print oid
interface print oid
Сначала открепим шаблон от хоста 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 сервера довольно большая и в одной публикации освоить её будет тяжело. Следующими важным шагом будет отправка уведомлений на почту в случае срабатывания триггера.
Сегодня мы рассмотрим автоматический опрос ЛВС, с целью добавить найденные устройства в систему мониторинга Zabbix.
Для теста мы будем использовать GNS-Net — это проект для GNS3. Вы можете скачать его c Github — https://github.com/vasiliyaltunin/gns-net.
Вступление
После импорта проекта в GNS3 обязательным условием нормальной работоспособности тестового стенда является правильная последовательность запуска узлов.
Сначала запускаем все маршрутизаторы Mikrotik CHR, и только после того, как появится приглашение о вводе имени пользователя во всех консолях, запускаем все остальные устройства.
После запуска всех узлов проверьте, чтобы в каждой подсети на VPCS была доступна ваша физическая ЛВС, например, шлюз по умолчанию.
Обратите внимание! При создании виртуальной машины выделите ей больше одного ядра, лучше 4, это позволит избежать проблем, так как процесс обнаружения устройств в ЛВС довольно требователен к CPU!
Так же выделите не менее 4 Гб оперативной памяти!
Маршрутизация до виртуальных сетей
Обязательно нужно прописать маршруты до наших виртуальных подсетей на самом сервере Zabbix.
В консоль на Zabbix сервере прописываем:
sudo ip route add 172.16.100.0/28 via 192.168.0.100
sudo ip route add 172.16.100.16/28 via 192.168.0.100
sudo ip route add 172.16.100.32/28 via 192.168.0.100
sudo ip route add 172.16.101.0/24 via 192.168.0.100
Где 192.168.0.100 – внешний, находящийся в вашей ЛВС, адрес виртуального Mikrotik CHR – GWMain
Обратите внимание, эти маршруты будут удалены после перезапуска сервера, чтобы сделать их постоянными обновите сетевые настройки сервера!
Пропишем DNS сервер нашего тестового стенда.
Откроем файл /etc/resolv.conf
В начало файла добавим
nameserver 192.168.0.100
Сохраним файл.
Проверим доступность устройств в подсетях.
ping pc5
PING pc5 (172.16.100.5) 56(84) bytes of data.
64 bytes from pc5 (172.16.100.5): icmp_seq=1 ttl=62 time=0.967 ms
64 bytes from pc5 (172.16.100.5): icmp_seq=2 ttl=62 time=1.30 ms
64 bytes from pc5 (172.16.100.5): icmp_seq=3 ttl=62 time=0.924 ms
64 bytes from pc5 (172.16.100.5): icmp_seq=4 ttl=62 time=1.11 ms
ping pc12
PING pc12 (172.16.100.19) 56(84) bytes of data.
64 bytes from pc12 (172.16.100.19): icmp_seq=1 ttl=62 time=1.94 ms
64 bytes from pc12 (172.16.100.19): icmp_seq=2 ttl=62 time=1.02 ms
64 bytes from pc12 (172.16.100.19): icmp_seq=3 ttl=62 time=0.988 ms
64 bytes from pc12 (172.16.100.19): icmp_seq=4 ttl=62 time=0.991 ms
ping pc27
PING pc27 (172.16.100.40) 56(84) bytes of data.
64 bytes from pc27 (172.16.100.40): icmp_seq=1 ttl=62 time=1.90 ms
64 bytes from pc27 (172.16.100.40): icmp_seq=2 ttl=62 time=1.13 ms
64 bytes from pc27 (172.16.100.40): icmp_seq=3 ttl=62 time=1.13 ms
64 bytes from pc27 (172.16.100.40): icmp_seq=4 ttl=62 time=1.29 ms
Все подсети доступны с сервера Zabbix, так что можно продолжать настройку мониторинга наших виртуальных сетей.
Добавляем обнаружение устройств (Discovery)
Zabbix умеет автоматически сканировать ЛВС на наличие новых устройств и добавлять их в базу мониторинга.
Откроем панель управления (Dashboard) и выберем Configuration-> Discovery
В этом окне вы найдете список правил обнаружения.
Для начала удалим правило по-умолчанию, для этого поставьте галочку напротив Local network и нажмите Delete, подтвердите удаление!
Добавим новое правило, нажмите на кнопку Create discovery rule
Заполним форму:
Name: Auto discovery LAN1
Discovery by proxy: No proxy
IP range: 172.16.100.1-13
Update interval: 2m — для теста поставим 2 минуты, в дальнейшем ставьте 1h или выше
Для поля Checks:
Нажмем Add и из списка выберем ICMP ping
Host name: DNS Name
Visible name: Host name
И нажмите Add
Теперь остается только ждать, пока Zabbix не начнет процесс обнаружения это может занять несколько минут.
Для того, чтобы следить за процессом откроем Monitoring->Discovery
Обратите внимание – Discovery только обнаруживает устройства в сети на основе правил обнаружения!
Чтобы добавить устройство в список хостов (Hosts) нам нужно создать правило действия (Actions), но сначала нужно создать группу хостов (Host groups) для группировки хостов наших подсетей.
Создание групп хостов (Host group)
Откроем Configuration->Hosts group
Откроется окно
Выберите Create host group и введите имя группы и нажмите Add
Создадим четыре группы:
LAN1
LAN2
LAN3
ROUTERS
Для того, чтобы можно было осуществлять простой мониторинг доступности устройств, добавим созданные группы хостов к существующему шаблону ICMP Ping.
Добавление группы хостов к шаблону (Templates)
Откроем Configuration->Templates
Введите icmp в поле Name и нажмите Enter и нажмите на строку ICMP Ping
Нажмите на Select
Поставьте галочку напротив LAN1, LAN2, LAN3 и ROUTERS и нажмите Select и нажмите Update, чтобы обновить шаблон
Создание правил действий (Actions)
Мы произвели обнаружение устройств и они были добавлены в базу данных, в раздел Discovery, но этого недостаточно, чтобы начать их мониторинг. Нам нужно добавить обнаруженные устройства в список Hosts, т.е. создать объекты типа Host. Для этого нам нужно создать действие (Action), которое будет срабатывать каждый раз, когда происходит обнаружение устройства.
Перейдем в раздел Configuration -> Actions
Нажмем на Trigger actions и выберем Discovery actions.
После этого можно приступать к созданию правила действия.
Нажмите Create action
Введите имя:
On auto discovery of LAN1
Нажмите Add
В новом окне введите
172.16.100.1-13
Нажмите Add
Выберите Operations и нажмите Add
Выберите
Add to host group
Нажмите Select
Выберите LAN1 и нажмите Select
Нажмите Add
Снова нажмите Add, но на этот раз выберите Operation type: Link to template
Нажмите Select и в новом окне Select
В поле Templates введите icmp и выберите ICMP Ping
Нажмите Add
Нажмите Add
Выберем Monitoring->Hosts и подождем около 2-4 минут, пока Zabbix не начнет добавлять хосты в группу.
Как видите, хосты были добавлены в базу данных.
Все вышенаписанное произведите для LAN2, LAN3 и ROUTERS.
Так же обнаружение позволяет обновлять данные для хостов, например, если вы в DNS забыли указать имя какого-либо узла, то при добавлении в DNS записи для этого узла, следующий раз, когда произойдет опроc, эти данные будут обновлены и для добавленного хоста!
Добавляем хосты на карту
Мониторинг сам по себе не имеет смысла, если данные не выводятся в виде, который удобен для восприятия.
Для отображения информации в Zabbix используются карты (Maps)
Откроем Monitoring -> Maps и нажмем Create map
Введите имя LAN1 и нажмем Add
В окне со списком карт нажмите на LAN1
Нажмите Edit map
Нажмите Map element: Add
Щелкните на добавленном элементе левой кнопкой мыши:
В поле Type выберите Host group
В Show выберите Host group elements
В поле Label введите
{HOST.NAME}
{HOST.IP}
В поле Host group выберите LAN1
В Icons выберите Workstation_(64)
И нажмите Apply
Нажмите Update и Да
Снова щелкните на LAN1
Как видите мы добавили все хосты из группы на карту.
Обратите внимание, все устройства в ЛВС должны иметь записи на локальном сервере DNS, в противном случае, у вас вместо имени хоста будет отображаться два раза его IP адрес!
Прежде чем продолжить аналогично настройте обнаружение и создайте карты для LAN2, LAN3.
Добавьте обнаружение для маршрутизаторов.
В качестве диапазона используйте список: 172.16.101.251, 172.16.101. 252, 172.16.101.253, 192.168.0.100
Где 192.168.0.100 – внешний адрес виртуального Mikrotik CHR – GWMain
Добавьте карту для ROUTERS.
Создание общей карты сети
Когда устройства в ЛВС отображаются в одном месте, это очень удобно, так что давайте сведем их на одной карте.
Создадим еще одну карту и назовем её LAN
Добавьте на карту новый элемент
Выберите тип Map
Введите Label: LAN1
В пункте MAP выберите LAN1
В Icons выберите Cloud_(64)
Нажмите Apply
Добавьте элементы для LAN2 и LAN3
Добавление маршрутизаторов на карту
Добавим элемент для GW1
Добавьте новый элемент
В Type выберите Host
В Label введите:
{HOST.NAME}
{HOST.IP}
В Host введите gw1 и выберите хост из выпадающего списка
В Icons->Default выберите Router_symbol_(64)
Нажмите Apply
Добавьте элементы для GW2, GW3 и GWMain
Для красоты добавим элемент типа Image
В Label введем WAN
В качестве картинки выберем Cloud_(64)
Вот что у нас получилось:
Добавление связей между узлами
Чтобы схема была понятней добавим связи между узлами.
Нажмите Ctrl и не отпуская кликните на WAN и GWMain, нажмите на Link: Add:
Будет создана связь между узлами. Вы можете сдвинуть окошко в сторону, если оно мешает выделять узлы!
Повторите со всеми узлами как на рисунке ниже:
Вы можете посмотреть все связи узла просто щелкнув по нему:
Нажмите Update и Yes войдите в карту LAN:
Кликните по LAN3 и откроется выпадающее меню, с помощью которого, вы можете сразу перейти к карте LAN3.
На сегодня всё. Мы создали карту общую карту ЛВС.
Заключение
Сегодня мы рассмотрели создание простейшей карты сети для мониторинга находящихся в её составе устройств.
Были созданы правила обнаружения (Discovery) для всех подсетей нашей виртуальной ЛВС.
Мы создали правила действий (Actions) чтобы добавить обнаруженные хосты в базу данных хостов и привязать их к шаблону ICMP Ping
Так же мы создали карты для каждой из подсетей и общую карту, на которой свели вместе наши подсети и маршрутизаторы.
В следующей части мы рассмотрим мониторинг маршрутизаторов Mikrotik через SNMP.
Итак, ранее мы установили 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
Где 192.168.100.0/24 — указываем подсеть в котором находится Zabbix;
adminwin.ru — пароль;
name=adminwin.ru — имя 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:
1. Переходим по меню Настройка → Узлы сети — кнопка Создать. Откроет окно настройки узла.
Имя узла сети: 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 , о которых мы рассказывали ранее.