суббота, 20 ноября 2010 г.

Nagios3 + Nagiosql на Debian lanny squeeze INSTALL

Источники:
http://habrahabr.ru/blogs/linux/88293/
http://adminletters.blogspot.com/2009/09/nagios3-nagiosql-debian-lenny.html


Свой сервер мониторинга с nagios и cacti

Под катом советы по быстрому развертыванию «системы мониторинга» посредством nagios и cacti.

Предположим имеется девственно чистый сервер с предустановленным debian lenny. А нам предстоит сделать из этой бесформенной массы луна-парк с блэк джеком и девочками. Хм, хотя нет, наверное все таки нужно сделать сервер мониторинга с nagios и cacti.

Прежде всего необходимо поставить ssh сервер и mc (midnight commander), думаю комментировать зачем и почему мы это делаем излишне

debian:~# apt-get update
debian:~# apt-get install openssh-server
debian:~# apt-get install mc


Далее ставим nagios. Ставить будем «кошерным» способом, посредством apt. Это избавит нас от проблемы зависимостей, многочасового лазания в дебрях конфигурационных файлов и сократит время разворачивания системы.
И так, набираем магическую команду

debian:~# apt-get install nagios3

и, вуаля у нас уже установлен нагиос в минимальной конфигурации. Что же произошло? Менеджер пакетов просмотрел зависимости для пакета nagios3. Кроме базового пакета были установлены плагины к нагиосу, апач и много-много нужных библиотек.
Так же были созданы минимальные конфиги для нагиоса и апача. В теории все должно «работать из коробки», но как обычно приходиться пользоваться напильником.

Как мы можем увидеть, в конфиге /etc/nagios3/nagios.conf указано, что для доступа к nagios используется обыкновенная http авторизация, но к сожалению файла авторизации нет.
Дабы исправить сей скорбный факт создадим его командой

debian:~# htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin


Cоздает нового пользователя, если без ключа -с то доовляет в список позде можно изменить доступ к сайту в файле /etc/nagios3/cgi.cfg в это файле хроняться права на доступ к нагиос.
Прошу обратить внимание, что пользователь должен быть именно nagiosadmin, а не Вася, Люся или Петручио.
Это связано, с тем что по умолчанию в nagios.cfg пользователь c доступом ко всем функциям — nagiosadmin.
После можно добавить пользователя и указать для него доступ с правами только чтение в файле /etc/nagios3/cgi.cfg отметив нового пользователя в соответсвующий строках

Включаем обработку внешних команд, вещь нужная, например для «Re-schedule the next check of this host».

debian:~# mcedit /etc/nagios3/nagios.cfg

check_external_commands=1

Изменяем пермишенсы и владельцев

debian:~# chown -R nagios.www-data /var/lib/nagios3
debian:~# chmod -R 770 /var/lib/nagios3/spool
debian:~# chmod 644 /etc/nagios3/resource.cfg


Установка nagios3 завершена. Мы можем зайти в интерфейс nagios3 набрав в Вашем любимом браузере:
http ://youre_server_ip/nagios3

NagiosQL

Теперь с чистой совестью приступим к его конфигурации. Вы можете с головой погрузиться в конфигурационные файлы и часами их править, получая неописуемое удовлетворение множественные оргазмы от данного процесса. Либо совершить акт настройки нагиоса посредством веб интерфейса. Например, применив NagiosQL.
Дабы соблюсти «кошерность» установки NagiosQL, добавим репозиторий с присобранным NagiosQL в список репозиториев.
Список репозиториев находиться в /etc/apt/sources.list:

deb http:// debian.swobspace.net lenny main
deb-src http:// debian.swobspace.net lenny main


Дальше, что бы из репозитория debian.swobspace.net получить только NagiosQL создадим файл /etc/apt/preferences

debian:~# nano /etc/apt/preferences

и в нем укажем, наши предпочтения по установке пакетов

Package: *
Pin: origin debian.swobspace.net
Pin-Priority: 200


Package: nagiosql
Pin: origin debian.swobspace.net
Pin-Priority: 600


Получаем и импортируем ключи для репозитория debian.swobspace.net
debian:~# wget http:// www.swobspace.net/wob@swobspace.net.pub.asc -O- | apt-key add -

Обновляем список пакетов
debian:~# apt-get update

Устанавливаем NagiosQL
debian:~# apt-get install nagiosql

