定义 Nagios 发送电子邮件的电子邮件地址

定义 Nagios 发送电子邮件的电子邮件地址

您好,目前 Nagios 发送通知来自[电子邮件保护],我该如何配置?谢谢

答案1

在默认的 Nagios 安装中,它也在host-notify-by-mailservice-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选项即可。

答案2

无法获取“-- -r[电子邮件保护]“解决方案有效。事实证明,“--”后面的选项是 sendmail 的选项。查看 sendmail 选项,它应该是“-fnagios@domain”注意 -f 和[电子邮件保护]

因此,以下内容正在起作用:-

  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]

答案3

在commands.cfg上的$CONTACTEMAIL$之前添加-r nagios@domain

答案4

我可以通过将命令更改为类似以下内容来做到这一点:

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 中设置,但“发件人”地址可以是任何电子邮件地址。

相关内容