Nagiosが電子メールを送信する電子メールアドレスの定義


16

こんにちは現在、Nagiosはnagios@server.domain.comから通知を送信しています。これを設定するにはどうすればよいですか?ありがとう

nagios 

回答:


14

デフォルトの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、メールコマンドにオプションを追加するだけで機能します。


それは私がやったことであり、うまくいきました。自動チケットプログラムにより、異なるアカウントから実際に異なるアラートが送信されます。
広大な

1
との間にこれを追加しまし/bin/mail-s
jgritty 14年

@RainyRat-回答を編集して-rを最初のパラメーターとして配置できる可能性はありますか?-他の答えはあなたの答えupvoteして、その後幸せ示唆として:O)
ボーッ

3

「--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

3

commands.cfgの$ CONTACTEMAIL $の前に-r nagios @ domainを置きます


2

私のために働いたのは-r $ADMINEMAIL$前に-s(すぐ後に/bin/mail)追加することでした、そしてもちろん$ADMINEMAIL$設定をnagios.cfg使用してadmin_email設定する必要があります。


1

コマンドを何かしらに変更することでこれを行うことができました:

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で設定されますが、「差出人」アドレスの任意の電子メールアドレスにすることができます。


1

上記のいずれも、現在のバージョンのNagiosやPostfixでは機能しません。ファイル「commands.cfg」のNagios「host-notify-by-mail」または「service-notify-by-mail」コマンドに追加する必要があるフラグは、次のようになります。

-a "From: john.doe@uzh.ch"

引用符は必須です。


これにより、From-addressが変更されますが、Return-Pathアドレスは変更されません。両方を変更することもできます。
クリストファーK.

0

これはで定義されます etc/nagios3/conf.d/contacts_nagios2.cfg

ユーザーを電子メールとグループで定義できます。また、さまざまな目的に応じてさまざまなグループを構成できます。たとえば、httpアラートのweb_admin、ホストアラートのadminなどです。


連絡先設定では、送信者のアドレスではなく、送信されるメールの受信者を設定します。この質問は、(「それはメールを送信し、送信者アドレスの変更方法についてですから」)を。
クリストファーK.

0

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.