Именно здесь Мы целиком и полностью видим преимущество «кошерного» подхода в установке пакетов, в зависимостях оказались php, mysql, необходимые модули и библиотеки. Не надо ломать голову почему не работает какая то функция, или почему не генерируется график.
Во время установки вас спросит root пароль для доступа к базе данных mysql, обязательно запишите его на листочке.

Настройка
1.Активируем установщик NagiosQL
debian:~# touch /usr/share/nagiosql/htdocs/install/ENABLE_INSTALLER

2. Заходим http://youre_server_ip/nagiosql и в интуитивно понятном веб интерфейсе выполняем установку, именно здесь и потребуется тот клочок пергамента на котором мы неясными каракулями записали root пароль от mysql. Впроцессе установки будет созданна база данных (имя базы оставить по умолчанию) в mysql, нужно задать логин и пароль с которым nagioosql будет конектиться к базе, потом указать рутовый логин(root) и пароль к базе даныых что бы установщик nagiosql создал ту самую базу. Также нада указать админский логин и пароль для администрирования nagiosql через web-браузер.


3. После удачной установки деактивируем установщик NagiosQL
debian:~# rm -f /usr/share/nagiosql/htdocs/install/ENABLE_INSTALLER
для надежности можно удалить всю папку с установщиком
debian:~# rm -rf /usr/share/nagiosql/htdocs/install

4. Добавляем в /etc/nagios3/nagios.cfg строку.
cfg_dir=/etc/nagiosql/domains/localhost

5. Создаем папку /etc/nagios/import и копируем в нее все конфиги из /etc/nagios3/conf.d и /etc/nagios-plugins/. И импортируем их в NagiosQL.
cp /etc/nagios3/commands.cfg /etc/nagios3/import/
cp /etc/nagios3/conf.d/* /etc/nagios3/import/
cp /etc/nagios-plugins/config/* /etc/nagios3/import/

Импорт данных осуществляется в меню Tools => Data import //в браузере 127.0.0.1/nagiosql

7. Обнулим конфигурацию нагиоса, она будет перезаписана nagiosql

echo > /etc/nagios3/commands.cfg
cd /etc/nagios-plugins/config
ls -1 | awk '{system("echo > "$1);}'
cd /etc/nagios3/conf.d/
ls -1 | awk '{system("echo > "$1);}'


8. Зададим пароль для админа
htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin

9. Перезапускаем нагиос
/etc/init.d/nagios3 restart

Если выдает ошибки:

Total Warnings: 0
Total Errors: 3

One or more problems was encountered while running the pre-flight check...

Check your configuration file(s) to ensure that they contain valid
directives and data defintions. If you are upgrading from a previous
version of Nagios, you should be aware that some variables/definitions
may have been removed or modified in this version. Make sure to read
the HTML documentation regarding the config files, as well as the
'Whats New' section to find out what has changed.

errors in config! ... failed!
failed!


в браузере 127.0.0.1/nagiosql в Tools Nagios Control выбирите Check configuration files: "Do it"
и выполните
/etc/init.d/nagios3 restart

потом Write monitoring data "Do it"
и выполните
/etc/init.d/nagios3 restart

потом "Write additional data" "Do it"
и выполните
/etc/init.d/nagios3 restart


##############
Если ошибка при выполнении команыды /etc/init.d/nagios3 restart


Restarting nagios3 monitoring daemon: nagios3

Nagios Core 3.2.1
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 03-09-2010
License: GPL

Website: http://www.nagios.org
Reading configuration data...
Error in configuration file '/etc/nagios3/nagios.cfg' - Line 145 (Illegal value for check_external_commands)
Error processing main config file!



***> One or more problems was encountered while processing the config files...

Check your configuration file(s) to ensure that they contain valid
directives and data defintions. If you are upgrading from a previous
version of Nagios, you should be aware that some variables/definitions
may have been removed or modified in this version. Make sure to read
the HTML documentation regarding the config files, as well as the
'Whats New' section to find out what has changed.

errors in config! ... failed!
failed!


Вы не указали (см.вверху) обработку внешних команд.
Включаем обработку внешних команд, вещь нужная, например для «Re-schedule the next check of this host».
debian:~# mcedit /etc/nagios3/nagios.cfg
check_external_commands=1


Перезапускаем нагиос
/etc/init.d/nagios3 restart

для того, чтобы коммнады check_alive_fast и подобные появились в конфигурации хостов, надо поменять им тип с "misc" на "check"

теперь нагиос будет доступен по адресу
http://yourhost.com/nagios3
а админка к нему
http://yourhost.com/nagiosql