Konfiguracja pnp4nagios w systemie Debian

Konfiguracja pnp4nagios w systemie Debian

Index

Krok 1. Sprawdzenie czy pliki w folderach istnieją:
Na początek upewnić się czy plik process_perfdata.cfg oraz rra.cfg znajduje się w folderze /usr/local/pnp4nagios/etc/ . Jeżeli nie, najlepiej znaleźć pliki w katalogu pnp4nagios-0.6.2 (process_perfdata.cfg-sample oraz rra.cfg-sample), zmienić ich nazwy (bez ‘-sample’) i skopiować do powyższego folderu (/usr/local/pnp4nagios/etc/). Dodatkowo upewnić się przy process_perfdata.pl znajduje się w folderze, gdzie znajdują się wszystkie pluginy z Nagios (w moim przypadku /usr/local/nagios/libexec/), jeżeli nie znajdujemy plik process_perfdata.pl-sample, zmieniamy nazwę na process_perfdata.pl i umieszczamy go w folderze /libexec.

Krok 2. Kolejnym krokiem jest edycja pliku konfiguracyjnego nagios.cfg. Edycji i zmian należy dokonać według poniższych wartości:

process_performance_data=1
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\\tTIMET::$TIMET$\\tHOSTNAME::$HOSTNAME$\\tSERVICEDESC::$SERVICEDESC$\\tSERVICEPERFDATA::$SERVICEPERFDATA$\\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\\tHOSTSTATE::$HOSTSTATE$\\tHOSTSTATETYPE::$HOSTSTATETYPE$\\tSERVICESTATE::$SERVICESTATE$\\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\\tTIMET::$TIMET$\\tHOSTNAME::$HOSTNAME$\\tHOSTPERFDATA::$HOSTPERFDATA$\\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\\tHOSTSTATE::$HOSTSTATE$\\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file

 

Krok 3. Edycja pliku konfiguracyjnego templates.cfg (w moim przypadku uzupełnienie o następujące wpisy):

define host {
name host-pnp
register 0
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_
}
define service {
name srv-pnp
register 0
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
}


Szczególną uwagę przywiązujemy do ścieżki, która zaczyna się od /pnp4nagios/…. Należy pamiętać o tym, że ścieżka może być inna co zależy od ustawień instalacji.

Krok 4. Dodajemy w definicji hostów i usług następujące wiersze (należy zwrócić uwagę na ścieżki!):

Dla hosta:

action_url /nagios/pnp/index.php?host=$HOSTNAME$


Dla usługi:

action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$

 

W moim przypadku wpiszemy na dole przed } to:

define service{
name generic-service ; The \’name\’ of this service template
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
notification_interval 0
is_volatile 0
check_period 24×7
normal_check_interval 5
retry_check_interval 1
max_check_attempts 4
notification_period 24×7
notification_options w,u,c,r
contact_groups admins
register 0
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
}

 

define host{
name ogolnie-host ; The \’name\’ of this service template
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
check_command check-host-alive
max_check_attempts 10
notification_interval 0
notification_period 24×7
notification_options d,u,r
contact_groups admins
register 0
action_url /pnp4nagios/graph?host=$HOSTNAME$
}

 

Na poniższym rysunku zaznaczyłem te dwa odnośniki:

[singlepic id=28 w=320 h=240 float=center]

Krok 5. Edytujemy plik konfiguracyjny command.cfg i uzupełniamy o następujące wiersze:

define command {
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/nagios/libexec/process_perfdata.pl
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\” >> /usr/local/nagios/var/service-perfdata.out
}
define command {
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
command_line /usr/bin/printf \”%b\” \”$LASTHOSTCHECK$\\t$HOSTNAME$\\t$HOSTSTATE$\\t$HOSTATTEMPT$\\t$HOSTSTATETYPE$\\t$HOSTEXECUTIONTIME$\\t$HOSTOUTPUT$\\t$HOSTPERFDATA$\\n\” >> /usr/local/nagios/var/host-perfdata.out
}

