这是一些建议和选择正确的监控方法。
有一台RHEL6服务器在几个SILO和沙箱下运行多个进程,我们需要监控这些进程,确保这些进程正常运行。
目前我制作了一个循环遍历所有沙箱并检查进程状态的脚本,然后我发送一封邮件给相应的团队,其中包含未运行的作业列表,作为附件。
问题: 现在由于沙箱和工作的数量非常多,检查和处理并发送邮件需要时间,有时会导致其他团队中断。 还有服务器资源不足时崩溃的子shell进程。
我正在寻找一种快速简单的监控方法。
我的想法
以下命令非常方便,并为我提供了正在运行的进程列表。
ps -ef|grep pset| awk '{print $9}'
结果,e.g:
/ab_sandbox_pi/propia/pset/process_a.pset
/ab_sandbox_pi/apsia/pset/process_b.pset
/ab_sandbox_pi/propia/pset/process_c.pset
/ab_sandbox_pi/apsia/pset/process_d.pset
我想通过脚本使用此命令,然后处理生成的文本。
该脚本将写入excel的特定表单,例如 sheet_pset ,这个excel会有一个预定义的宏/ vb代码作为字符串处理器,将从< em> sheet_pset 并显示结果(根据应用的条件),可以点击按钮或下拉。
创建一个客户端java程序,它将连接到RHEL6服务器并获取ps命令的结果。然后在客户端处理并显示结果。 但是这需要在RHEL6进行一些身份验证设置,我不确定是否会受到侮辱。
请建议我采取哪种方法,或采取任何其他合适的方法。
答案 0 :(得分:0)
您应该提取整个ps -ef
并将其发送到另一台服务器。将ps
数据检索到另一台计算机后,即可进行过滤/表生成工作。
要么通过另一台服务器执行ssh(这将是最简单的,但根据您的架构不可能达成一致),
ssh -o BatchMode=yes usernam@servername " ps -ef "
或者您继续通过邮件进行,但您只将完整的摘录邮寄给您 - &gt;您可以将邮件发送给您自己,然后在您的计算机上处理整个数据,然后向所有人发送电子邮件。