![如何使用 Monit 工具(免费版)发送 Linux 服务器监控的每日警报?](https://linux22.com/image/628981/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Monit%20%E5%B7%A5%E5%85%B7%EF%BC%88%E5%85%8D%E8%B4%B9%E7%89%88%EF%BC%89%E5%8F%91%E9%80%81%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9B%91%E6%8E%A7%E7%9A%84%E6%AF%8F%E6%97%A5%E8%AD%A6%E6%8A%A5%EF%BC%9F.png)
我正在使用 monit 免费版来监控服务器状态,但警报仅在完成某些触发操作时才有效。但是,我想发送 monit 显示的服务器所有详细信息的每日警报。
答案1
你想干什么?想“举报”吗?
Monit
无法做到这一点。正如您所说,Monit
当触发服务检查时会发送警报。这是设计使然。
我建议设置一个每日 cron 作业来运行Bash
您自己的脚本。
您的脚本可以解析Monit
日志文件,检索给定日期的事件,组织信息以便于用户更方便地阅读并发送报告。
但是,如果你不想使用Cron
但仍使用Monit
,你可以使用服务轮询时间来自 的功能Monit
。
这里的想法是每天触发一次虚假的服务检查,它也会运行Bash
你自己的脚本,执行与上面 cron 作业描述的相同的操作。
伪造的服务定义可能如下所示:
check process fake with pidfile /var/run/fake.pid
start program = "/root/report.sh"
stop program = "/root/report.sh"
every "00 23 * * 0-6"
这将于每天晚上 11 点触发。
但在我看来,这个解决方案并不是最合适的,因为:
- 你的 Monit 日志文件中会出现“错误”警报
Monit
如果您设置的守护进程轮询间隔小于一分钟(例如 30 秒),则可能会触发多次。