我正在尝试学习检查 Apache 和 Postgres 是否在我的服务器上运行的最佳实践。如果其中任何一个停止了,我想自动重新启动这些服务。我使用的是 Ubuntu 12.04 LTS。
我的策略是编写一个 cron 作业,每 5 分钟检查一次这两个服务是否处于活动状态,如果不存在,则重新启动它们(并通过电子邮件告知我存在问题)。
我不确定是否有更好的方法可以做到这一点。我目前使用 Fabric 来远程管理服务器;并且还想知道尝试用 Python 编写这一切是否是一种合适的方法。
答案1
Zenoss、Nagios 等监控工具肯定会更好。但如果您只有 1 台服务器,它们可能就有点过头了。
对于 Apache,请检查您是否可以使用 wget 获取页面。对于 Postgres - 您可以使用 psql 运行查询。
不知道你为什么担心重启它们。我有 PostgreSQL 和 Apache 服务器,它们已经运行了 5 年以上,从未需要重启(安装更新除外)。这些都是专业产品,它们不会突然死机。
答案2
监控以更标准化的方式完成您想要做的事情。我建议您使用它,而不是自己制定解决方案。