Модуль NagVis в Icinga2

NagVis + Icinga2

Main

Оценка: 86.36% - 17 Голосов

Общая

NagVis является удобным модулем визуализации карты сети. Позволяет создавать как малые карты, касаясь одного здания или комнаты так и карты на земном шаре, используя подложку сервиса карт Openstreetmap.

В данной статье рассматривается установка системы NagVis, ее настройка с использованием базы данных Icinga2 включая авторизацию средствами Icinga2

 

Подготовка к установке модуля.

Перед установкой удовлетворим зависимости

Для PHP5:


apt install rsync php-mbstring php5-sqlite

 

Для PHP7:


apt install rsync php7.0-mbstring php7.0-sqlite

Установка модуля

Скачать последнюю версию NagVis можно тут

Далее необходимо распаковать папку на сервере icinga2 и войти в нее.

Выполнить скрипт install.sh и ответить на необходимые вопросы - в моем случае ответы были такие:


Please enter the path to the nagios base directory: /etc/icinga2
Do you want to use backend mklivestatus?: n (отвечаем "Нет")
Do you want to use backend ndo2db?: n (отвечаем "Нет")
Do you want to use backend ido2db?: y (отвечаем "Да")
Далее все ответы по умолчанию

View the embedded image gallery online at:
http://itcrowd.top/nagvis#sigProIdb414d84655

После установки инсталятор создаст файл конфигурации для веб-сервер Apache2 в папке /etc/apache2/conf-available - его необходимо перенести в папку /etc/apache2/sites-available а после активировать


a2ensite имф_файла

 

Устанавливаем модуль NagVis для Iicinga2

Данный модуль позволяет интегрировать NagVis в веб-интерфейс Icinga2, а так же позволяет использовать автоматическую авторизацию при входе в систему мониторинга. Модуль можно скачать туcт.

После скачивания необходимо распаковать в папку /usr/share/icingaweb2/modules/

Далее модуль необходимо активировать в "Настройки - Расширения"

Nagvismodul

 

 

Настройка NagVis

Настройка файла /usr/local/nagvis/etc/nagvis.ini.php

Необходимо изменить следующее:


[global]
authmodule="CoreAuthModIcingaweb2"
authorisationmodule="CoreAuthorisationModIcingaweb2"
logonmodule="LogonIcingaweb2"
;
[paths]
htmlcgi="/icingaweb2"
;
[defaults]
; This selects the backend_ndomy_1 defined below
backend="ndomy_1"
;
urltarget="_top"
hosturl="[htmlcgi]/monitoring/host/show?host=[host_name]"
hostgroupurl="[htmlcgi]/monitoring/list/hostgroups?hostgroup_name=[hostgroup_name]"
serviceurl="[htmlcgi]/monitoring/service/show?host=[host_name]&service=[service_description]"
servicegroupurl="[htmlcgi]/monitoring/list/servicegroups?servicegroup_name=[servicegroup_name]"
mapurl="[htmlcgi]/nagvis/show/map?map=[map_name]"
headermenu="0"
stylesheet="icingaweb-nagvis-integration.css"
;
[backend_ndomy_1]
backendtype="ndomy"
dbhost="localhost"
dbport=3306
dbname="Имя базы Icinga2"
dbuser="Имя пользователя для подключения к базе Icinga2"
dbpass="Пароль"
dbprefix="icinga_"
dbinstancename="default"

 

Интеграция PHP кода

В файле /usr/local/nagvis/share/server/core/functions/index.php

в самом начале файла, после строки <?php вносим следующее:


/**
 * Icinga Web 2 integration
 */
use Icinga\Application\EmbeddedWeb;
require_once 'Icinga/Application/EmbeddedWeb.php';
require_once EmbeddedWeb::start('/usr/share/icingaweb2', '/etc/icingaweb2')
    ->getModuleManager()
    ->getModule('nagvis')
    ->getLibDir() . '/nagvis-includes/init.inc.php';

 

Интеграция CSS 

Необходимо скопировать в папку /usr/local/nagvis/share/userfiles/styles файл icingaweb-nagvis-integration.css, расположенный в папке public/css/, скаченного модуля.

 

Создание меню в Icinga2

Для создания меню необходимо в папке /etc/icingaweb2/modules создать подпапку nagvis, в которой создать файл config.ini с текстом:


[global]
default-map = demo-overview
# Map ID = Alias
[menu]
demo-germany = Germany
demo-ham-racks = Hamburg

 

Дополнительные настройки при использовании Icinga2 версии 2.2.0 и выше.

В файл /etc/icingaweb2/config.ini вносим:


[cookie]
path = /

Связано это с тем, что браузер не передает кукисы сессий системе Nagvis.

После потребуется очистить cookies вашего браузера!

После всех операций необходимо выйти из Icinga2 в вашем браузере и перезапустить сервер Apache2.

Проделав все операции в Icinga2 появится пункт меню "Maps" где будут доступны демокарты.

 

Возможные ошибки и их исправление

Ошибка Javascript error occured: Uncaught ReferenceError: checkHideMenu is not defined при открытии карты

Для ее устранения необходимо закомментировать или удалить строки в /usr/local/nagvis/share/frontend/nagvis-js/js/NagVisCompressed.js


if (checkHideMenu)
g_map.on('mousedown', checkHideMenu);
g_map.on('mousedown', context_handle_global_mousedown);

 

Скриншоты примеров создаваемых карт.

View the embedded image gallery online at:
http://itcrowd.top/nagvis#sigProId945f591a9b

 

 

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


Logo