我在Redhat 7.1上有一个服务,使用systemctl start、stop、restart和status进行控制。有一次systemctl status返回了“active”,但是服务后端返回的http代码与200不同。
我知道可以使用Monit或Nagios进行检查并执行systemctl restart,但我想知道在使用systemd时是否存在默认的解决方案,以便无需安装其他工具。
我的首选解决方案是,如果http返回代码与200不同,则完全自动地重新启动我的服务,而无需其他工具,只用systemd本身——(可能还可以通知Hipchat房间或发送电子邮件...)
我尝试通过谷歌搜索这个主题——但没有找到答案。请帮帮我 :-)
sd_notify()
以获取健康检查结果或执行等效套接字写入的代码。 - Charles Duffy