You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2015-05-11 22:47:05

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Interactive map for Zabbix

Вкрутил leaflet в Zabbix

Основные возможности:
- Отображение хостов
- Отображение триггеров
- Связи между хостами

Основные слои - на основе OSM. Но также интегрированы карты Yandex и Google, GoogleStreetView, Panoramio

Страничка на GitHub: https://github.com/RussianFox/imap
Скриншоты: http://zabbiximap.lisss.ru/screenshots/


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#2 2015-05-12 06:08:41

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 8,547

Re: Interactive map for Zabbix

Ты уж Runge не обижай, дополни копирайт "rendering GIScience Research Group @ Heidelberg University", как это сделано на осм.ру

Offline

#3 2015-05-12 08:01:31

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

freeExec wrote:

Ты уж Runge не обижай, дополни копирайт "rendering GIScience Research Group @ Heidelberg University", как это сделано на осм.ру

Честно старался соблюсти все копирайты. Это для какого слоя?


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#4 2015-05-12 08:29:46

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 8,547

Re: Interactive map for Zabbix

RusFox wrote:

Это для какого слоя?

MapSurfer или OSM Roads, 3-й скриншот.

Offline

#5 2015-05-12 09:22:33

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

freeExec wrote:
RusFox wrote:

Это для какого слоя?

MapSurfer или OSM Roads, 3-й скриншот.

Накосячил с ковычками в коде, поэтому было видно только половину строки. Поправил.


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#6 2015-06-23 12:56:04

stempher
Member
Registered: 2015-06-23
Posts: 7

Re: Interactive map for Zabbix

RusFox wrote:

Вкрутил leaflet в ZabbixОсновные возможности: - Отображение хостов - Отображение триггеров - Связи между хостами

Получилась отличная библиотека! Спасибо!
При ее использовании возник вопрос: как можно смайлы заменить на нужную мне иконку с подсветкой состояния триггеров? В описании нашел только вариант указания hardware объекта - но это чуть-чуть не то...
Возможно ли реализовать данный функционал?

Offline

#7 2015-06-23 13:01:15

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

stempher wrote:
RusFox wrote:

Вкрутил leaflet в ZabbixОсновные возможности: - Отображение хостов - Отображение триггеров - Связи между хостами

Получилась отличная библиотека! Спасибо!
При ее использовании возник вопрос: как можно смайлы заменить на нужную мне иконку с подсветкой состояния триггеров? В описании нашел только вариант указания hardware объекта - но это чуть-чуть не то...
Возможно ли реализовать данный функционал?

А вот немного не то - это что? Этот вопрос мне задавали не меньше двух десятков раз и всегда оказывалось, что это именно то smile


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#8 2015-06-23 13:14:51

stempher
Member
Registered: 2015-06-23
Posts: 7

Re: Interactive map for Zabbix

RusFox wrote:

А вот немного не то - это что? Этот вопрос мне задавали не меньше двух десятков раз и всегда оказывалось, что это именно то

Делал по следующему алгоритму:
- положил в папку hardware файл server.png;
- на карте кликнув по объекту в всплывающем окне выбрал "Выбрать тип оборудования" и указал server;
Сменилась иконка, которая отображается во всплывающем окне и в окне по клику, но на карте так и отображаются зеленые/желтые смайлы, а не выбранный мной тип оборудования...

А еще не работает кнопка "Во весь экран" интерфейса Zabbix'са. Хотя ошибок js не выводит...

Last edited by stempher (2015-06-23 13:18:05)

Offline

#9 2015-06-23 13:18:48

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

stempher wrote:
RusFox wrote:

А вот немного не то - это что? Этот вопрос мне задавали не меньше двух десятков раз и всегда оказывалось, что это именно то

Делал по следующему алгоритму:
- положил в папку hardware файл server.png;
- на карте кликнув по объекту в всплывающем окне выбрал "Выбрать тип оборудования" и указал server;
Сменилась иконка, которая отображается во всплывающем окне и в окне по клику, но на карте так и отображаются зеленые/желтые смайлы, а не выбранный мной тип оборудования...

В папке imap есть файлик settings.js.template. Скопируйте его в эту же папку и назовите settings.js
В нем вас интересует _imap.settings.useIconsInMarkers. Поменяйте значение на true


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#10 2015-06-23 13:35:56

stempher
Member
Registered: 2015-06-23
Posts: 7

Re: Interactive map for Zabbix

RusFox wrote:

В папке imap есть файлик settings.js.template. Скопируйте его в эту же папку и назовите settings.jsВ нем вас интересует _imap.settings.useIconsInMarkers. Поменяйте значение на true

Да, действительно - теперь объект помечается выбранным типов оборудования и вокруг него рисуется круг с заливкой цветом... Надо будет только подобрать иконку, а то цвета заливки и иконки перекрываются. А задать несколько иконок на один тип оборудования нельзя? Т.е. самому указать какую иконку при каком статусе триггера выводить. Такой механизм сложнореализуем?

Offline

#11 2015-06-23 13:40:26

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

stempher wrote:
RusFox wrote:

