显示远程linux服务器的统计信息

时间:2013-12-14 09:16:47

标签: linux ssh statistics sysadmin

我的目的是显示从远程服务器加载avg和RAM使用率到24/7 LCD面板上的统计数据。我希望信息每1-3秒更新一次。

其他线程建议使用SSH命令检索信息。

    ssh root@192.168.1.252 uptime && cat /proc/meminfo

使用SSH适合我的目的,我关心的是

  1. 由于所有登录尝试,我的日志文件可能会膨胀
  2. 每隔几秒钟设置和拆除SSH连接的开销。
  3. 那里有没有这样的包裹,还是我必须自己编码?我宁愿保持连接打开以减少开销。我不需要加密,因为两台服务器都在局域网上。

    提前致谢。

1 个答案:

答案 0 :(得分:1)

有几点需要注意:

  1. 如果您不需要,请不要使用root。对于uptimecat /proc/meminfo,您当然不需要root。使用其他用户。
  2. 请注意这两者之间的区别:

    ssh user@hostname uptime && cat /proc/meminfo
    ssh user@hostname 'uptime && cat /proc/meminfo'
    

    第一个将在本地计算机上执行cat /proc/meminfo,第二个将在远程执行它。我想你想使用第二个版本。 (您想要远程机器的CPU信息,而不是本地机器,是吗?)

  3. 您可以使用连接多路复用一举两得:减少建立新连接的开销,避免污染服务器日志。为此,请在~/.ssh/config文件中添加如下配置:

    Host somename
    User the_username
    Hostname the_hostname
    ControlMaster auto
    ControlPath ~/.ssh/master-somename
    

    您可以选择任何somename,它就像一个别名。使用此设置,您可以简单地连接到服务器:

    ssh somename
    

    虽然此远程会话仍处于活动状态(直到您注销),但您可以从另一个终端打开新连接,他们将重用现有连接,绕过身份验证并有效消除新连接的开销。

    在使用慢速远程服务器时,这实际上是一种常见的技巧,其中建立新连接是一个明显的开销。事实上,我使用此设置将其应用于我使用的所有远程服务器:

    Host *
    ControlMaster auto
    ControlPath ~/.ssh/master-%r@%h:%p
    

    我通常是recommend this trick for everyone