Установка Web-интерфейса NagVis для системы мониторинга Nagios

NagVis  — это аддон визуализации для известной системы мониторинга Nagios. NagVis отображает хосты и сервисы которые мониторятся при помощи Nagios в удобной форме, позволяет удобно располагать их на карте, устанавливать на карту своё фоновое изображение (например: фоткаем серверную, растаскиваем ярлыки по серверам и радуемся наглядности:), позволяет содержать несколько карт с индивидуальными настройками, легко добавлять и удалять элементы и многое другое.

Содержание:


Перед установкой необходимо установить дополнительное ПО для совместной работы NagVis и Nagios. Есть несколько программ подходящих для этого — mklivestatus (рекомендуется по умолчанию начиная с версии NagVis 1.5) и NDOUtils (для работы через БД).

По моему мнению, если нет особых требований работать через БД, лучше использовать MK Livestatus, т.к. данная программа берёт данные непосредственно из процессов Nagios, что увеличивает скорость отображения событий и к тому же рекомендуется по умолчанию разработчиками NagVis.

К тому же NDOUtils мне так и не удалось заставить работать, в то время как с MK Livestatus не возникло трудностей.

Далее все описанные действия выполнялись на ОС Centos 7.1 .

Установка MK Livestatus

Вот инструкция на официальном сайте.

Скачиваем с официального сайта последнюю версию программы mk-livestatus. На сайте мне так и не удалось найти ссылку на страничку с исходниками, но как всегда меня выручил Google)))

Правим nagios.cfg и редактируем строки:

Рестартуем Nagios:

При перезапуске Nagios должен создать файл /usr/local/nagios/var/rw/live .

Проверим правильно ли запустился:

Должна быть строка:
Event broker module ‘/usr/local/lib/mk-livestatus/livestatus.o’ initialized successfully.

Установка NagVis

Устанавливаем необходимые модули php:

Скачиваем и распаковываем последнюю версию NagVis:

Переносим файлы и переходим в папку:

Далее запускаем установочный скрипт из распакованной директории, отвечаем на вопросы установщика и получаем готовый к использованию NagVis.

После установки вы получите доступ к web-интерфейсу по адресу http://<nagiosserver>/nagios/ , логин и пароль admin.

Что бы изменить доступ к web-интерфейсу нужно расскоментировать следующие строки:

Где в поле AuthUserFile указать путь к файлу где хранятся аутентификационные данные для доступа к Nagios или путь к отдельно созданному файлу для доступа к NagVis:

Не забываем перезапускать web-сервер после изменения в конфигурации:

!!!ВАЖНО!!! Конфиг для нашего web-интерфейса /etc/httpd/conf.d/nagvis.conf  написан для версии web-сервера Apache 2.2, если у вас версия Apache 2.4 то необходимо отредактировать 2 строки:

заменить на:

Подробнее о изменениях в синтаксисе конфигурационных файлов Apache смотреть здесь.

Ручная установка NagVis

Скопируем стандартный файл конфигурации /usr/local/nagvis/etc/nagvis.ini.php-sample:

Теперь отредактируем следующие строки:

Путь socket=»unix:/usr/local/nagios/var/rw/live» тот же, что и в broker_module из nagios.cfg.

Далее настраиваем доступ к web-интерфейсу.

Скопируем файл конфигурации для web-сервера etc/apache2-nagvis.conf-sample в директорию с файлами конфигурации web-сервера /etc/httpd/conf.d:

Теперь необходимо отредактировать скопированный файл, в котором надо заменить все @[email protected] на /nagvis и @[email protected] на /usr/local/nagvis/share.

А также, как было сказано выше, заменить 2 строки:

заменить на:

и расскоментировать строки для изменения доступа по умолчанию к web-интерфейсу:

О том что указывается в поле AuthUserFile было сказано выше.

Далее необходимо выставить права на папку с NagVis. Владельцем этой и всех вложенных папок необходимо сделать пользователя от имени которого запускается web-сервер, в моём случае это пользователь apache:

Перезапускаем web-сервер:

После этого NagVis будет доступен по адресу http://<nagiosserver>/nagios/ .

Настраивать ваши карты Вы можете как в web-интерфейсе (для модификации объекта на карте не забываем сделать «unlock» на нём из контекстного меню мыши) так и в конфигурационных файлах из /usr/local/nagvis/etc/maps/ , подробнее, о том, какие значения доступны в конфиг файлах смотреть Map Config Format Description.

Если нужно подробнее описать процесс настройки карт пишите в комментариях.

Заметки

Отображение правильного времени нужно установить правильную timezone для PHP:


7 комментариев к “Установка Web-интерфейса NagVis для системы мониторинга Nagios

  1. Спасибо, мэн за кошерный ман! 🙂
    Долго мучился с NDOUtils, но так же запустить его не удалось. Потом нашёл ваш ман для mklivestatus. На сайте проекта нашёл более новую версию 1.2.8p1, но с ней возникли проблемы при компиляции (make): /usr/bin/ld: cannot find -lstdc++ Так и не понял, чего ему не хватило. А потом решил попробовать версию, что ставили вы: 1.2.6p14 — всё прошло на-ура… Так что, ваш ман поместил себе в закладки! Спасибо! 🙂

    1. Спасибо за такой теплый отзыв) Старался описать всё как можно подробней) Рад что пригодилось)))

  2. Отличная статья, спасибо! В предустанавливаемых модулях не хватает php-xml, для Ubuntu точно. При проверке перед инсталляцией не находит его. Добавьте или оговорочку сделайте.
    mk-livestatus 1.2.8p23 — все работает!
    Если кто смотрел мануал на офсайте нагвиза, то там прединсталляционные пакеты для php 5 версии, внимательнее!

  3. Доброго времени суток!
    И снова по вашему ману установил Нагвис. Правда, без проблем в этот раз почему-то не обошлось…
    При попытке создать на карте какой-либо объект (Add Icon -> Host) вываливает длинюще сообщение с ошибкой:
    Failed to get objects: Error: (0) Undefined property: CorePDOHandler::$dataURL: /nagvis/server/core/ajax_handler.php?mod=Map&act=addModify&show=MEN-Huawei&type=host&x=1215&y=330&_ajaxid=1527517276 File: /usr/local/nagvis/share/server/core/classes/CorePDOHandler.php Line: 306 #0
    И так далее.
    Не доводилось ли вам сталкиваться с подобной ошибкой?
    Спасибо!

  4. У меня не заработало на Ubontu 18 как минимум по двум причинам:
    1. Работает ТОЛЬКО с mk-livestatus-1.2.6p14.tar.gz Все поздние версии не инсталлируются.
    2. Не работал веб. Оказалось файл nagvis.conf проинсталлился в /etc/apache2/conf-available , скопировал его в /etc/apache2/sites-enabled только тогда заработал.

Добавить комментарий для Bubblegum Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *