The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка и настройка Nagios3 и Centreon в Debian Lenny (monitoring nagios debian)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: monitoring, nagios, debian,  (найти похожие документы)
From: Коробанов Сергей <ksi_korobanov@mail.ru.> Newsgroups: email Date: Mon, 22 Mar 2010 17:02:14 +0000 (UTC) Subject: Установка и настройка Nagios3 и Centreon в Debian Lenny Оригинал: http://ksimute.trancom.ru/mediawiki/index.php/Nagios-Installation-Lenny-Step-By-Step Задача - поставить nagios3, настроить мониторинг прикрутить к нему centreon, Только как фронтенд для красивого и удобного предоставления информации. И как reporting у него красив, а "бизнес" любит красивые графики. Функцию построения конфигурационных файлов нагиоса использовать не будем. Они скриптом из датабазы строятся. Со старту скажу ставится сложно. Вернее вроде как и без особых хаков, но несколько раз почитать исходники пришлось. Создатели например нигде не обмолвились, что пользователь, под которым стартуют демоны обязательно должени иметь логин шел... Впринципе это из init скриптов понятно, но пока пришло осознание, почему не стартуют демона, чуть мозг не свернул. т.к. не дал права mysql пользователю centreon на поменять базу ndoutils небыли созданы многие таблицы, об чем инсталлятор тоже не обмолвился. Пришлось читать логи, исходники и грепать установочные файлы. Вообщем французы... Если удалить дефолтный конфиг нагиоса и poller в gui, прописать новые, то centreon может полностью потерять работоспособность (id в некоторых базах должны совпадать). И т.п. Вообщем если кто-то поставил centreon без проблем, честь ему и хвала, считайте повезло. :). Если кто-то будет копипастить статью, пожалуйста, указывайте ссылку на оригинал. Ставим 3-й Nagios В отдельный vserver заворачивать мониторинг не стал. В тестовой домашней инсталляции смысла нет. Позже, возможно, поставлю еще nagiosgrapher - я не использовал, есть смысл посмотреть его возможности. ndoutils-nagios3-mysql - о ndo2db я уже писал (http://ksimute.trancom.ru/mediawiki/index.php/Ndoutils) они являются датаброкером для нагиоса, простыми словами - поставляют данные сentreon-у. # aptitude install nagios3 nagios3-doc ndoutils-nagios3-mysql snmpd правим /etc/nagios.cfg comand_check_interval=15s был -1 (check for external commands as often as possible) каждые 15 сек. Хватит. admin_email = myemail@mydomain.ru admin_pager = myemail@email2sms.somwhere.somecountry Остальное все устраивает. Конфиги /etc/nagios/conf.d На самом деле самое главное при внедрении нагиоса распланировать какие хосты и сервиса мы планируем мониторить, и эскалацию проблем. Пока планируем мониторинг локал хоста, wifi роутера, и хостинга. А также некоторых других доменов. Еще добавим рабочую станцию и ноутбук но мониторить их будем хитро! Т.к. они периодически выключаются, буду считывать с них данные по SNMP или Munin нодой. О состоянии диска, raid массивах, температуре и т.п. и алармить если все грустно. А когда сам хост недоступен, nagios будет молчать т.к. icmp ping проверка физического хоста будет parent. Группы администрирования нам пока не нужны. Добавим пользователя nagiosadmin для управления всия мониторингом. #cd /etc/nagios3 #htpasswd -c htpasswd.users nagiosadmin собственно работает... http://home-gate.mydomain.mycountry/nagios3/ Ставим Centreon Последняя стабильная версия на данный момент 2.1.5 читаем INSTALL * RRDTOOL * perl/RRDTOOL (RRDs.pm) * Net::SNMP To use Centreon, you need to have on your server : * php5 * php-mysql * php-pear * php-snmp * php-posix * php-ldap (if you would like to use LDAP authentification) * gd-devel * libpng * perl-config-IniFiles * perl-Crypt-DES * perl-Digest-HMAC * perl-Digest-SHA1 * perl-GD * perl-IO-Socket-INET6 * perl-Net-SNMP * perl-rrdtool * perl-Socket6 проверяем, доставляем rrdtool, librrds-perl, php5-snmp, libsnmp-perl, php-pear cмотрим phpinfo(); posix есть ldap - ненужен libgd-dev - virtual "libgd-dev" является виртуальным пакетом, предоставленный: libgd2-xpm-dev libgd2-noxpm-dev поставим если что-то не хватает из libgd2-xpm-dev, libconfig-inifiles-perl, libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl libio-socket-inet6-perl libnet-snmp-perl libsocket6-perl librrdp-perl (This package contains a Perl interface to RRDs using command pipes. ) librrds-perl (This package contains a Perl interface to RRDs using a shared library.) Какой ставить - в душе не знаю... Поставлю librrds-perl поехали! # aptitude install rrdtool librrds-perl php5-snmp libsnmp-perl php-pear libgd2-xpm-dev libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl libio-socket-inet6-perl libnet-snmp-perl libsocket6-perl librrds-perl Потянулось немножко зависимостей, устновилось :) Мануал по установке centreon лаконичен до безобразия. run install.sh # ./install.sh -i -v Слушаем вопросы, отвечаем ответы. Внимание - ответы на следующие вопросы отличаются от ответов по-умолчанию. Where is installed Nagios ? default to [/usr/local/nagios] > /usr/lib/cgi-bin/nagios3/ Path /usr/lib/cgi-bin/nagios3/ OK Where is your nagios config directory default to [/usr/local/nagios/etc] > /etc/nagios3 Path /etc/nagios3 OK Where is your Nagios var directory ? default to [/usr/local/nagios/var] > /var/lib/nagios3 Path /var/lib/nagios3 OK Where is your Nagios plugins (libexec) directory ? default to [/usr/local/nagios/libexec] > /usr/lib/nagios/plugins/ Path /usr/lib/nagios/plugins/ OK /usr/sbin/nagios3 OK Where is your Nagios image directory ? default to [/usr/local/nagios/share/images/logos] > /usr/share/nagios/htdocs/images/logos/ Path /usr/share/nagios/htdocs/images/logos/ OK /usr/sbin/nagios3stats OK p1_file : /usr/lib/nagios3/p1.pl OK /usr/bin/php OK /usr/bin/perl OK Finding Apache group : www-data Finding Apache user : www-data Finding Nagios user : nagios Finding Nagios group : nagios Where is your NDO ndomod binary ? default to [/usr/sbin/ndomod.o] > /usr/lib/ndoutils/ndomod-mysql-3x.o /usr/lib/ndoutils/ndomod-mysql-3x.o OK Работает http://myserver.mydomain.myzone/centreon/ Завершаем инсталляцию. Там все линейно. Верификация созданного конфига, генерация базы. Дальше читаем readme Внимание этот пункт не забываем! mysql> GRANT ALTER on ndoutils.* TO 'centreon'@'localhost' -> ; Query OK, 0 rows affected (0.03 sec) Конфигурируем брокер модуль в нагиосе. Т.е. centreon использует базу поддерживаемую ndoutils (ndo2db) и надо нагиосу рассказать, что он должен передавать данные брокеру ndo. правим #vi /etc/nagios3/nagios.cfg #broker_module=/somewhere/module2.o arg1 arg2=3 debug=0 broker_module=/usr/lib/ndoutils/ndomod-mysql-3x.o config_file=/etc/nagios3/ndomod.cfg /etc/init.d/nagios3 restart Cмотрим выборку mysql> use ndoutils mysql> select * from nagios_services \G; Поперли данные! Идем в Web интерфейсе centreon configuration->centreon->ndo2db.cfg Правим, прописываем настройки для базы ndoutils. И в интерфейсе начинают отображаться наши хосты. Сервисы и т.п. Теперь нужна карта и бизнес модуль. Загружаем конфиги nagios.cfg Для этого тарим на нагиосе /etc/nagios3 загружаем к себе на рабочую станцию и через web gui заливаем. Я бы не стал после заливки nagios.conf удалять конфиг centreon. т.к. глюки появляются с id в разных базах. А просто привел его ручкамми в соответствие с нашим текущим. Аналогично и с cgi.conf потом выбираем template метод указываем все тотже tar.gz и информация о наших хостах хостгруппах и сервисах появляется в базе centreon. т.е. Centreon в базе построии таблички в соответствии с нашим конфигом нагиоса. Теперь пошли багфиксы... Скорее "фиксы конфигов". Со старту ничего не заработало. И это какбы коммерчесский софт :( 1. Даем nagios пользователю /bin/bash shell чтобы демоны запустились. 2. Права на папки # Cron for CentACL */2 * * * * www-data /usr/bin/php -q /usr/local/centreon/cron/centAcl.php >> /usr/local/centreon/log/centAcl.log 2>&1 использует /var/lib/centreon/log/ права drwxr-xr-x 2 nagios nagios А скрипт запускается от www-data. Дадим 777 для тесту, потом посмотрим с какими создаются файлы, сделаем выводы, урежем. Чтобы nagios process info выдавал, имя instance_name в ndoutils.nagios_instances должно соответствовать имени в centreon.nagios_server От этого еще много чего зависит, отображение логов построение графиков и т.п. mysql> use ndoutils mysql> select * from nagios_instances; +-------------+---------------+----------------------+ | instance_id | instance_name | instance_description | +-------------+---------------+----------------------+ | 1 | default | | +-------------+---------------+----------------------+ Правим ndomod.cfg instance_name=Central рестартуем nagios и ndoutils Появилась информация. Желательно конечно после такой стремительной атаки truncate таблицам в базе ndoutils сделать. Иначе дублирование хостов и сервисов получим, только копии будут с instance default. Как базу почистить: Получим список таблиц и сформируем запрос на трункирование mysql> SELECT concat('TRUNCATE TABLE ', TABLE_NAME, ' ;') FROM information_schema.TABLES WHERE TABLE_NAME LIKE 'nagios_%' AND TABLE_SCHEMA='ndoutils'; Правим view т.е. Perfomance-графики Это последнее что осталось неработающим. Впринципе они нам соовсем не нужны, munin есть и все что надо рисуем, но уж надо забороть для полноты инсталляции. (об этом упоминания в официальной документации не нашел). в /etc/nagios.conf должно быть так: check_external_commands=1 process_performance_data=1 service_perfdata_command=process-service-perfdata #host_perfdata_file=/var/lib/nagios3/host-perfdata #service_perfdata_file=/var/lib/nagios3/service-perfdata Комманда process-service-perfdata у nagiosa своя. Ее комментируем ставим центреоновскую #vi /commands.cfg #'process-service-perfdata' command definition # define command{ # command_name process-service-perfdata # command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t $SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t $SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/lib/nagios3/service-perfdata.out #} define command{ command_name process-service-perfdata command_line $USER1$/process-service-perfdata "$LASTSERVICECHECK$" "$HOSTNAME$" "$SERVICEDESC$" "$LASTSERVICESTATE$" "$SERVICESTATE$" "$SERVICEPERFDATA$" } Смотрим, файлик обрабатывается данные поперли, лог ругается. :) смотрим исходники, временных диапазонов сервисам не хватает. Теперь создаем сервисам template generic-service, где укажем временные диапазоны и т.п. и графики начнут строиться. Официальная Howto - http://en.doc.centreon.com/Setup:Prerequisite/Debian/Ubuntu Правда там все грустно достаточно информации мало только про дополнительные пакеты хорошо написано. А форум у них наполовину на французском и отвечают вяло. P.S. centreon это конечно хорошо, но если не стоит задача его использовать как gui замена конфигуратора нагиоса а как фронтэнд + SLA репортер, я бы задумался о его внедрении. Слишком тяжелоконфигурабельно.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, Toyo (?), 15:17, 02/12/2010 [ответить]  
  • +/
    Все клево, но ты тоже так красиво сократился, что аж забыл написать про установку ndomod :)
     
  • 2, Toyo (?), 15:21, 02/12/2010 [ответить]  
  • +/
    apt-get install ndoutils-nagios3-mysql
     
  • 3, redbaron (?), 18:02, 21/12/2010 [ответить]  
  • +/
    Очень полезно включать debug режим для разных вещей в Administration - Options - Options - Debug и смотреть на вывод лог файлов.

    Если не генерятся графики для сервисов то идем в Administration - Options - Centstorage - Manage, выбираем нужный сервис и смотрим Number of values справа. Если там 0 то perfdata не поступает корректно.  Делаем tail -f /var/lib/nagios3/service-perfdata и ждем пару минут. Nagios доолжен складывать туда инфу, а процесс centstorage забирать и подчищать файл.


    Обязательно display_errors=Off в php.ini, иначе графики не сгенерятся (точнее сгенерятся, но побитые и apache их не распознает как картинку и бразуер их не сможет показат, т.к. ошибки php будут идти впереди заголовка png файла).

     
  • 4, r1sh (ok), 17:29, 15/02/2011 [ответить]  
  • +/
    Вроде сделал все по how-to а при добавлении хостов в разделе Configuration они не отображаются в разделе Monitoring...
     
  • 5, mobilesfinks (?), 13:20, 16/02/2011 [ответить]  
  • +/
    Спасибо за статью.
    После установки и настройки обнаружил, что не запустился ndo2db
    соответственно вручную пришлось запустить - тогда Nagios смог в БД скинуть конфиги
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру