【问题标题】:Monitoring Linux server processes监控 Linux 服务器进程
【发布时间】:2016-07-24 11:34:19
【问题描述】:

这是对正确监控方法的一些建议和选择。

有一个 RHEL6 服务器运行在多个 SILO 和沙箱下运行的多个进程,我们需要监控这些进程以确保这些进程启动并运行。

目前我已经制作了一个脚本,该脚本循环遍历所有沙箱并检查进程状态,然后我向相应的团队发送一封邮件,其中包含未运行的作业列表,作为附件。

问题: 现在由于沙箱和作业的数量很多,检查处理和发送邮件需要时间,有时会导致其他团队中断。 当服务器资源不足时,也会崩溃的子shell进程。

我正在寻找一种方法来使这种监控变得快速而简单。

我的想法

下面的命令非常方便,它给了我正在运行的进程列表。

    ps -ef|grep pset| awk '{print $9}'

结果,例如:

  /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

我想通过脚本使用这个命令,然后处理生成的文本。

    1234563 em>sheet_pset 并显示结果(基于应用的条件),可以通过单击按钮或下拉菜单来实现。
  1. 创建一个 cient 端 java 程序,该程序将连接到 RHEL6 服务器并获取 ps 命令的结果。然后在客户端将处理并显示结果。 但这需要在 RHEL6 上进行一些身份验证设置,我不确定这是否会得到帮助。

请建议哪种方法是合适的,或者我可以采取的任何其他合适的方法。

【问题讨论】:

  • 这听起来不是很复杂,因此您可以使用多种语言来实现。不过,我不认为需要 Java 桌面应用程序 - 它不能只是基于浏览器吗?几页php和一个sqlite数据库,也许吧?无论如何,下一个看到这个的人可能会建议他的首选语言/数据库组合,我认为不可能说什么是最好的。
  • 听起来你可能正在寻找supervisord...
  • 我无法在此服务器上安装任何数据库.. 权限问题...
  • 我无法在此服务器上安装任何数据库.. 权限问题... 我唯一的语言支持是 shell 脚本、python 和 java.... 甚至无法安装 supervisord.. 支持有限。 .需要一个最好的和quock的方式来处理思想......
  • 考虑更正确、更高效的ps -e -o args= | awk '/ps[e]t/{print $2}'。更正确,因为模式匹配命令不会在进程表中匹配自身(例如,ps -ef | grep FOO 通常在其参数 FOO 上匹配 grep 进程本身)。效率更高,因为管道更短(grepawk 通常可以组合使用)并且因为 ps 只输出您关心的内容。也考虑转移到 serverfault.com

标签: unix monitoring monitor ps unix-socket


【解决方案1】:

解决方案是在其他地方进行数据处理 - 而不是在您尝试监控的服务器上。

您应该提取整个ps -ef 并将其发送到另一台服务器。将ps 数据检索到另一台计算机后,您就可以进行过滤/表格生成工作。

  • 您可以通过 ssh 从另一台服务器进行操作(这将是最简单的,但考虑到您的架构,这是不可能的,同意),

    ssh  -o BatchMode=yes  usernam@servername " ps -ef "
    
  • 或者您继续通过邮件发送,但您只将完整的摘录邮寄给您 --> 您可以将整个内容通过邮件发送给您自己,然后在您的计算机上处​​理所有数据,然后向所有人发送电子邮件。

【讨论】:

  • 好建议。 "(...) 通过邮件进行 (...)" 还可以在您使用时添加私钥/公钥加密。
  • 我的意思是,她已经从服务器向每个人发送了邮件......所以他应该只发送一封邮件。
  • 我在想我们不知道 OP 的服务器是否使用任何形式的传输层加密 (HTTPS) 来防止网络上的其他人窥探外发电子邮件。此外,我们不知道 OP 是否信任他/她的电子邮件提供商(例如,我个人不喜欢与 google 共享我的所有日​​志)
  • 网络是安全的,所以我可以发送邮件是整个过程extarct,谢谢@chomel,即使我愿意这样做,但我担心的是在接收端处理,在另一台服务器上发送处理不可能,我们只有一个服务器访问,所有进程都在其中运行..
  • @J.Chomel 感谢您的意见,即使我愿意通过邮件发送完整的摘录。我关心的是最终用户的处理,最终用户不太清楚,所以我需要为他们提供可读和有意义的东西。是否可以将pe -ef 结果写入 Excel 工作表的特定工作表?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多