Интерактивная карта Zabbix
Все, кто знаком с Zabbix, знают, какие там карты сетей. Мне захотелось более "крутую" карту. Я начал искать и наткнулся на 1 очень интересную реализацию - Интерактивную карту.
Итак, саму карту я нашел вот тут. Там же есть описание на английском и там же ее можно скачать.
Что из себя представляет данная карта? Это карта местности, хотите Яндекс, хотите Гугл, хотите OpenStreet. На карту наносятся наши объекты и вы можете мониторить их видя где они находятся и в каком они состоянии. Есть ли там тригерры или нет. Вот примеры данной карты:
Установка данной карты очень простая.
Установка zabbix imap
- Необходимо скачать саму карту и положить ее в папку zabbix-морды. Какую именно скачивать зависит от вашей версии заббикс-сервера. Вот ссылки для 2.2-2.4 и 3.0-3.2 и 3.4
- Редактируем файл include/menu.inc.php добавляя туда
для версии 2.2-.2.4 - в самый конец вставить:
require_once dirname(__FILE__).’ /../imap/menu.inc.php’ ; для версии 3.x примерно на 314 строке находим "$denied_page_requested = false;" и перед этой строчкой вставляем:
require_once dirname(__FILE__).’ /../imap/menu3.inc.php’ ; Сохраняем и выходим.
- Теперь у нас в мониторинге появилось меню "Интерактивная карта".
Все, основное уже есть и работает. Есть множество дополнительных настроек, все они с комментариями в файле, не вижу смысла их еще раз переписывать, я думаю сами почитаете. чтобы они заработали, необходимо выполнить следующее: найдите в папке imap файл settings.js.template, переименуйте в settings.js в данном файле теперь можете менять настройки.
Так же можно устанавливать свои значки на устройства.
Чтобы работали связи между узлами, необходимо добавить пару таблиц в базу:
Изменения в базе данных для работы связей
Для MySQL
Для работы связей между хостами нам нужно добавить две таблицы в базу данных Zabbix.
В папке imap лежит файл tables.sql Вы можете открыть phpmyadmin, выбрать базу данных Zabbix, и выбрать этот файл в разделе Import
Второй способ для любителей командной строки:
mysql -u user -p zabbixbd < /usr/share/zabbix/imap/tables-mysql.sql Замените zabbixbd на название таблицы с данными zabbix, user на имя пользователя с правами добавления таблиц в базу и введите пароль.
Для PostgreSQL
От рута запустить
sudo -u zabbix psql -U zabbix -W -d zabbix < table-postgresql.sql где
sudo -u zabbix - действия от имени системного пользователя zabbix (иначе PosgreSQL не аутентифицирует пользователя),
-U zabbix - владелец БД,
Размещение объектов на карте
Давайте рассмотрим как же разместить объекты на карте. В первую очередь необходимо в настройках узла выставить "инвентарные данные" в положение "вручную".
Далее у нас есть 2 способа размещения объектов.
Первый способ - прописывание точных координат в самих инвентарных данных. Для этого листаем вниз и находим 2 поля "широта" и "долгота" и в них вписываем координаты.
Второй способ - размещение непосредственно на самой карте. Тут мы переходим на интерактивную карту и справа видим надпись "Узлы сети". При наведении на нее мышкой раскрывается список узлов. Те узлы, которые еще не нанесены на карту будут перед названием иметь значок "мишень", которые уже нанесены на карту - соответственно будут без этой иконки.
Чтобы разместить узел, нажимаете на эту "мишень" и далее просто тыкаете левой кнопкой мыши на то место, куда необходимо разместить данный узел.
Вот и все. На этом размещение узла закончено. Если вы не будите переставлять узел в другое место, то можно вернуть инвентарные данные опять в положение "Авто", если это Вам требуется.
Связи между узлами на интерактивной карте
Какая же карта узлов сети, если между ними нету связей? Давайте рассмотрим как это сделать.
На самом деле делается это очень просто!
Находим на карте один из узлов сети, который будет участвовать в связи с другим/другими (все узлы, которые будут участвовать в связи должны быть предварительно нанесены на карту) и кликаем на него левой кнопочкой мыши.
Тут мы можем (слева на право):
- Задать новое расположение на карте
- Убрать узел сети с карты
- Установить связь (что нам и потребуется)
- Задать тип оборудования (об этом поговорим чуть ниже)
Выбираем "Установить связь".
Перед нами открывается окно выбора со всеми нанесенными на карту объектами. Можно найти узлы по имени или вписать его имя в строку поиска вверху. Связь можно установить как с 1 объектом, так и с несколькими сразу. Для этого всего лишь необходимо выбрать 1 или более узлов, отметив их в "чекбоксе"
Нажимаем кнопочку "Save" и наслаждаемся результатом. Вот в принципе и все.
Выбор типа оборудования (свои иконки на карте)
Для установки своей иконки требуется залить Ваши значки в папочку:
/usr/share/zabbix/imap/hardware/ После этого переходим к нашему узлу, кликаем на него левой кнопочкой мыши и выбираем последний значок "Задать тип оборудования" (похожа на микроконтроллер)
В открывшемся окошке видите ваши иконки, которые вы закачали по пути выше (к примеру):
Я себе брал иконки тут - http://www.iconarchive.com
Собственно на этом все. Пробуйте, тестируйте, экспериментируйте.
Заключение
Вот в принципе и все! Надеюсь данная статья была полезна и у вас все получилось. Если возникли трудности, вы можете написать в комментарии, я постараюсь ответить на ваши вопросы.