关于Monit工具服务状态检查及更新时启停监控的正确方法咨询
Monit工具服务状态检查及更新时启停监控的正确方法咨询
我在生产环境部署了Monit工具,用来监控我们的多个微服务守护进程。最近在做服务更新的时候,想找个合适的方法先暂停对目标服务的监控,更新完成后再恢复监控,大致的逻辑我想用伪代码表示如下:
has_monit = false if `monit watches daemon-xxx` then has_monit = true monit unmonitor daemon-xxx endif apt-get install xxx.deb if has_monit then monit monitor daemon-xxx endif
不过实际操作中遇到了问题:monit summary daemon-xxx这个命令不管目标服务是否被Monit监控,返回的退出码都是0。如果服务不存在,它还会输出一段HTML格式的错误信息,比如:
[bialix@server ~]$ sudo monit summary xxx
400 Bad Request Bad Request
Service 'xxx' not found
monit 5.30.0 [bialix@server ~]$ echo $? 0
看起来只有当Monit本身没有运行的时候,这个命令才会返回退出码1。那现在我该怎么正确判断某个服务是否被Monit监控呢?难道只能去解析monit summary的输出内容吗?
备注:内容来源于stack exchange,提问作者Alexander Bell
相关产品推荐
相关产品推荐

