我在 monit 脚本中有这个(第 11-13 行):
check program foo with
path "/usr/local/bin/foo.sh" with timeout 300 seconds
if status != 0 then alert [email protected]
monit reload 说:
/etc/monit/conf.d/example:13: Error: syntax error '[email protected]'
没有任何一个例子显示带有警报的电子邮件,但我需要一封。为什么我不能在这里提供?
我正在使用 Monit 5.5。
答案1
在您的 monit 配置文件中取消注释/添加以下行:
set mailserver localhost
set alert [email protected]
然后执行以下操作。请注意,“alert”后面没有任何内容。
check program list-files with path "/bin/ls -lrt /tmp/"
if status != 0 then alert
答案2
查看以下文档:http://mmonit.com/monit/documentation/monit.html#setting_a_local_alert_statement 它有以下例子
check process mybar with pidfile /var/run/mybar.pid
alert foo@bar only on { timeout }
答案3
具体看:https://mmonit.com/monit/documentation/monit.html#Setting-an-alert-recipient(新链接),我读到的方法是,对于本地警报(如果您想要一封仅用于此警报的附加电子邮件),您可以将其添加到当前部分的末尾。
来自上面的链接:
本地警报示例:
check host myhost with address 1.2.3.4
if failed port 3306 protocol mysql then alert
if failed port 80 protocol http then alert
alert foo@baz # Local service alert
您会注意到,失败的检查和警报通知位于第二行和第三行,然后在最后一行添加了本地电子邮件地址。