NagVis: Установка и первоначальная настройка
В прошлой статье я расказывал о такой отличном расширении для Nagios как NagVis, сегодня я опишу как его ставить.
Предпологается что вы имеете:
- Linux или FreeBSD (у меня был FreeBSD) поэтому будут некоторые оговорки
- Nagios 2 или 3
- Apache
- MySQL
- PHP5
- php5-gd
- php5-gettext
- php5-mysql
- php5-mbstring
- php5-session
- php5-xml
Оговорки
Т.к. под рукой у меня был сервер с FreeBSD некоторые пакеты я ставил прямиком из портов, а именно:
- PHP5 и его модули
- MySQL
- Nagios 2
- Apache2
Ниже я не буду рассказывать как я это все ставил, в том числе Nagios, я искренне надеюсь что вы сумеете воспользоватся Google и найти ответы на эти вопросы, а также что вы не настолько крутой хацкер что вас забанили в Google.
0. Документация
Прошлая статья цикла: NagVis: управление сложностью в Nagios
Официальная документация по NagVis: http://www.nagvis.org/documentation
Cтраница NDOUtils: http://www.nagios.org/download/addons/
Официальная документация по NDOUtils: http://support.nagios.com/knowledgebase/officialdocs
1. Установка NDO2Utils
NDO2Utils это модуль для Nagios который сохраняет текущее состояние всего что мы мониторим в базу данных (в нашем случае это будет MySQL), а оттуда ее уже могут брать сторониие приложения. В скором будующем я надеюсь закончить перевод документации по NDO2Utils, она может немного прояснить ситуацию.
Итак, не вдаваясь в подробности, скачиваем тарбол с исходниками NDO2Utils отсюда
http://www.nagios.org/download/addons/
или
wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz |
и распаковываем.
Во FreeBSD мне почему-то пришлось поправить сорсы (нужно всетаки качать стабильные врсии программ
), в файле include/config.h заменяем
#define HAVE_MYSQL 1 #include <mysql/mysql.h> #include <mysql/errmsg.h> |
на
#define HAVE_MYSQL 1 #include <mysql.h> #include <errmsg.h> |
Конфигурируем, собираем, ставим.
./configure && make && make install |
Теперь нужно создать базу данных для NDO2Util и инициализировать ее. Предпологается что пользователь «root» у вас без пароля (сам знаю
).
# Заходим в папку "db" cd db/ # Создаем базу данных ndo mysql -e create database ndo; # Инициализируем ее ./installdb -u root -p '' -h localhost -d ndo |
Если Все прошло без ошибок, значит вы бородаты, если нет, задавайте вопросы будем разбиратся
.
1.1 Настройка NDO2Utils
Для FreeBSD:
cp ndomod.cfg-sample /usr/local/etc/nagios/ndomod.cfg cp ndo2db.cfg-sample /usr/local/etc/nagios/ndo2db.cfg mkdir /usr/local/nagios/var/ |
Для * Linux (если вы ставились не из исходников, то файлы копируются в /etc/nagios/):
cp ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg cp ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg |
Открываем файл /usr/local/etc/nagios/ndo2db.cfg, находим и меняем
db_name=nagios ... db_user=ndouser db_pass=ndopassword |
на
db_name=ndo ... db_user=root db_pass= |
Запустить сервис NDO2DB можно выполнив следующую команду
/usr/local/nagios/bin/ndo2db -c /usr/local/etc/nagios/ndo2db.cfg |
«Остановить» сервис можно выполнив
killall ndo2utils |
Его по хорошему нужно добавить в автозагрузку, можно в rc.conf можно при загрузке Nagios, а можно наварганить собственный скрипт для init – дерзайте
.
Ну и последний пункт настройки NDO2Utils, добавление его в Nagios. Находим свой файл nafios.cfg (/usr/local/nagios/etc/, /etc/nagios/, /usr/local/etc/nagios/) и добавляем в него следующие строки:
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/etc/nagios/ndomod.cfg event_broker_options=-1 |
Оговорка
Возможно у вас как и у меня установлен Nagios 2й версии, NDO2Utils по умолчанию предпологает что у вас Nagios v3. Чтобы поставить правильную версию выполните «make install-2x», если и это не поможет (как было у меня), скопируйте нужный файл руками (предварительно выполнив «make install»):
cp src/ndomod-2x.o /usr/local/nagios/bin/ndomod.o |
это связано с тем что для Nagios v2 и v3 нужены разные модули-брокеры.
1.2 Проверка работы NDO2Utils
Ну вот мы уже почти и закончили, осталось только проверить что NDO2Utils работает так как нужно.
1) Перезапустите сервис Nagios`а и откройте его лог (/var/spool/nagios/nagios.log для FreeBSD, /var/log/nagios/nagios.log для CentOS-like, /usr/local/nagios/var/nagios.log если вы ставились из чистых сорсов). Найдите там строки вроде таких:
[1257520535] ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors [1257520535] ndomod: Successfully connected to data sink. 0 queued items to flush. [1257520535] Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
Если нет, вы должны увидеть ошибку, если ее созерцание вам ничем не помогло, переходим к пункту 2
2) В файле ndo2db.cfg выставляем следующие параметры:
... debug_verbosity=2 ... debug_level=-1 ... |
Эти опции выставляют уровень логирования на максимум (непонятно почему, но по другому брокер NDO никак не показываетсоей работы). Подсматриваем что у нас в опции конфига debug_file, у меня «/usr/local/nagios/var/ndo2db.debug», выполняем
tail -f /usr/local/nagios/var/ndo2db.debug |
Если все было сделано правильно, вы увидите кучи бегущих SQL-запросов, если нет ищем ошибки или пишем в комментарии
. После того как все проверено опции логирования в ndo2db.cfg лучше вернуть на место…
2. Установка и настройка NagVis
Для начала нужно скачать последнюю версию NagVis отсюда: http://nagvis.org/downloads.
Далее разархивируем тарбол и копируем его содержимое в папку в которой лежит веб интерфейс для Nagios (во FreeBSD это «/usr/local/www/nagios/nagvis/»).
Заходим в папку NagVis`а и создает для него конфиг из уже готового:
cp etc/nagvis.ini.php-sample etc/nagvis.ini.php vim etc/nagvis.ini.php |
Далее меняем:
[backend_ndomy_1] ; type of backend - MUST be set backendtype="ndomy" ; hostname for NDO-db dbhost="localhost" ; portname for NDO-db dbport=3306 ; database name for NDO-db dbname="ndo" ; username for NDO-db dbuser="root" ; password for NDO-db dbpass="" ; prefix for tables in NDO-db dbprefix="nagios_" ; instance name for tables in NDO-db dbinstancename="default" ; maximum delay of the NDO Database in seconds maxtimewithoutupdate=180 ; path to the cgi-bin of this backend htmlcgi="/nagios/cgi-bin" ... allowedforconfig="admin" |
Опция «allowedforconfig» должна содержать имена пользователей которым разрешено редактировать карты в NagVis (они задаются в файле .htacess для Nagios`а). Разрешаем доступ для Apache к NagVis:
chmod -R www:www /usr/loca/www/nagios/nagvis |
Для особых «ценителей» и «гурманов» статья о том как правильно выставить права на файлы: http://docs.nagvis.org/1.4/en_US/installer.html («STEP 5: Permissions»).
Открываем в браузере URL http://

Заключение
В следующей статье попытаюсь рассказать о том как создавать собственные карты и что собственно с ними нужно делать. Ну а для затравки особых читателей, то что у меня есть сейчас:




