为了监控 Mailman 邮件列表,我将 check_mailman_qfiles 插件添加到 Icinga 主机。
仅使用主机名作为参数,插件在手动运行时就可以正常工作:
user@icinga:~$ /usr/lib/nagios/plugins/check_mailman_qfiles mail.example.com
all normal
但是,当作为 Icinga 的一部分定期运行时,该插件会抱怨它无法统计“存档”,即 qfiles 目录中的第一个文件:
Notification Type: PROBLEM
Service: Mailman
Host: example.com mail server
Address: 10.1.2.3
State: UNKNOWN
Date/Time: Fri Jun 26 16:09:16 PDT 2015
Additional Info:
**ePN /usr/lib/nagios/plugins/check_mailman_qfiles: Cant stat /usr/local/mailman/qfiles/archive: No such file or directory
最初我以为这是因为我从 shell 运行了 manual 命令,而 nagios 用户的 shell 是 /bin/false。但我尝试使用 bash 运行 nagios(暂时),命令以 nagios 用户身份正常运行。
还有什么原因会导致插件自动运行时失败?
我已将 mailman 命令、服务和主机组定义以及插件的链接粘贴在下面。
另外,这是针对在 Debian wheezy 上运行的 Icinga 1.7.1-7。谢谢!
命令定义,来自 /etc/icinga/commands.cfg:
define command{
command_name check_mailman_qfiles
command_line $USER1$/check_mailman_qfiles $ARG1$
}
服务定义,来自 /etc/icinga/objects/services_icinga.cfg:
define service{
service_description Mailman
use generic-service
hostgroup_name mailman-servers
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 3
retry_check_interval 1
contact_groups admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_mailman_qfiles
}
主机组定义,来自 /etc/icinga/objects/hostgroups_icinga.cfg:
define hostgroup{
hostgroup_name mailman-servers ; The name of the hostgroup
alias Mailman servers ; Long name of the group
members mail.example.com
}
答案1
您的问题是嵌入式 perl 解释器 (ePN = 嵌入式 perl nagios)。该插件可能不是 (显然不是) ePN 安全的。
全局禁用它(因为它有严重的内存泄漏),或者根据文档仅针对该脚本禁用它。
此外,您的检查命令应该check_mailman_qfiles!mail.example.com
与您的手动测试相匹配。