Icinga
Nagios外掛手動執行,自動執行返回錯誤
為了監控 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 }
您的問題是嵌入式 perl 解釋器(ePN = 嵌入式 perl nagios)。該外掛可能不是(顯然不是)ePN 安全的。
全域禁用它(因為它有嚴重的記憶體洩漏),或者根據文件僅為該腳本禁用它。
此外,您的檢查命令應該
check_mailman_qfiles!mail.example.com
與您的手動測試相匹配。