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
当初、これはシェルから手動コマンドを実行したためだと思っていましたが、nagiosユーザーはシェルとして/ bin/falseを使用しています。しかし、私はnagiosにbashを(一時的に)使用しようとしましたが、コマンドはnagiosユーザーとして正常に実行されます。
自動的に実行されたときにプラグインが失敗する原因は他に何ですか?
Mailmanコマンド、サービス、ホストグループの定義、およびプラグインへのリンクを下に貼り付けました。
また、これはDebianwheezyで実行されているIcinga1.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 =埋め込まれたPerlnagios)。そのプラグインは(明らかにそうではない)ePNセーフではないかもしれません。
グローバルに無効にする(メモリリークがひどいため)、または ドキュメントに従ってそのスクリプトに対してのみ無効にする 。
また、手動テストと一致させるには、チェックコマンドをcheck_mailman_qfiles!mail.example.com
にする必要があります。