こんにちは現在、Nagiosはnagios@server.domain.comから通知を送信しています。これを設定するにはどうすればよいですか?ありがとう
こんにちは現在、Nagiosはnagios@server.domain.comから通知を送信しています。これを設定するにはどうすればよいですか?ありがとう
回答:
デフォルトの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
、メールコマンドにオプションを追加するだけで機能します。
/bin/mail
た-s
「--r nagios@domain.com」ソリューションを機能させることができませんでした。"-"がsendmailのオプションであると、オプションが判明します。sendmailオプションを見ると、「-fnagios @ domain」である必要があります。-fとnagios@domain.comの間にはスペースを入れないでください。
だから、次は今働いています:-
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$ -- -fnagios@domain.com
私のために働いたのは-r $ADMINEMAIL$
前に-s
(すぐ後に/bin/mail
)追加することでした、そしてもちろん$ADMINEMAIL$
設定をnagios.cfg
使用してadmin_email
設定する必要があります。
コマンドを何かしらに変更することでこれを行うことができました:
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で設定されますが、「差出人」アドレスの任意の電子メールアドレスにすることができます。
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 "nagios@example.com" $CONTACTEMAIL$
以下のためのsendmail
二つのことを考慮します:
-r
リターンパス(および送信元アドレス)の指定に使用 -s
件名にはありません。代わりに、2つの改行Subject:
がprintf
続くメールヘッダーを追加します\n\n