Monit 是否支持多个相同格式的电子邮件收件人?

fud*_*udy 2 monit

我使用 monit 来监控服务的状态,当服务关闭时,我想以相同的格式向多个收件人发送警报电子邮件。这是我的 monit 配置的一部分:

set mail-format { from: no-reply@gmail.com }
check host hostA with address hostA
  alert userA@gmail.com
  MAIL-FORMAT {     # use local format
     subject: redis is down on hostA
     message:   redis is down on hostA on port 6379

  Yours sincerely,
  monit
  }
  alert userB@gmail.com
  MAIL-FORMAT {     # use local format
     subject: redis is down on hostA
     message:   redis is down on hostA on port 6379

  Yours sincerely,
  monit
  }
  if failed port 6379 retry 3 then exec "/monit/scripts/myscripts.sh"
Run Code Online (Sandbox Code Playgroud)

它有效,但有一些多余的东西(例如,2 个用户使用相同的 MAIL-FORMAT)。我将在同一个配置文件中使用多种电子邮件格式。Dose monit 是否支持使用相同且只有一种本地电子邮件格式的多个收件人?

Edu*_*pez 5

来自官方文档:

如果您想向更多电子邮件地址发送警报消息,请为每个地址添加一组警报“电子邮件”语句。

在此之后,以下配置应该可以工作:

set mail-format { from: no-reply@gmail.com }
check host hostA with address hostA
  alert userA@gmail.com
  alert userB@gmail.com
  MAIL-FORMAT {     # use local format
     subject: redis is down on hostA
     message:   redis is down on hostA on port 6379

  Yours sincerely,
  monit
  }
Run Code Online (Sandbox Code Playgroud)

问候

编辑:

文档没有说明,但元素的位置可能在这里起作用。尝试在邮件格式声明之后定义警报地址。另外,请注意您在代码中使用了两种邮件格式声明 - 如果这不是必需的,请尝试仅使用一种(后者)。

set mail-format {
      from: monit@foo.bar
  reply-to: support@domain.com
   subject: $SERVICE $EVENT at $DATE
   message: Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.
            Yours sincerely,
            monit
 }
 alert userA@gmail.com
 alert userB@gmail.com
Run Code Online (Sandbox Code Playgroud)