我从我的地下室运行一个相对较小的虚拟环境,用于基本服务,如web托管、文件服务和小型媒体中心。我试图通过例行检查来密切监视我的环境的性能,但是我也想要一个快速的方法来知道我的所有服务是否真的被激活了。
几个月前,我开发了一个名为"status.sh“的bash脚本。它可能是存在过的最丑陋的代码,但它可以工作,所以我继续使用它。
该程序(如果您甚至可以称之为它)的结构相当粗糙:它只是一组if语句,这些语句决定IP是响应ping还是netcat TCP探测,并根据结果声明服务要么是“向上”,要么是“向下”。
一个变量$(hostlist)包含一组if语句触发器.我是这样设计的,因为我还运行了一个我命名为"networkNotifier.sh“的独立脚本,如果任何服务器被列为”down“,它会向我的手机发送通知。如果我暂时关闭我的一台服务器,我将得到无穷无尽的文本,所以我创建了$(hostlist)变量,以便能够临时地提取我知道处于脱机状态的服务器的地址,而无需删除或注释整个代码块。
我正在寻找一个简单的服务器监视程序,它只运行ICMP ping和TCP探测,以检查服务器是否响应,如果没有,则触发脚本。
请不要推荐任何要求我在我的服务器上安装第三方软件的东西。我正在寻找可以在探测网络的专用监视服务器上安装/运行的东西。我不需要每台服务器的CPU使用率或磁盘使用率之类的统计数据,只需要一个上下状态。
发布于 2020-03-16 15:17:10
我意识到这是一个很老的问题,但如果有人碰巧遇到这个问题,我用Java编写了一个干净的解决方案,如果有人想要的话,这都是在Github上完成的。
https://softwarerecs.stackexchange.com/questions/64762
复制相似问题