Step 1:
Install and/or compile the necessary applications. pnp4nagios was installed as part of the command "yum install nagios*" performed in a previous post.
rpm -q pnp4nagios pnp4nagios-0.6.20-1.el6.i686
Step 2:
Configure the pnp4nagios commands. Since this is a small installation with only a few hosts being monitored, most of the defaults will be used. However, the commands still need to be added to the nagios configuration:
define command { command_name process-service-perfdata-file command_line /usr/libexec/pnp4nagios/process_perfdata.pl --bulk=/tmp/service-perfdata } define command { command_name process-host-perfdata-file command_line /usr/libexec/pnp4nagios/process_perfdata.pl --bulk=/tmp/host-perfdata }
Step 3:
Modify nagios.cfg. The diff with the original cfg is shown below.
diff nagios.cfg nagios.cfg.bak 834,835c834 < < process_performance_data=1 --- > process_performance_data=0 857,858c856,857 < host_perfdata_file=/tmp/host-perfdata < service_perfdata_file=/tmp/service-perfdata --- > #host_perfdata_file=/tmp/host-perfdata > #service_perfdata_file=/tmp/service-perfdata 872,873d870 < host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$
\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$
\tHOSTSTATETYPE::$HOSTSTATETYPE$\tHOSTOUTPUT::$HOSTOUTPUT$ < service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$
\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$
\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$
\tSERVICESTATETYPE::$SERVICESTATETYPE$\tSERVICEOUTPUT::$SERVICEOUTPUT$ 887,888d883 < host_perfdata_file_mode=a < service_perfdata_file_mode=a 900,901d894 < host_perfdata_file_processing_interval=15 < service_perfdata_file_processing_interval=15 912,913d904 < host_perfdata_file_processing_command=process-host-perfdata-file < service_perfdata_file_processing_command=process-service-perfdata-file
Step 4:
Restart nagios and verify the page shows up at http://<nagiosip>/pnp4nagios/
Step 5:
Add extended info in nagios to create links to graphs of the applicable host and service. Add to templates.cfg:
define host { name host-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_ register 0 } define service { name service-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 }
Then add these new templates to the desired host and service definitions. For example:
define host{ use linux-server,host-pnp host_name puppetmaster alias puppetmaster address 192.168.1.15 } define service{ use generic-service,service-pnp host_name puppetmaster service_description PING check_command check_ping!100.0,20%!500.0,60% }
Step 6:
Verify functionality. Note the new graph icons available for the host/services.
Clicking on the icons gives links to the desired rrd graphs. For example, the custom crond check shows the process has been running as desired.
pnp4nagios can also print out a nicely formatted report of the desired services/hosts to a pdf.
No comments:
Post a Comment