define command{
command_name process-service-perfdata-file
command_line /usr/local/nagios/libexec/process_perfdata.pl –bulk=/usr/local/pnp4nagios/var/service-perfdata
}

define command{
command_name process-host-perfdata-file
command_line /usr/local/nagios/libexec/process_perfdata.pl –bulk=/usr/local/pnp4nagios/var/host-perfdata
}

 

stare wpisy dezaktywujemy, czyli dodajemy ‘#’ przed wierszami:

#\’process-host-perfdata\’ command definition
#define command{
# command_name process-host-perfdata
# command_line /usr/bin/printf \”%b\” #$LASTHOSTCHECK$\\t$HOSTNAME$\\t$HOSTSTATE$\\t$HOSTATTEMPT$\\t$HOSTSTATETYPE$\\t$HOST#EXECUTIONTIME$\\t$HOSTOUTPUT$\\t$H$
# }
# \’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$SERVICEEX$
# }

 

Krok 6. Czas na weryfikacje instalacji poprzez plik, który jest dostarczony w pakiecie z pnp4nagios (plik o nazwie ‘verify_pnp_config’):

cd pnp4nagios-0.6.2/contrib/
chmod 755 verify_pnp_config
./verify_pnp_config -m bulk


Dokładniejszy opis znajduje się pod linkiem:
verify_pnp_config

Jeżeli wszystko się zgadza możemy podziwiać efekty naszej pracy:

[singlepic id=29 w=320 h=240 float=center]

Dodatkowo:
wykonać polecenie:

a2enmod rewrite


oraz wyłączyć magic_quotes (magic_qoutes= Off) w pliku php.ini

Instalacja pnp4nagios 0.6.2 – Debian

Instalacja pnp4nagios 0.6.2 – Debian
Przygotowujac się do instalacji pnp4nagios należy doinstalować narzędzie RRDtool wraz z dodatkami.

apt-get install rrdtool librrd2-dev librrds-perl

Następnie pobieramy i rozpakowujemy plik oraz wchodzimy do katalogu:

wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.2.tar.gz?use_mirror=mesh
tar –xvzf pnp4nagios-0.6.2.tar.gz
cd pnp4nagios-0.6.2

Po wpisaniu komendy:

./configure

Na samym końcu przyglądamy gdzie zostanie zainstalowany pnp4nagios i w szczególności musimy zwrócić uwagę na poprawność ścieżki do RRDtool.

*** Configuration summary for pnp4nagios-0.6.rc3 10-11-2009 ***
General Options:
————————- ——————-
Nagios user/group: nagios nagios
Install directory: /usr/local/pnp4nagios
HTML Dir: /usr/local/pnp4nagios/share
Config Dir: /usr/local/pnp4nagios/etc
Location of rrdtool binary: /usr/bin/rrdtool Version 1.2.12
RRDs Perl Modules: FOUND (Version 1.2012)
RRD Files stored in: /usr/local/pnp4nagios/var/perfdata
process_perfdata.pl Logfile: /usr/local/pnp4nagios/var/perfdata.log
Perfdata files (NPCD) stored in: /usr/local/pnp4nagios/var/spool
Web Interface Options: ————————- ——————-
HTML URL: http://localhost/pnp4nagios/
Apache Config File: /etc/apache2/conf.d/pnp4nagios.conf
Review the options above for accuracy. If they look okay,
type \’make all\’ to compile.

W kolejnym kroku wykonujemy następujące komendy:

make all
make install
make install-webconf
make install-config
make install-init

Dodatek pnp4nagios w wersji 0.6.2 do Nagios3 został zainstalowany. Teraz najwięcej czasochłonnego zadania czyli konfiguracja, która umożliwi współdziałanie tych dwóch aplikacji. Dobrze jest się upewnić czy wszystkie ścieżki oraz katalogi, które zostały podane w instalacji, istnieją.