В папке imap есть файлик settings.js.template. Скопируйте его в эту же папку и назовите settings.jsВ нем вас интересует _imap.settings.useIconsInMarkers. Поменяйте значение на true

Да, действительно - теперь объект помечается выбранным типов оборудования и вокруг него рисуется круг с заливкой цветом... Надо будет только подобрать иконку, а то цвета заливки и иконки перекрываются. А задать несколько иконок на один тип оборудования нельзя? Т.е. самому указать какую иконку при каком статусе триггера выводить. Такой механизм сложнореализуем?

Пока да. Может быть в дальнейшем сделаю.


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#12 2015-06-23 13:44:50

stempher
Member
Registered: 2015-06-23
Posts: 7

Re: Interactive map for Zabbix

А еще не работает кнопка "Во весь экран" интерфейса Zabbix'са. Хотя ошибок js не выводит...

Offline

#13 2015-06-23 13:47:14

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

stempher wrote:

А еще не работает кнопка "Во весь экран" интерфейса Zabbix'са. Хотя ошибок js не выводит...

Какая версия Zabbix?


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#14 2015-06-23 13:48:19

stempher
Member
Registered: 2015-06-23
Posts: 7

Re: Interactive map for Zabbix

RusFox wrote:

Какая версия Zabbix?

2.2.8

Offline

#15 2015-06-23 13:50:23

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

stempher wrote:
RusFox wrote:

Какая версия Zabbix?

2.2.8

Странно, должно работать. Проверю чуть позже.


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#16 2015-06-23 13:52:03

stempher
Member
Registered: 2015-06-23
Posts: 7

Re: Interactive map for Zabbix

RusFox wrote:

Странно, должно работать. Проверю чуть позже.

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

Offline

#17 2015-06-25 12:31:56

stempher
Member
Registered: 2015-06-23
Posts: 7

Re: Interactive map for Zabbix

RusFox wrote:

Пока да. Может быть в дальнейшем сделаю.

Изменил немного Ваш скрипт.

Добавил в settings.js:

/* true - use hardware icons in status triggers */
/* true - использовать иконки оборудования для статуса триггера */
_imap.settings.useIconsInStatus = true;

В imap.js вместо:

		if (_imap.settings.useIconsInMarkers) {
			_imap.markersList[host_id].marker.setIcon(L.divIcon({className:nottrigger_t+maintenance_t+'icon_status_img icon_status_'+_imap.markersList[host_id].marker.options.status,html:'<img onerror="this.src=\'imap/images/status'+_imap.markersList[host_id].marker.options.status+'.gif\';" src=\'imap/hardware/'+_imap.markersList[host_id].marker.options.hardware+'.png\'>',iconAnchor:[8, 8]}));
		} else {
			_imap.markersList[host_id].marker.setIcon(L.divIcon({className:nottrigger_t+maintenance_t+'icon_status icon_status_smile_'+_imap.markersList[host_id].marker.options.status + ' icon_status_'+_imap.markersList[host_id].marker.options.status,html:'',iconAnchor:[8, 8]}));
		};

заменить на:

		if (_imap.settings.useIconsInStatus) {
			_imap.markersList[host_id].marker.setIcon(L.divIcon({className:nottrigger_t+maintenance_t+'icon_status_img icon_status_'+_imap.markersList[host_id].marker.options.status,html:'<img onerror="this.src=\'imap/images/status/'+_imap.markersList[host_id].marker.options.hardware+_imap.markersList[host_id].marker.options.status+'.png\';" src=\'imap/hardware/'+_imap.markersList[host_id].marker.options.hardware+_imap.markersList[host_id].marker.options.status+'.png\'>',iconAnchor:[8, 8]}));
		}
		else {
			if (_imap.settings.useIconsInMarkers) {
				_imap.markersList[host_id].marker.setIcon(L.divIcon({className:nottrigger_t+maintenance_t+'icon_status_img icon_status_'+_imap.markersList[host_id].marker.options.status,html:'<img onerror="this.src=\'imap/images/status'+_imap.markersList[host_id].marker.options.status+'.gif\';" src=\'imap/hardware/'+_imap.markersList[host_id].marker.options.hardware+'.png\'>',iconAnchor:[8, 8]}));
			} else {
				_imap.markersList[host_id].marker.setIcon(L.divIcon({className:nottrigger_t+maintenance_t+'icon_status icon_status_smile_'+_imap.markersList[host_id].marker.options.status + ' icon_status_'+_imap.markersList[host_id].marker.options.status,html:'',iconAnchor:[8, 8]}));
			};
		};

При этом если изображение hardware (например server.png) положили в /hardware, то необходимо создать папку /images/status и туда положить изображения hardware для разных состояний триггеров и назвать соответственно (например server0.png..server5.png)

Кнопку "Во весь экран" победить не получилось...

Offline

#18 2015-09-25 06:11:20

Artem Kaba
Member
Registered: 2015-09-23
Posts: 3

Re: Interactive map for Zabbix

