如何检测挂起的linux服务?

时间:2015-09-18 14:44:39

标签: linux centos openstack centos6 openstack-nova

我注意到我的一些Linux服务器上会挂起一个linux服务。我知道它挂起的唯一方法是依赖于服务失败的操作,当我重新启动服务时,它无法停止但它开始正常。

如果我service <servicename> status它表示正在运行,如果我执行ps -ef | grep <servicename>它只显示正在运行该服务的一个进程。

还有什么我可以查看是否挂了?我正在积极主动地提供这些服务,并确定他们为什么会被挂起。

供参考,服务主要是openstack-nova-compute和openstack-cinder-volume。我可以通过rabbitMQ开始构建的cinder volume服务来检测,但nova-compute也不会发生同样的事情。

这很难测试,因为就像我说的那样,我知道的唯一方法是,如果我尝试在OpenStack中的那个节点上做某事并且它失败或挂起,然后我重启服务。

2 个答案:

答案 0 :(得分:0)

服务何时挂起?

通常,如果它不提供请求,那么它就不再可用了。 该过程显然仍然存在,因此低级检测会声明它存在。

因此,唯一可靠的方法是发送示例请求,并检查它们是否仍然被服务。有一些常用协议的工具,如HTTP。

答案 1 :(得分:-1)

你可以使用一些工具(一个脚本甚至一个真实的&#34;像Nagios这样的监控工具)来完成你所说的 - 模仿那些依赖于服务的操作&#34; - 这意味着尝试联系相关服务,如果失败,将发送某种通知! (甚至自动重启。)