我刚刚按照以下指南安装了 icinga 来监控我的服务器: http://docs.icinga.org/0.8.1/en/wb_quickstart-idoutils.html
一切都正确构建和安装,但 icinga 报告了一个严重错误,原因是:“为服务 Icinga 启动延迟定义的命令不存在”
但是,我可以看到 ${ICINGA_BASE}/etc/objects/localhost.cfg 包含:
define service{
use local-service ; Name of service template to use
host_name localhost
service_description Icinga Startup Delay
check_command check_icinga_startup_delay
notifications_enabled 0
}
并且 ${ICINGA_BASE}/etc/objects/commands.cfg 包含:
define command {
command_name check_icinga_startup_delay
command_line $USER1$/check_dummy 0 "Icinga started with $$(($EVENTSTARTTIME$-$PROCESSSTARTTIME$)) seconds delay | delay=$$(($EVENTSTARTTIME$-$PROCESSSTARTTIME$))"
}
自整个 make/install 过程以来,这两个文件都没有被修改过。
我在 Ubuntu 10.04、最新版 icinga-core 和 apache2 2.2.14 上运行
我必须做什么才能告诉 Icinga 该命令存在?或者问题在于 check_dummy 不存在?我应该在哪里或如何定义它?
答案1
我也遇到了同样的问题。事实证明,以下目录对其他组没有读取权限:
# ls -ld /usr/local/libexec/nagios/
drwxr-x--- 2 root wheel 1536 May 28 15:20 /usr/local/libexec/nagios/
原因是我在 ~/.cshrc 中设置了更严格的 umask:
# cat ~/.cshrc
umask 27
更改目录的权限解决问题:
# chmod 755 /usr/local/libexec/nagios/
验证所有 nagios 插件也具有读取权限:
# ls -l /usr/local/libexec/nagios
答案2
1) 验证 $USER1$ 宏是否指向有价值的位置。检查 resource.cfg 和 docs.icinga.org 以了解这一点
2)验证 nagios 插件包是否已安装(并提供 check_dummy 二进制文件),例如通过
# dpkg -l *nagios-plugins*
3)验证 $USER1$ 是否指向 nagios-plugins 的安装位置(默认值:/usr/lib/nagios/plugins)
4)确保也查看其他资源以获取帮助 -http://www.icinga.org/support/ 幸运的是,其他人指出了这里......