Nagios графики и прием SNMP Traps — различия между версиями

Материал из IN-TON
Перейти к: навигация, поиск
Строка 14: Строка 14:
 
make fullinstall</code>
 
make fullinstall</code>
 
Инсталятор расчитан на HTTPD в нашем случае Apache2, поэтому переносим конфиг на место, включаем его в apache и подчищаем мусор.
 
Инсталятор расчитан на HTTPD в нашем случае Apache2, поэтому переносим конфиг на место, включаем его в apache и подчищаем мусор.
Также в конфиге необходимо исправить параметр AuthUserFile и указать путь к реальному файлу авторизации, в нашем случае /etc/nagios3/htpasswd.users
+
Также в конфиге необходимо исправить параметр '''AuthUserFile''' и указать путь к реальному файлу авторизации, в нашем случае '''/etc/nagios3/htpasswd.users'''
 
<code>mv /etc/httpd/conf.d/pnp4nagios.conf /etc/apache2/conf-available/
 
<code>mv /etc/httpd/conf.d/pnp4nagios.conf /etc/apache2/conf-available/
 
rd /etc/httpd/conf.d
 
rd /etc/httpd/conf.d
Строка 20: Строка 20:
 
a2enconf pnp4nagios
 
a2enconf pnp4nagios
 
service apache2 reload</code>
 
service apache2 reload</code>
Теперь браузером заходим http://address-nagios/pnp4nagios и проверяем все ли в порядке, в моем случае необходимо было включить mod_rewrite в apache и установить php-gd
+
Теперь браузером заходим http://address-nagios/pnp4nagios и проверяем все ли в порядке, в моем случае необходимо было включить '''mod_rewrite''' в '''apache''' и установить '''php-gd'''
 
<code>aptitude install php5-gd
 
<code>aptitude install php5-gd
 
a2enmod rewrite
 
a2enmod rewrite
Строка 28: Строка 28:
 
cp ./source_php4nagios/contrib/ssi/status-header.ssi /usr/share/nagios3/htdocs/ssi</code>
 
cp ./source_php4nagios/contrib/ssi/status-header.ssi /usr/share/nagios3/htdocs/ssi</code>
 
Осталось настроить Nagios.
 
Осталось настроить Nagios.
В Nagios.cfg выставляем следующие параметры:
+
В '''Nagios.cfg''' выставляем следующие параметры:
 
<code>process_performance_data=1
 
<code>process_performance_data=1
  
Строка 48: Строка 48:
 
host_perfdata_file_processing_interval=15
 
host_perfdata_file_processing_interval=15
 
host_perfdata_file_processing_command=process-host-perfdata-file</code>
 
host_perfdata_file_processing_command=process-host-perfdata-file</code>
В конфиг commands.cfg добавляем следующее:
+
В конфиг '''commands.cfg''' добавляем следующее:
 
<code>define command{
 
<code>define command{
 
       command_name    process-service-perfdata-file
 
       command_name    process-service-perfdata-file
Строка 85: Строка 85:
 
         check_command          check_ping!100.0,20%!500.0,60%
 
         check_command          check_ping!100.0,20%!500.0,60%
 
         }</code>
 
         }</code>
 
+
ЗЫ: размеры всплывающих графиком можно поменять в '''/usr/local/pnp4nagios/etc/config_local.php''' параметр '''$conf['popup-width']'''
 
==Прикручиваем SNMP Traps==
 
==Прикручиваем SNMP Traps==

Версия 13:16, 9 февраля 2016

Все действия из этой статьи выполнялись под Debian 8.3

Установка Nagios

Здесь все просто, ставить будем из репозитариев.

  1. aptitude install nagios3

Прикручиваем графики

Сперва ставим необходимые пакеты

  1. aptitude install rrdtool librrds-perl gcc make

Собираем из исходников PNP4Nagios

  1. wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.25.tar.gz
  2. tar -xzf ./pnp4nagios-0.6.25.tar.gz
  3. cd ./pnp4nagios-0.6.25
  4. ./configure
  5. make
  6. make fullinstall

Инсталятор расчитан на HTTPD в нашем случае Apache2, поэтому переносим конфиг на место, включаем его в apache и подчищаем мусор. Также в конфиге необходимо исправить параметр AuthUserFile и указать путь к реальному файлу авторизации, в нашем случае /etc/nagios3/htpasswd.users

  1. mv /etc/httpd/conf.d/pnp4nagios.conf /etc/apache2/conf-available/
  2. rd /etc/httpd/conf.d
  3. rd /etc/httpd
  4. a2enconf pnp4nagios
  5. service apache2 reload

Теперь браузером заходим http://address-nagios/pnp4nagios и проверяем все ли в порядке, в моем случае необходимо было включить mod_rewrite в apache и установить php-gd

  1. aptitude install php5-gd
  2. a2enmod rewrite
  3. service apache2 restart

Обновляем в браузере страницу, убеждаемся что все в порядке и продолжаем.

  1. mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/old_install.php
  2. cp ./source_php4nagios/contrib/ssi/status-header.ssi /usr/share/nagios3/htdocs/ssi

Осталось настроить Nagios. В Nagios.cfg выставляем следующие параметры:

  1. process_performance_data=1
  2.  
  3. #
  4. # service performance data
  5. #
  6. service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
  7. service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
  8. service_perfdata_file_mode=a
  9. service_perfdata_file_processing_interval=15
  10. service_perfdata_file_processing_command=process-service-perfdata-file
  11.  
  12. #
  13. # host performance data starting with Nagios 3.0
  14. #
  15. host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
  16. host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
  17. host_perfdata_file_mode=a
  18. host_perfdata_file_processing_interval=15
  19. host_perfdata_file_processing_command=process-host-perfdata-file

В конфиг commands.cfg добавляем следующее:

  1. define command{
  2. command_name process-service-perfdata-file
  3. command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata
  4. }
  5.  
  6. define command{
  7. command_name process-host-perfdata-file
  8. command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata
  9. }

Пишем шаблоны с графиками для сервисов и хостов.

  1. define host {
  2. name host-pnp
  3. action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
  4. register 0
  5. }
  6.  
  7. define service {
  8. name srv-pnp
  9. action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
  10. register 0
  11. }

Осталось назначить шаблоны нужным хостам и сервисам, например так:

  1. define host{
  2. use linux-server,host-pnp  ; Name of host templates to use
  3.  ; This host definition will inherit all variables that are defined
  4.  ; in (or inherited by) the linux-server host template definition.
  5. host_name localhost
  6. alias localhost
  7. address 127.0.0.1
  8. }
  9. define service{
  10. use local-service,srv-pnp  ; Name of service template to use
  11. host_name localhost
  12. service_description PING
  13. check_command check_ping!100.0,20%!500.0,60%
  14. }

ЗЫ: размеры всплывающих графиком можно поменять в /usr/local/pnp4nagios/etc/config_local.php параметр $conf['popup-width']

Прикручиваем SNMP Traps