Answers:
每当您运行临时的长期运行的命令时,都应该退后一步并重新考虑您的过程,因为这应该是自动化的,包括错误处理。
与其连接到服务器以查看状态,不如将其推送出去。如果您想编写一堆自定义代码,则可以执行多种操作,但是最简单的事情可能是开始通过syslog将输出发送到集中式日志记录系统(syslog本身,ELK或其他)。这样,您可以从中央位置监视所有内容。
展望未来,如果这不是一项一次性的任务,那么监控应该是自动化的。也就是说,您永远不必只看日志来查看事情是否按预期进行。相反,您应该假设它们已经存在(并继续进行其他工作),直到发出警报为止。这是投入时间来获得可靠且覆盖范围广泛的警报,但是随着系统复杂性的提高,它将得到回报,因为您无需在更改任何内容时随时监视所有内容。
由于两个人已经建议您重新考虑当前的流程(我第二次这样做是因为它会在某个时候使您彻夜难眠;),因此,我将走另一条路线,推荐一款特定的软件,我认为它适合大多数您的需求:Graylog。
我实施并使用了几个ELK堆栈进行日志聚合和商业智能,并且在我现在的雇主那里运行/维护了Graylog大约两年了。我建议使用Graylog,因为它具有以下内置功能,并且-我认为-设置和维护起来比较容易:
据我了解您的情况,似乎您需要对日志消息流中出现的某些事件采取行动或收到警报。如果我们看一下Graylog功能:
当需要注意的事情(例如失败的登录尝试,异常或性能下降)时,触发操作或得到通知。
想法:向您的团队发送电子邮件或备用消息。生成新机器以平衡处理负载。当检测到攻击时,将自动阻止防火墙中的IP范围。
要尝试使用Graylog,建议您执行以下两个步骤:
注意:这两个步骤可以填充最佳实践的页面,并且至少应引起一些想法。更不用说Graylog并不是监视解决方案,应该通过适当的监视工具(例如Icinga,Prometheus,Nagios等)监视Graylog本身。