官网地址:
前面的文章已经说过,pnp4nagios的Broker模式不支持nagios4x,这里采用Bulk Mode模式
1.RRDtool的安装,这里使用的是yum安装#yum install -y rrdtool*2.pnp4nagios安装#tar -zxvf pnp4nagios-0.6.25.tar.gz#cd pnp4nagios-0.6.25#./configure --with-rrdtool=/usr/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata --with-perfdata-spool-dir=/usr/local/nagios/share/spool --with-nagios-user=nagios --with-nagios-group=nagios#make all#make install#make install-config#make install-init3.pnp4nagios配置cd /usr/local/pnp4nagios/etc mv misccommands.cfg-sample misccommands.cfg mv nagios.cfg-sample nagios.cfg mv rra.cfg-sample rra.cfg cd /usr/local/pnp4nagios/etc/pages/ mv web_traffic.cfg-sample web_traffic.cfg cd ../check_commands mv check_all_local_disks.cfg-sample check_all_local_disks.cfg mv check_nrpe.cfg-sample check_nrpe.cfg mv check_nwstat.cfg-sample check_nwstat.cfg #重启服务#service npcd restart4.修改相关配置文件(1)修改templates.cfg,增加一个定义PNP的host和servicedefine host { name host-pnp register 0 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_ process_perf_data 1 } define service { name srv-pnp register 0 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ process_perf_data 1 }(2)修改nagios.cfgprocess_performance_data=1enable_environment_macros=1host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdataservice_perfdata_file=/usr/local/pnp4nagios/var/service-perfdatahost_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$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$host_perfdata_file_mode=aservice_perfdata_file_mode=ahost_perfdata_file_processing_interval=15service_perfdata_file_processing_interval=15host_perfdata_file_processing_command=process-host-perfdata-fileservice_perfdata_file_processing_command=process-service-perfdata-file(3)修改commands.cfg增加如下配置define command{ command_name process-service-perfdata-filecommand_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata}define command{ command_name process-host-perfdata-filecommand_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata} (4)修改host和service的模版define host{ name gchost use host-pnp max_check_attempts 1 normal_check_interval 2 retry_check_interval 1 check_period 24x7 contact_groups myself_group notification_interval 2 notification_period 24x7 notification_options d,u,r check_command check-host-alive } define service{ name myself_temp use srv-pnp max_check_attempts 2 normal_check_interval 2 retry_check_interval 1 check_period 24x7 notification_interval 2 notification_period 24x7 notification_options w,u,c,r contact_groups myself_group check_command check-host-alive register 0 } (5)apache配置 #vim /etc/httpd/conf/httpd.conf Alias /pnp4nagios "/usr/local/pnp4nagios/share" <Directory "/usr/local/pnp4nagios/share"> AllowOverride None Order allow,deny Allow from all # # Use the same value as defined in nagios.conf # AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user <IfModule mod_rewrite.c> #Turn on URL rewriting RewriteEngine On Options symLinksIfOwnerMatch #Installation directory RewriteBase /pnp4nagios/ #Protect application and system files from being viewed RewriteRule "^(?:application|modules|system)/" - [F] #Allow any files or directories that exist to be displayed directly RewriteCond "%{REQUEST_FILENAME}" !-f RewriteCond "%{REQUEST_FILENAME}" !-d #Rewrite all other URLs to index.php/URL RewriteRule "^.*$" "index.php/$0" [PT] </IfModule> </Directory> (6)复制鼠标悬停图标显示cp /usr/local/src/pnp4nagios-0.6.25/contrib/ssi/* /usr/local/nagios/share/ssi/
到这里就可以检测nagios配置文件无误后重启nagios观看效果
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
#/etc/init.d/nagios restart
#/etc/init.d/httpd restart
附上nagios启动之后可能会遇到的问题以及解决办法以供参考
1.点击图标按钮如果出现如下提示,执行
#rm -rf /usr/local/pnp4nagios/share/install.php
2.点击图标按钮如果出现如下提示,执行
#chown -R tong:tong /var/lib/php