こんにちは、現在Nagiosは[email protected]から通知を送信しています。これを構成するにはどうすればよいですか?ありがとう
デフォルトのNagiosインストールでは、Host-notify-by-mail
にあるservice-notify-by-mail
またはcommands.cfg
コマンドでも定義されます。デフォルトは次のようになります。
/bin/echo -e "$NOTIFICATIONTYPE$ - Service notification for $SERVICEDESC$ from Host $HOSTNAME$ - $HOSTALIAS$\n$SERVICEDESC$: $SERVICEOUTPUT$\n" | /bin/mail -s '$NOTIFICATIONTYPE$/$SERVICESTATE$ - $HOSTNAME$/$SERVICEDESC$' $CONTACTEMAIL$
したがって、-r sender@address
オプションをmailコマンドに追加するだけで動作します。
Commands.cfgの$ CONTACTEMAIL $の前に-r nagios @ domainを置きます
「-r [email protected]」ソリューションを機能させることができませんでした。 「-」の後のオプションは、sendmailのオプションです。 sendmailオプションを見ると、「-fnagios @ domain」であるはずです。-fと[email protected]の間にはスペースを入れないでください。
したがって、以下は現在機能しています:-
command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTNAME$\Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$LONGSERVICEOUTPUT$" | /bin/mail -s "$SERVICESTATE$ - Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- [email protected]
私にとってうまくいったのは、_-r $ADMINEMAIL$
_の前(_-s
_の直後)に_/bin/mail
_を追加することでした。もちろん、_$ADMINEMAIL$
_を_nagios.cfg
_に_admin_email
_設定。
上記のいずれも、NagiosやPostfixの現在のバージョンでは機能しません。 「commands.cfg」ファイル内のNagiosの「Host-notify-by-mail」または「service-notify-by-mail」コマンドに追加する必要があるフラグは、次のようになります。
-a "From: [email protected]"
引用符は必須です。
これを行うには、コマンドを次のように変更します。
command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTNAME$\Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$LONGSERVICEOUTPUT$" | /bin/mail -s "$SERVICESTATE$ - Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- -r $ADMINEMAIL$
魔法は「--r」の部分です。
ADMINEMAILはnagios.cfgで設定されていますが、「From」アドレスには任意のメールアドレスを使用できます。
私のbsd-mailx
コマンドがリンクしている/usr/bin/mail
については、何も機能していないようだったので、次のように/usr/sbin/sendmail
(postfixで提供)を使用しました。
command_line /usr/bin/printf "%b" "Subject:** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **\n\n**** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/sbin/sendmail -r "[email protected]" $CONTACTEMAIL$
sendmail
について考慮すべき2つのこと:
-r
を使用して、戻りパス(および送信元アドレス)を指定します-s
はありません。代わりに、Subject:
メールヘッダーをprintf
に追加し、その後に2つの改行を追加します\n\n
これはetc/nagios3/conf.d/contacts_nagios2.cfg
電子メールとグループでユーザーを定義できます。また、異なる目的のために異なるグループを構成することもできます。 httpアラートにはweb_admin、Hostアラートにはadminなど。