我在使用 monit 时遇到了问题。例如,我正在监控 MySQL 服务...当我执行系统更新(如 apt-get upgrade 或 dist-upgrade)时...有时会升级监控的服务。
系统需要停止服务才能升级,并且会这样做。但是 monit 发现了这一点,并重新启动了它...因此系统升级因错误而失败,即几个文件已升级,但几个文件不会升级。
有什么方法可以了解监控系统升级是否正在运行?
答案1
您apt-get
不知道正在运行 Monit,因此它会在升级期间正常停止服务,并且 Monit 设置为将其检测为故障,从而导致重新启动。
我看到两个简单的选择:
- 升级前停止 Monit 服务,升级完成后启动它。
配置Monit服务监控模式變得被动。
句法:
MODE <ACTIVE | PASSIVE>
在主动模式下,Monit 将主动监控服务,并在出现问题时发出警报并重新启动服务。主动是默认模式。
被动模式与主动模式类似,但如果服务出现故障,monit 将不会尝试通过重新启动服务来解决问题,而只会发出警报。
apt-get
通过 进行修改以停止服务可能会比较棘手,但可能可行monit stop service
,让 Monit 知道应该停止该服务。如果有人真的这样做了,我希望我们能得到另一个答案!