Приветствую! Спасибо за библиотеку.
Версию 3.0 все никак не отрелизят, но на днях пришлось обновиться, дабы избавиться от кучи смс, когда вырубается цепочка узлов. Пока полет нормальный.
В связи с чем, вопрос: есть ли какие-нибудь наработки для 3-ей версии? Интерактивную карту на ней завести удалось, но с некоторыми изменениями в imap.php. С кодом фронтенда заббикса практически нисколько не был знаком ранее, поэтому рассчитываю на некоторую помощь.:)

Offline

#19 2015-09-25 08:18:34

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

Artem Kaba wrote:

Приветствую! Спасибо за библиотеку.
Версию 3.0 все никак не отрелизят, но на днях пришлось обновиться, дабы избавиться от кучи смс, когда вырубается цепочка узлов. Пока полет нормальный.
В связи с чем, вопрос: есть ли какие-нибудь наработки для 3-ей версии? Интерактивную карту на ней завести удалось, но с некоторыми изменениями в imap.php. С кодом фронтенда заббикса практически нисколько не был знаком ранее, поэтому рассчитываю на некоторую помощь.:)

сейчас пока ничего не делаю, потому что неожиданно сменил работу, а тут сервера все в одном месте и функционал Interactive Map не требуется.
свободного времени нет. вернее есть, но предпочитаю его использовать для путешествий, пока тепло.
Предложений, пожеланий и идей накопилось достаточно. Планирую к зиме возобновить работу.

P.S. могу отвечать на конкретные вопросы и помогать с конкретными проблемами.

Last edited by RusFox (2015-09-25 08:19:21)


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#20 2015-09-25 11:17:03

Artem Kaba
Member
Registered: 2015-09-23
Posts: 3

Re: Interactive map for Zabbix

RusFox wrote:

P.S. могу отвечать на конкретные вопросы и помогать с конкретными проблемами.

Буду признателен за помощь.
Для того, чтобы заработала карта, исправил только то, на что ругался в логах httpd.
По всей видимости, код фронтенда забби был основательно переработан, не хватало функции getSeverityCaption().
В imap.php добавил:

function getSeverityCaption($severity = null) {
    $config = select_config();

    $severities = array(
        TRIGGER_SEVERITY_NOT_CLASSIFIED => _($config['severity_name_0']),
        TRIGGER_SEVERITY_INFORMATION => _($config['severity_name_1']),
        TRIGGER_SEVERITY_WARNING => _($config['severity_name_2']),
        TRIGGER_SEVERITY_AVERAGE => _($config['severity_name_3']),
        TRIGGER_SEVERITY_HIGH => _($config['severity_name_4']),
        TRIGGER_SEVERITY_DISASTER => _($config['severity_name_5'])
    );
    if (is_null($severity)) {
    return $severities;
    }
    elseif (isset($severities[$severity])) {
        return $severities[$severity];
    }else {
        return _('Unknown');
    }
}

Костыль, понимаю. Буду рад, если подскажете, как иначе.
Далее ругался только на метод CWidget::addPageHeader(). Убрал строку:

$triggerWidget->addPageHeader(_('Interactive map'), get_icon('fullscreen', array('fullscreen' => $_REQUEST['fullscreen'])));

После этого карта запустилась, стала видна картинка.
В итоге я хочу работать с локальным OSM-сервером. Для этого в imap.js заменил tile.osm.org на адрес своего сервера. В отладчике браузера вижу, что картинки мои он тянет, но не те. По всей видимости, значение параметра _imap.settings.startCoordinates, которые я устанавливаю, никого не интересуют. А OSM-сервер содержит тайлы только одного города.

Offline

#21 2015-09-27 08:24:54

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Interactive map for Zabbix

да... есть такой косяк.
В вашем случае нужно поправить строчку 910
Вот это:

if (_imap.settings.do_map_control | _imap.vars.it_first) {

Сделать таким:

if (_imap.settings.do_map_control) {

Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#22 2015-09-28 06:43:22

Artem Kaba
Member
Registered: 2015-09-23
Posts: 3

Re: Interactive map for Zabbix

RusFox wrote:

да... есть такой косяк.
В вашем случае нужно поправить строчку 910
Вот это:

if (_imap.settings.do_map_control | _imap.vars.it_first) {

Сделать таким:

if (_imap.settings.do_map_control) {

Прошу прощения. Все прекрасно работает.
Первая неделя после отпуска + природная невнимательность сделали свое дело.
settings.js.template, как оказалось, необходимо и достаточно было переименовать в settings.js, чтобы командовать настройками.
Спасибо за помощь.

Offline

#23 2015-10-19 10:16:31

shumik
New Member
Registered: 2015-10-19
Posts: 1

Re: Interactive map for Zabbix

Добрый день.
Для начала хочу поблагодарить автора за его работу. Очень здорово!

У нас при выборе группы "Все", а это чуть больше 2000 узлов, приходится довольно долго ждать первоначальную загрузку карты (порядка 20-40 секунд для полной загрузки карты). При выборе отдельных групп, где узлов по 200-300, время ожидания загрузки приемлемое.

Уменьшится ли время загрузки, если завести отдельную таблицу в БД с координатами узлов, и брать их оттуда, а не из Inventory->Location.
Если да, возможно ли добавить в настройки выбор места хранения координат узлов?

Offline

Board footer

Powered by FluxBB