Для начала устанавливаем вэб-сервер, через который мы будем работать с Nagios, а также включаем аутентификационные и авторизационные модули:
Далее ставим сам Nagios, документацию к нему, которая будет доступна из вэб-интерфейса, плагин, при помощи которого Nagios будет обращаться за данными к другим машинам, а также утилиты для построения графиков:
При установке aptitude поставит все необходимые зависимости.
По умолчанию доступ к панели Nagios осуществляется как-то по-деревенски:
http://IP.ADD.RE.SS/nagios3, а мы сделаем красиво: http://nagios.nodesquad.com
Для этого создадим конфиг виртхоста:
И теперь включим этот виртхост:
После чего перезагрузим Apache:
Далее заходим на http://nagios.nodesquad.com с учетной записью LDAP и проверяем, если работает менюшка документация (вторая сверху). Если нет, то:
А потому продолжить нужно с этой статьи:
LDAP-Configured Nagios
Теперь настроим графики.
Установим необходимые пакеты:
aptitude install apache2
a2enmod auth_basic authn_file authnz_ldap authz_default authz_groupfile authz_host authz_user
Далее ставим сам Nagios, документацию к нему, которая будет доступна из вэб-интерфейса, плагин, при помощи которого Nagios будет обращаться за данными к другим машинам, а также утилиты для построения графиков:
aptitude install nagios3 nagios3-doc nagios-nrpe-plugin nagiosgrapher
При установке aptitude поставит все необходимые зависимости.
По умолчанию доступ к панели Nagios осуществляется как-то по-деревенски:
http://IP.ADD.RE.SS/nagios3, а мы сделаем красиво: http://nagios.nodesquad.com
Для этого создадим конфиг виртхоста:
tee > /etc/apache2/sites-available/nagios
<
VirtualHost *: 80>
ServerAdmin root@localhost
ServerName nagios.nodesquad.com
DocumentRoot /usr/share/nagios3/htdocs
ScriptAlias /cgi-bin/nagios3 /usr/lib/cgi-bin/nagios3
ScriptAlias /cgi-bin /usr/lib/cgi-bin/nagios3
# Where the stylesheets (config files) reside
Alias /stylesheets /etc/nagios3/stylesheets
<
DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets) >
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride AuthConfig
Order Allow,Deny
Allow From All
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthName "Maxifier Nagios"
AuthLDAPURL "ldap://ds1.nodesquad.com/ou=people,dc=nodesquad,dc=com?uid"
Require valid-user
#Satisfy any
<
/DirectoryMatch >
ErrorLog ${APACHE_LOG_DIR}/nagios.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/nagios.access.log combined
<
/VirtualHost>
И теперь включим этот виртхост:
a2ensite nagios
После чего перезагрузим Apache:
invoke-rc.d apache2 restart
Далее заходим на http://nagios.nodesquad.com с учетной записью LDAP и проверяем, если работает менюшка документация (вторая сверху). Если нет, то:
Так как LDAP редко ставят в маленьких учреждениях, то прежде чем начать его конфигурировать, нужно привести в соответствие с требованиями по функциональности и надежности (как например дублирование конфигов между нодами Nagios).cd /usr/share/nagios3/htdocs/docscp toc.html index.php
А потому продолжить нужно с этой статьи:
LDAP-Configured Nagios
Теперь настроим графики.
Установим необходимые пакеты:
apt-get install autoconf rrdtool perl perl-base perl-modules libcalendar-simple-perl libgd-gd2-perl perlmagick librrds-perl liburi-perl
Открываем конфиг и дополняем его:
vim /etc/nagios3/nagios.cfg
# Definitions for monitoring graphs
cfg_dir=/etc/nagiosgrapher/nagios3/serviceextprocess_performance_data=1
service_perfdata_file=/var/lib/nagiosgrapher/service-perfdata
service_perfdata_file_template=$HOSTNAME$\t$SERVICEDESC$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\t$TIMET$\n
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=30
service_perfdata_file_processing_command=process-service-perfdata-file
Теперь настраиваем конфиг графа:
vim /etc/nagiosgrapher/ngraph.ncfg
interface file
perffile_path /var/lib/nagiosgrapher/
Добавляем определение новой команды:
vim /etc/nagios3/commands.cfg
define command{
command_name process-service-perfdata-file
command_line mv /var/lib/nagiosgrapher/service-perfdata /var/lib/nagiosgrapher/service-perfdata.$TIMET$
}
И перезапускаем NagiosGrapher с новыми настройками:
invoke-rc.d nagiosgrapher restartЧерез несколько минут, когда наберется какая-то статистика, нужно будет еще раз перезапустить, иначе картинки напротив сервисов не отобразятся.
invoke-rc.d nagios3 restart
Если в дальнейшем нужно будет добавить сервисы, то сначала смотрим для данного сервиса как выглядит строка лога:
tailf /var/log/nagiosgrapher/ngraph.log
Затем здесь находим конфиг этого сервиса или, если он отсутствует, создаем по аналогии с другими:
/etc/nagiosgrapher/ngraph.d/standard/
И в графе service_name пишем имя сервиса service_name (совпадает с полем service_description в файле /etc/nagios3/conf.d/services_nagios2.cfg ) и graph_log_regex - регулярное выражение, по которому NagiosGrapher определит, что засчитать в качестве показателя.
Если NagiosGrapher подхватит нормально изменения, то они отобразятся здесь:
/etc/nagiosgrapher/nagios3/serviceext <--- но вручную тут ничего менять нельзя.
***********************
Настройка общения между сервером Nagios и серверами, которые надо мониторить.
На каждой клиентской машине устанавливаем серверную часть, которая будет слушать обращения от опрашивающего подопечных Nagios-сервера и пакеты с плагинами:
apt-get install nagios-nrpe-server nagios-plugins nagios-plugins-basic nagios-plugins-standardИ также на каждой клиентской машине даем пользователю nagios возможность запускать плагины от имени рута. Это нужно для некоторых плагинов, которые работают с данными, недоступными обычным смертным. Например check_md_raid или частично check_disk:
apt-get install sudo
echo "nagios ALL=(ALL) NOPASSWD:/usr/lib/nagios/plugins/" >> /etc/sudoers
Далее правим файл /etc/nagios/nrpe.cfg, в котором указываем с каких IP можно сюда приходить на порт 5666:
allowed_hosts=127.0.0.1,192.168.1.74,162.33.200.225,162.33.200.226
И там же прописываем имена команд от Nagios-сервера и пути к скриптам, которые исполняются при вызове этих команд:
command[check_users]=/usr/lib/nagios/plugins/check_users -w 15 -c 30Затем нужно убедиться, что фаерволл не закрывает порт 5666 (он тоже указан в конфиге /etc/nagios/nrpe.cfg)
command[check_load]=/usr/lib/nagios/plugins/check_load -w 30,25,20 -c 40,35,30
command[check_disk]=sudo /usr/lib/nagios/plugins/check_disk -w 7% -c 3%
command[check_sensors]=sudo /usr/lib/nagios/plugins/check_sensors -w 10 -w 20
command[check_mysql]=/usr/lib/nagios/plugins/check_mysql -u root -p root
command[check_procs]=/usr/lib/nagios/plugins/check_procs
command[check_procs_zombie]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_procs_total]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
command[check_procs_fcron]=/usr/lib/nagios/plugins/check_procs -c 1:8 -C fcron
command[check_unix_mem_usage]=sudo /usr/lib/nagios/plugins/check_unix_mem_usage.pl -u MiB -m -p -w 95,90,,10 -c 100,95,,20
command[check_md_raid]=sudo /usr/lib/nagios/plugins/check_md_raid
Ну и наконец перезагружаем нашу агентскую штуку:
invoke-rc.d nagios-nrpe-server restartТеперь с Nagios-сервера пробуем достучаться до машины, на которой мы это сейчас настроили:
/usr/lib/nagios/plugins/check_nrpe -H server1.nodesquad.com
если все в порядке, то Вы увидите версию тамошнего NRPE:
NRPE v2.12
Осталось создать конфиг, чтобы Nagios мог мониторить это автоматически.
Переходим в директорию, где все эти конфиги живут:
cd /etc/nagios3/conf.d
define host{Также в файле hostgroups_nagios2.cfg добавляем его в выбранные сервисы.
use generic-host ; Name of host template to use
host_name server1
alias Server1
address server1.nodesquad.com
}
И теперь рестартуем Nagios:
service nagios3 reload
Можно познакомиться с аддонами для Nagios: NetWays Addons
Также можно настроить Оповещения из Nagios телефонным звонком
Надстройка над Nagios, упрощающая работу в промышленных масштабах: DNX
Ну и конечно целая гора плагинов, которые ставятся на проверяемые сервера: Nagios Plugins
Комментариев нет:
Отправить комментарий