Мониторинг ЛВС в Zabbix. Часть 1
Сегодня мы рассмотрим автоматический опрос ЛВС, с целью добавить найденные устройства в систему мониторинга 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.
Добавить комментарий