Интерактивная карта Zabbix

zabbix

Все, кто знаком с Zabbix, знают, какие там карты сетей. Мне захотелось более «крутую» карту. Я начал искать и наткнулся на 1 очень интересную реализацию — Интерактивную карту.

Итак, саму карту я нашел вот тут. Там же есть описание на английском и там же ее можно скачать.

Что из себя представляет данная карта? Это карта местности, хотите Яндекс, хотите Гугл, хотите OpenStreet. На карту наносятся наши объекты и вы можете мониторить их видя где они находятся и в каком они состоянии. Есть ли там тригерры или нет. Вот примеры данной карты:

zabbix-imap

zabbix-imap1

Установка данной карты очень простая.

Установка zabbix imap

  1. Необходимо скачать саму карту и положить ее в папку zabbix-морды. Какую именно скачивать зависит от вашей версии заббикс-сервера. Вот ссылки для 2.2-2.4 и 3.0-3.2 и 3.4
  2. Редактируем файл 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';

    Сохраняем и выходим.

  3. Теперь у нас в мониторинге появилось меню «Интерактивная карта».

Все, основное уже есть и работает. Есть множество дополнительных настроек, все они с комментариями в файле, не вижу смысла их еще раз переписывать, я думаю сами почитаете. чтобы они заработали, необходимо выполнить следующее: найдите в папке 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 — владелец БД,

-d zabbix — название БД.

Размещение объектов на карте

Давайте рассмотрим как же разместить объекты на карте. В первую очередь необходимо в настройках узла выставить «инвентарные данные» в положение «вручную».

Далее у нас есть 2 способа размещения объектов.

Первый способ — прописывание точных координат в самих инвентарных данных. Для этого листаем вниз и находим 2 поля «широта» и «долгота» и в них вписываем координаты.

Второй способ — размещение непосредственно на самой карте. Тут мы переходим на интерактивную карту и справа видим надпись «Узлы сети». При наведении на нее мышкой раскрывается список узлов. Те узлы, которые еще не нанесены на карту будут перед названием иметь значок «мишень», которые уже нанесены на карту — соответственно будут без этой иконки.

Чтобы разместить узел, нажимаете на эту «мишень» и далее просто тыкаете левой кнопкой мыши на то место, куда необходимо разместить данный узел.

Вот и все. На этом размещение узла закончено. Если вы не будите переставлять узел в другое место, то можно вернуть инвентарные данные опять в положение «Авто», если это Вам требуется.

Связи между узлами на интерактивной карте

Какая же карта узлов сети, если между ними нету связей? Давайте рассмотрим как это сделать.

На самом деле делается это очень просто!

Находим на карте один из узлов сети, который будет участвовать в связи с другим/другими (все узлы, которые будут участвовать в связи должны быть предварительно нанесены на карту) и кликаем на него левой кнопочкой мыши.

Тут мы можем (слева на право):

  1. Задать новое расположение на карте
  2. Убрать узел сети с карты
  3. Установить связь (что нам и потребуется)
  4. Задать тип оборудования (об этом поговорим чуть ниже)

Выбираем «Установить связь».

Перед нами открывается окно выбора со всеми нанесенными на карту объектами. Можно найти узлы по имени или вписать его имя в строку поиска вверху. Связь можно установить как с 1 объектом, так и с несколькими сразу. Для этого всего лишь необходимо выбрать 1 или более узлов, отметив их в «чекбоксе»

Нажимаем кнопочку «Save» и наслаждаемся результатом. Вот в принципе и все.

Выбор типа оборудования (свои иконки на карте)

Для установки своей иконки требуется залить Ваши значки в папочку:

/usr/share/zabbix/imap/hardware/

После этого переходим к нашему узлу, кликаем на него левой кнопочкой мыши и выбираем последний значок «Задать тип оборудования» (похожа на микроконтроллер)

В открывшемся окошке видите ваши иконки, которые вы закачали по пути выше (к примеру):


Название отображается так же как и вы назвали иконку.

Я себе брал иконки тут — http://www.iconarchive.com

Собственно на этом все. Пробуйте, тестируйте, экспериментируйте.

Заключение

Вот в принципе и все! Надеюсь данная статья была полезна и у вас все получилось. Если возникли трудности, вы можете написать в комментарии, я постараюсь ответить на ваши вопросы.

