使用 Ansible 进行监控-无效的邮件格式‘#015’

使用 Ansible 进行监控-无效的邮件格式‘#015’

我一直在尝试使用 ansible playbook 安装 monit。我正在更改 monitrc 文件,当 playbook 重新启动 monit 时,我得到:

Jun  8 08:00:30 myserver monit[1857462]: Starting daemon monitor: monit
Jun  8 08:00:30 myserver monit[1857465]: /etc/monit/monitrc:10: invalid mail format '#015'
Jun  8 08:00:30 myserver monit[1857465]: /etc/monit/monitrc:11: syntax error 'subject: $HOST -- $EVENT $SERVICE#015'
Jun  8 08:00:30 myserver monit[1857466]:  failed!
Jun  8 08:00:30 myserver systemd[1]: monit.service: Control process exited, code=exited, status=1/FAILURE
Jun  8 08:00:30 myserver systemd[1]: monit.service: Failed with result 'exit-code'.
Jun  8 08:00:30 myserver systemd[1]: Failed to start LSB: service and resource monitoring daemon.

monitrc 中存在冲突的行:

set mail-format {
  from: Monit <[email protected]>
  subject: $HOST -- $EVENT $SERVICE
  message: $EVENT Service $SERVICE
                Date: $DATE
                Action: $ACTION
                Host: $HOST
}

以下是我做过的不同测试:

  • 从 playbook 安装 monit(从 apt 安装然后将 monitrc 文件复制到其位置):不起作用
  • 手动安装 monit(从 apt 安装,然后将配置复制粘贴到 monitrc):有效
  • 在 ansible 安装后复制粘贴 monitrc :不起作用

两种情况下的 Monit 版本都是 5.27.2,机器是 Debian 11。

答案1

问题是我用 ansible 复制的文件是 CRLF 格式。我必须将它们切换为 LF,以便 monit 可以读取文件。

相关内容