我有一个软件可以监控本地网络上多台 Linux 机器的健康状况。它所做的其中一项检查是定期对所有机器执行 ping 操作,以确保它们能够响应。
我最近注意到一台或多台机器可能处于内核 panic 状态但仍然响应 ping。我想知道我是否可以在 C++ 中进行某种检查,在以下任一情况下返回 true:
a) 远程机器没有响应(当前使用 ping 语句执行此操作)。 b) 远程机器有响应,但处于内核 panic 状态。
问题是,我不知道在内核 panic 期间什么有效,什么无效。
如果有帮助,这是在 RHEL 5.7 上的。提前致谢!
最佳答案
答案是:视情况而定。有时内核 panic 甚至会停止 ping 响应。 “无响应”的定义将取决于机器的用例。如果有一种方法可以确定机器的主要用途仍然可以在本地实现,您可以使用 SNMP 和/或网络(或其他一些网络协议(protocol))来确保它响应。
一种常见的监控方法(有许多针对各种 vector 和服务的预制插件)是使用 nagios、icinga 或类似的工具。
关于c++ - 如何检测远程机器上的内核 panic ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16906276/