对 Linux 机器执行 ping 操作以检查其是否在线

对 Linux 机器执行 ping 操作以检查其是否在线

我使用 ping 来检查 Linux 机器是否在线并可以使用。但是,ping 并不能真正告诉您系统是否正在执行任何有用的操作,只能告诉您内核的网络子系统是否处于活动状态并已配置。有什么方法可以知道机器是否已完全准备好执行任务?

编辑:

抱歉,我说得不清楚。我需要机器执行的任务多种多样。有些只是运行非常小的测试。其他的则与数据库通信。网络中的机器将来可能需要执行新任务。有没有一个命令可以告诉我所有核心(默认)服务都在运行?

答案1

我认为你的问题在某种程度上就是一种答案。 Is there any way to tell that the machine is completely ready to perform tasks?

哪些任务?假设您希望它使用 Web 和数据库以及 DNS 服务执行任务。您可以编写一个脚本来检查所有这些服务是否正在运行并且服务器是否超载。除此之外,除非未定义这些任务,否则没有有用的方法可以知道服务器是否已准备好执行(哪些)任务。

有时我们的某个服务器运行正常,但 DKIM 服务停止,这会导致 PostFix 无法发送电子邮件,如果我们不检查 DKIM 服务,这种情况很容易被忽略。因此,您必须定义并检查指定的服务,以确保万无一失。

答案2

我建议设置监控和警报软件,例如纳吉奥斯 http://www.nagios.org/或者芝诺斯

它们都具有您计划在服务器上提供的所有服务(任务)的插件,并将设置心跳和分析功能,以便在出现问题时提醒您。

就像其他人发布的那样,ping 仅检查正在 ping 的计算机与主机之间的连接。Nagios 在初始设置后可以监控连接、检查 Oracle 是否处于活动状态、验证您的 Web 服务器和应用程序服务器是否已启动、内存/CPU 使用情况以及您能想到的任何其他信息...

编辑:我很确定没有任何一个命令可以让你立即获得你要求的一切,但如果有的话请告诉我!:) 在那之前,你会做一些工作〜

希望这有帮助,-Minh

答案3

这是一个复杂的问题...我猜检查一切进展情况的最佳方法是通过 ssh 连接到 Linux 机器,然后从那里执行命令来检查所有服务。无论如何,请注意,如果您尝试连接的机器没有运行 ssh 守护程序(例如,22 端口被阻止),则无法执行此操作。

据我所知,没有其他方法可以检查这一点。

答案4

您可以安装一个简单的网络服务器(至少必须能够发送 html 文件)来检查是否使用 curl 发送了特定的 html 文件内容。(curl http://adress将网络服务器的答案内容写入标准输出)。

相关内容