49 комментариев

  • Огромное спасибо!! Это просто великолепная статья, всё получилось с первого раза — именно то, что искал!

    Спасибо!

    • Рад, что Вам помогла данная статья! Заходите к нам еще, может быть еще что пригодится.

  • Добрый день! Получилось привязать карту к zabbix, но не получается привязать узлы сети? Пожалуйста, помогите, как добавить узлы на карту?)

    • Для начала необходимо в узле сети выставить инвентарные данные с авто на «вручную» и после этого можно выставить координаты вручную в инвентарных данных или уже на самой карте можно будет его таскать. Чуть позже добавлю тут инструкцию, как располагать узлы сети на карте.

  • Спасибо, все получилось. Осталось выяснить, как получать связи между оборудованием и добавлять на карту свои изображения) Ждем инструкцию)

    • Именно при переходе на карту?
      Мало вводных… Какая версия Zabbix, под какую версию качали карту. Какая ОС, куда положили карту?

  • нет вовходе zabbix
    версия 3.4
    ОС centos7.4
    Карту положили в cd/usr/share/zabbix/
    а вы можете точно обеснить что мне зделать с начало?

    • Тогда Вы что то делаете не верно, раз он так себя ведет. Возможно получить ssh доступ к вашему серверу, чтобы посмотреть что Вы делаете и что происходит? Если да, ответьте мне на admin@sysadmin-note.ru
      постараюсь помочь

  • ВИТАЛИЙ ТЫ МНЕ ОЧЕНЬ ПОМОГ.
    ДАЖЕ ЗАРАБОТАЛО ТО ЧТО НЕ РАБОТАЛО.
    БОЛЬШОЕ СПАСИБО, ОЧЕНЬ ПРИЗНАТЕЛЕН.

  • Виталий мы добавили несколько пользователей и изменили пароль админа а сегодня не можем войти не с одного user-а можешь чем-то помочь?
    Заранее спасибо.

  • добрый день Виталий. У нас пропала интерактивная карта в zabbix. Возможно ли восстановить Ее с размешенными обектами.

    • Добрый день. Возможно вы обновили пакет frontend.
      Просто выполните:

      Редактируем файл include/menu.inc.php добавляя туда

      dirname(__FILE__).’/../imap/menu.inc.php’;
      для версии 3.x примерно на 314 строке находим «$denied_page_requested = false;» и перед этой строчкой вставляем:

      require_once dirname(__FILE__).’/../imap/menu3.inc.php’;

      И все обратно вернется.

  • В прошлый раз вы установили ее. можете подробно показать что где надо заменить?

    • Ну в инструкции же подробно описано. Если у вас не получается, пришлите мне на почту ваш ID и пароль от тиимвьювера на admin[собака]sysadmin-note.ru

  • Would you help me ?

    With this tool I can use other maps as a figure.png? Or just by geolocation?

    I wanted to use a proper map for when some trigger alarms just with the mouse, it would show me a window with all the triggers of the host or some hostgroup

    It’s possible ?

  • Very nice work! I was stuck with how to add hosts in the map. — Host inventory was disabled under the hosts.- Now i want to link the hosts and ideally to have the link utilisation/latency visible (like on normal maps — where you add a macro label). Do you know if this is possible?

  • Добрый день.
    Не подскажете почему у меня на интерактивной карте нету карт от google?

    • Добрый день. Старнно, они «по дефолту» есть. А какие у Вас есть слои вообще? И какая версия zabbix у Вас?

  • Версия забикса Zabbix 3.2.11 (CentOS 7).
    Слои которые доступны:
    OpenStreetMap
    OpenCycleMap
    Stamen B&W
    Kosmosnimki.ru OSM
    Yandex
    Yandex Satellite
    Yandex Hybrid

    • Очень странно. Попробуйте написать в телеграмм канале «Zabbix IMAP testing», я думаю там подскажут, возможно у кого то возникали такие же проблемы. Так же, в этой группе находится сам разработчик данной карты.

  • Добрый день.
    При загрузке карт гугл выбивает ошибку в консоли:
    Google Maps API error: MissingKeyMapError
    Google Maps API warning: NoApiKeys
    Не подскажете в каком файле нужно вписать ключ API?

  • Смени значение примерно 654-ой строки «maps.google.com/maps/api/js?» в файле /usr/share/zabbix/imap/imap.php, прописав после js? параметр key=YOURKEY

    где YOURKEY это ключ полученный отсюда.

    https://developers.google.com/maps/documentation/javascript/get-api-key

    ===

    Админ подскажи пожалуйста группу в телеграмме RussianFox’a.

    • Не могу найти, где точное имя, но попробуй вот так найти:
      Zabbix IMAP testing
      По крайней мере она называется так

  • Добрый день.
    Кто может подсказать, как мне ограничить по размерам (мне нужен только один город) уже существующую карту(слой)?

    • По размеру ограничить ее нельзя. Можно задать в /usr/share/zabbix/imap/settings.js начальную точку и масштаб, чтобы открывался сразу нужный Вам участок карты

    • Понял, а может есть инструкция как подгрузить свой слой?

  • Здравствуйте, после того как вставляю строку
    require_once dirname(__FILE__).’/../imap/menu3.inc.php’;
    пропадает веб( можете помочь??

    • Здравствуйте!
      Версия zabbix?
      Возможно Вы что то не так вставляете? Не в ту строчку? Проверьте пожалуйста еще раз

  • Версия 3.4.9
    Уже пересмотрел много раз, и не в какую (
    В логе пишет синтаксическая ошибка

    • Странное дело… Можно через TeamViewer глянуть в принципе. Аж самому интересно стало… Если хотите, можем связаться с вами через почту: admin@sysadmin-note.ru

  • Здравствуйте, в zabbix-е после того как вставляю строку
    require_once dirname(__FILE__).’/../imap/menu3.inc.php’;
    пропадает веб, в чем может бить проблема?

    • 1) Возможно скопировано с лишним пробелом или знаком препинания
      2) Предварительно не разархивировали папку IMAP в каталог WEB заббикса

      Это первое что приходит в голову и с чем обычно сталкивался (сам лично)

    • Почитайте в статье:
      Выбор типа оборудования (свои иконки на карте)
      Как раз выбрав тип иконка меняется со смайлика на выбранную вами иконку

Добавить комментарий

Ваш e-mail не будет опубликован.