Icinga

Nagios外掛手動執行,自動執行返回錯誤

  • July 6, 2015

為了監控 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 中執行了手動命令,而 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
}

外掛位於https://exchange.nagios.org/directory/Plugins/Email-and-Groupware/Mailman/check_mailman_qfiles/details

您的問題是嵌入式 perl 解釋器(ePN = 嵌入式 perl nagios)。該外掛可能不是(顯然不是)ePN 安全的。

全域禁用它(因為它有嚴重的記憶體洩漏),或者根據文件僅為該腳本禁用它

此外,您的檢查命令應該check_mailman_qfiles!mail.example.com與您的手動測試相匹配。

引用自:https://serverfault.com/questions/701975