Итак, саму карту я нашел вот тут. Там же есть описание на английском и там же ее можно скачать.
Что из себя представляет данная карта? Это карта местности, хотите Яндекс, хотите Гугл, хотите 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’ ;
Сохраняем и выходим. - Теперь у нас в мониторинге появилось меню "Интерактивная карта".
Так же можно устанавливать свои значки на устройства.
Чтобы работали связи между узлами, необходимо добавить пару таблиц в базу:
Изменения в базе данных для работы связей
Для 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
Собственно на этом все. Пробуйте, тестируйте, экспериментируйте.
Заключение
Вот в принципе и все! Надеюсь данная статья была полезна и у вас все получилось. Если возникли трудности, вы можете написать в комментарии, я постараюсь ответить на ваши вопросы.
Огромное спасибо!! Это просто великолепная статья, всё получилось с первого раза - именно то, что искал! Спасибо!
Рад, что Вам помогла данная статья! Заходите к нам еще, может быть еще что пригодится.
Добрый день! Получилось привязать карту к zabbix, но не получается привязать узлы сети? Пожалуйста, помогите, как добавить узлы на карту?)
Для начала необходимо в узле сети выставить инвентарные данные с авто на "вручную" и после этого можно выставить координаты вручную в инвентарных данных или уже на самой карте можно будет его таскать. Чуть позже добавлю тут инструкцию, как располагать узлы сети на карте.
Спасибо, все получилось. Осталось выяснить, как получать связи между оборудованием и добавлять на карту свои изображения) Ждем инструкцию)
Инструкция готова )
я поставил как вы писали но тагда у меня поивляется ошибка http 500 почему?
Именно при переходе на карту? Мало вводных... Какая версия Zabbix, под какую версию качали карту. Какая ОС, куда положили карту?
нет вовходе zabbix версия 3.4 ОС centos7.4 Карту положили в cd/usr/share/zabbix/ а вы можете точно обеснить что мне зделать с начало?
https://github.com/RussianFox/imap/tree/Zabbix3.4 - под 3.4 надо качать эту ветку (подправил ссылки в статье)
НУ Я ЭТО И СКАЧАЛ ПОСЛЕ РЕДАКТИРОВАНИЯ ЗАББИХ ВООБШЕ НЕ ОТКРИВАЕТ
Тогда Вы что то делаете не верно, раз он так себя ведет. Возможно получить ssh доступ к вашему серверу, чтобы посмотреть что Вы делаете и что происходит? Если да, ответьте мне на admin@sysadmin-note.ru постараюсь помочь
могу дать доступ через teamviewer
Это тоже вариант
версия 13
Подключился, помог. Надеюсь у Вас дальше получится все сделать!
ВИТАЛИЙ ТЫ МНЕ ОЧЕНЬ ПОМОГ. ДАЖЕ ЗАРАБОТАЛО ТО ЧТО НЕ РАБОТАЛО. БОЛЬШОЕ СПАСИБО, ОЧЕНЬ ПРИЗНАТЕЛЕН.
На здоровье. Я рад, что у меня получилось Вам помочь!
Виталий мы добавили несколько пользователей и изменили пароль админа а сегодня не можем войти не с одного 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
Премного благодарен. В очередной раз выручили.
Paulo Sergio 07.02.2018 16:09
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 ?
Hey. Here you can apply your geolocation layers. More details are better to ask on the zabbix forum. It&s all i know for this question
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?
Алексей 30.03.2018 04:52
Добрый день. Не подскажете почему у меня на интерактивной карте нету карт от 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?
Кирилл 24.04.2018 11:15
Смени значение примерно 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 начальную точку и масштаб, чтобы открывался сразу нужный Вам участок карты
Эдуард 24.05.2018 04:44
Понял, а может есть инструкция как подгрузить свой слой?
Здравствуйте, после того как вставляю строку 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 заббикса Это первое что приходит в голову и с чем обычно сталкивался (сам лично)
может я что-то не так сделал , если не сложно смотрите через teamviever???
напишите мне на почту admin@sysadmin-note.ru как с вами можно связаться (быстрее чем почта, например телеграм), попробуем глянуть!
Огромное спасибо за эту статью и Ваш труд!
Игорь 11.09.2018 06:45
А подскажите пожалуйста, как подгрузить личную карту ? Не динамическую.
Andrey 15.11.2018 13:30
Почему-то не показывает узлы на интерактивной карте. У всех узлов стоит ВРУЧНУЮ и даже нескольким поставил координаты. Может в 3.4.15 zabbix что то поменялось? Или подскажите какая функия (запрос) выбирает узлы, я сам сравню с базой что там не хватает ? Заранее спасибо!
По запросу не подскажу, но в 3.4.15 у меня работает все без проблем. Где то что то сделали не так...
Добрый день! А планируется интерактивная карта для 4 версии zabbix?
Добрый день! Ну вроде как по слухам - то планируется, но пока тишина... Как только появятся новости, я обязательно добавлю в статью ссылку на версию для 4-й версии. Так же можете сами следить на Гитхабе
Версия 3.4 в zabbix 4.0 не работает. Вываливает кучу ошибок. А уже вышла 4.2. Есть ли план на портирование imap под 4.x?
Добрый день. https://sysadmin-note.ru/zapuskaem-interaktivnuyu-kartu-zabbix-na-versii-zabbix-4-x/ По поводу портирования - ожидаем... Общался с разработчиком данной карты, есть у человека некие проблемы со свободным временем...
Очень хотелось бы для Zabbix 4.2 такую штуку. Очень.
Она работает на Версии 4.2 но только с ошибками в фильтрах, пока, к сожалению так. Ожидаем, возможно автор все же допилит ее для 4.x версии
Странно. Нашел строку «$denied_page_requested = false;» Выше неё пустая строка. На место этой пустой строки аккуратно вставил: require_once dirname(__FILE__).&/../imap/menu3.inc.php&; Без лишних пробелов. После этого Zabbix не запускается. Если убрать вставленную строку - снова работает. Zabbix 3.4, imap качал для этой версии. Архив распаковал и содержимое вставил в каталог /usr/share/zabbix.
Да, действительно странно. Только позавчера копировал от сюда же эту строчку - все работает...
Нужно сделать так как на скриншоте? https://prnt.sc/o8enl2
https://prnt.sc/o8zpx0 Вот скриншот, как это выглядит у меня на 4.2 На 3.x Было так же (только возможно другой номер строки)
Скажите пожалуйста, на какой максимально новой версии Zabbix у вас работала Imap без ухищрений (без скрытия ошибок)? Может быть версия 3.5, например... У меня тут с установкой Zabbix 3.4 какая-то очень странная тема началась.
Хотя да... Никакой версии 3.5 не существует))
Виталий 04.07.2019 04:22
Да, 3.4 из серии 3.x последняя и на ней карта работает нормально, без всяких ошибок. Что не так у Вас с установкой 3.4 сервера?
Скажите пожалуйста, какая у вас версия PHP?
# php -v PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51)
Zabbix 3.4 не хочет устанавливаться ни в какую. Решил попытать удачу с версией 4.0. Поставил Zabbix, установил imap. Чтобы отключить сообщения об ошибке пришлось закоментировать немного другие строки. Ошибки пропали, но на весь экран карта не разворачивает. 552 строка видимо не отрабатывает. http://prntscr.com/o9xz3s
Не могу тут подсказать. Описывал то, что сработало у меня...
Ivan 10.10.2019 03:57
Нужно немного исправить файл imap.js В конце файла, в функции mapSize строку nheight = jQuery(window).innerHeight() - jQuery(&.footer&).outerHeight(true) - jQuery(&#imapworkarea&).offset().top - jQuery(&.msg-bad&).height() - (jQuery(&.article&).innerHeight() - jQuery(&.article&).height()); заменить на nheight = jQuery(window).innerHeight() - jQuery(&#imapworkarea&).offset().top - 10;
Артем 06.11.2019 04:45
Добрый день. Подскажите, как вылечить вывод карт на пол-экрана? После того, как закомментировал строки в imap.js, вставил новую - nheight = jQuery(window).innerHeight() — jQuery(‘#imapworkarea’).offset().top — 10; Вывод карты пропадает совсем.
Артем 06.11.2019 07:32
Нашел решение - костыль, но тем не менее работает. Нужно поправить в imap.php строку Было Стало
Артем 06.11.2019 07:36
Было div id=mapdiv style="width:100%; height:300px;" Стало div id=mapdiv style="width:100%; height:800px;"
Роман 06.01.2020 03:58
В дополнение к костылю div id=mapdiv style=»width:100%; height:78vh;» // для css3
Всем привет! поставил imap на 4.2 выскочила куча ошибок, кто подскажит, как по фиксить? Undefined index: event_ack_enable [ in imap.php:201] Use of undefined constant EVENT_ACK_DISABLED - assumed &EVENT_ACK_DISABLED& [ in imap.php:201] Use of undefined constant ZBX_ACK_STS_ANY - assumed &ZBX_ACK_STS_ANY& [ in imap.php:202] Use of undefined constant EVENTS_OPTION_NOEVENT - assumed &EVENTS_OPTION_NOEVENT& [ in imap.php:203] Undefined index: event_ack_enable [ in imap.php:206] Use of undefined constant EVENT_ACK_DISABLED - assumed &EVENT_ACK_DISABLED& [ in imap.php:206] Undefined index: fullscreen [ in imap.php:554] Undefined index: fullscreen [ in imap.php:561] Undefined index: profileIdx [imap.php:592 → CView->render() → include() in include/views/common.filter.trigger.php:28] Undefined index: active_tab [imap.php:592 → CView->render() → include() in include/views/common.filter.trigger.php:29] Undefined index: show_suppressed [imap.php:592 → CView->render() → include() in include/views/common.filter.trigger.php:130]
На 4.2 пока никак. Ожидать только обновление данной карты. Либо использовать версию заббикса 3.4
Всем Здравствуйте. После добавления строчки require_once dirname(__FILE__).&/../imap/menu3.inc.php&; больше zabbix не открывается, а если ее убрать то открывается. Похоже судя по всему не у меня одного такая проблема. Может кто сможет подсказать куда смотреть ?
Либо скопировали какой нить лишний пробел или еще что то... Либо не туда вставляете. Попробуйте вручную переписать данную строчку
Роман 31.12.2019 09:11
Проверь права на папки и файлы, у меня решилось
Вы абсолютно правы. В этом что-то есть и мне кажется это очень хорошая мысль. Полностью с Вами соглашусь.
slobodinya 02.08.2019 10:19
Сердечное Вам спасибо за Вашу помощь.
Владислав 06.03.2020 11:35
Ребят кому надо 4.2 - https://yadi.sk/d/W00qnJPO9S-q9w