您好,目前 Nagios 发送通知来自[电子邮件保护],我该如何配置?谢谢
答案1
在默认的 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
选项即可。
答案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 中设置,但“发件人”地址可以是任何电子邮件地址。