gpt4 book ai didi

webserver - 如何使用 daemontools 监督网络服务器?

转载 作者:行者123 更新时间:2023-12-03 08:00:25 25 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




我应该如何编写 daemontools 监督程序?

我已经开始使用 D. J. Bernsteins 的 daemontools 来保持一些进程的运行并且工作正常。但是现在我需要监控这些进程的几个附加条件,但我没有找到关于如何做到这一点的好信息。

我的场景是,我有一些进程在为 Web 应用程序(pharo smalltalk 虚拟机)运行,并且它们响应 http,每个进程都在其端口中(用于负载平衡)。我想以某种方式 ping 那些以验证它们不仅在运行而且还在响应 http 请求。如果它们超过 30 秒没有以某种方式响应请求,它们应该被视为崩溃并简单地重新启动。

这甚至可以用 daemontools 实现吗?如果是这样,我应该如何编写这个脚本以及我应该把它放在哪里?或者这方面的文档在哪里?

最佳答案

最简单的解决方案是使用脚本创建另一个 daemontool 任务,该任务会休眠 30 秒,然后测试服务是否存在(例如使用 wget 或 curl)。如果服务没有及时响应,您可以重新启动服务 ( svc -t yourapp ) 和/或发送通知。新服务的运行脚本看起来很简单:

#!/bin/sh
sleep 30
if ! wget --quiet --timeout=5 --delete-after "http://yourapp.com/" ; then
svc -t /etc/service/yourapp
fi

我也有很好的经验,比如 Munin .同样,您需要提供一个脚本来提供有关图像状态的信息。如果您使用 REST 服务设置图像,您甚至可以提供非常有趣的指标,例如事件 session 、非事件 session 、gc 参数、内存消耗、数据库统计信息……然后该工具会随时间绘制精美的图表,并让您指定边界当事情表现不佳时得到通知。

关于webserver - 如何使用 daemontools 监督网络服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10650686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com