![如果超时没有日志产生,请重新启动systemd服务](https://linux22.com/image/153978/%E5%A6%82%E6%9E%9C%E8%B6%85%E6%97%B6%E6%B2%A1%E6%9C%89%E6%97%A5%E5%BF%97%E4%BA%A7%E7%94%9F%EF%BC%8C%E8%AF%B7%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8systemd%E6%9C%8D%E5%8A%A1.png)
是否可以监视 systemd 服务(单元),如果它产生日志,如果没有日志产生(假设 5 分钟),则重新启动该服务?
答案1
因此,您可以根据以下场景放置逻辑:
[1] 检查pid是否存在,如果不存在则重新启动应用程序。
[2] 如果一段时间没有生成,请检查日志(检查您要设置的阈值),重新启动服务。
journalctl <your application binary>
[3] 如果您的应用程序支持健康检查端点,您可以在其之上编写。
实际上我们在检查日志时需要识别空闲和不工作之间的区别,所以我认为检查单个事物是不够的。