今天發現pnp4隻能看到一個server的所有service的圖表,其他的都點擊後報類似錯誤:
perfdata directory ... for host"d1" does not exist
如果手動建立該目錄,賦予正確的許可權,又會報目錄為空白的錯誤。
看來配置還有點問題,回過頭來看文檔,http://docs.pnp4nagios.org/pnp-0.6/config
用synchronous mode一節重新檢查自己的配置,發現不少問題:
icinga.cfg檔案中需要注意:
process_performance_data=1
host_perfdata_command=process-host-perfdataservice_perfdata_command=process-service-perfdata
enable_environment_macros=1
commands.cfg檔案中要注意:
# '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$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> \/usr/local/icinga/var/host-perfdata.out command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA }# 'process-service-perfdata' command definition define command{command_name process-service-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl# command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERV\ICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/icinga/var/service-perfdata.out }
再檢查check_mk_templates.cfg檔案,確保 service check_mk_default中有:
process_perf_data 0
好了,現在重新啟動icinga, 再看一下,發現localhost之外的機器都正常了。
怎麼解決localhost呢?直接換成IP地址,就當作另外一台機器來處理吧。OK. 問題解決。