You are not logged in.
- Topics: Active | Unanswered
Announcement
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.***
Pages: 1
#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
Ты уж 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
Это для какого слоя?
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
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
Вкрутил 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
RusFox wrote:Вкрутил leaflet в ZabbixОсновные возможности: - Отображение хостов - Отображение триггеров - Связи между хостами
Получилась отличная библиотека! Спасибо!
При ее использовании возник вопрос: как можно смайлы заменить на нужную мне иконку с подсветкой состояния триггеров? В описании нашел только вариант указания hardware объекта - но это чуть-чуть не то...
Возможно ли реализовать данный функционал?
А вот немного не то - это что? Этот вопрос мне задавали не меньше двух десятков раз и всегда оказывалось, что это именно то ![]()
Информация для всех... Даром... И пусть никто не уйдет обиженным!
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
А вот немного не то - это что? Этот вопрос мне задавали не меньше двух десятков раз и всегда оказывалось, что это именно то
Делал по следующему алгоритму:
- положил в папку 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
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
В папке 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
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
А еще не работает кнопка "Во весь экран" интерфейса 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
Какая версия 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
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
Странно, должно работать. Проверю чуть позже.
В любом случае спасибо за разработку. Будем ждать новых версий ![]()
Offline
#17 2015-06-25 12:31:56
- stempher
- Member
- Registered: 2015-06-23
- Posts: 7
Re: Interactive map for Zabbix
Пока да. Может быть в дальнейшем сделаю.
Изменил немного Ваш скрипт.
Добавил в 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
Приветствую! Спасибо за библиотеку.
Версию 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
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
да... есть такой косяк.
В вашем случае нужно поправить строчку 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
Pages: 1