sinfo-高级网络监控

作者:John Knight

您是否正在考虑设置某种网络集群,但要处理许多不同的计算机,所有这些计算机几乎都无法追踪?如果您负责一个装满计算机的房间以及使用这些计算机的人(其中一些人可能想偷懒或运行一些我委婉地称之为“令人反感”的东西)怎么办? sinfo 可能是您正在寻找的。根据其 Freshmeat 条目

sinfo 是一款监控工具,它使用广播方案来分发本地网络上每台计算机的状态信息。它支持 CPU、内存使用率、网络负载以及每台计算机上五个最热门进程的信息。 sinfo 使用 ncurses 以吸引人的方式显示信息。

sinfo 在多台 PC 上显示宝贵的系统信息,以便于管理。

通过 -s 开关进一步扩展 sinfo 的用途,可以提供更丰富的信息。

安装

对于那些使用基于 Debian 的系统(如 Debian、Ubuntu 等)的用户,可以使用二进制文件,并且很可能它已经位于您的存储库中。鉴于该软件还包括一个启动守护程序 sinfod,我强烈建议您尽可能选择二进制选项,因为大部分过程是自动化的(这也是我在此处介绍的版本)。然而,为了保持发行版的中立性,我也像往常一样介绍了安装期间的源代码版本。

就库要求而言,根据文档,您需要以下内容

  • ncurses:用于终端处理的库(已使用 5.7 版本进行测试)。

  • boost:使用 Boost.Bind 和 Boost.Signals 的同行评审的可移植 C++ 源代码库(已使用 1.42 版本进行测试)。

  • asio (>=1.1.0):asio 是一个用于网络编程的跨平台 C++ 库(已使用 1.4.1 版本进行测试)。

如果您是从源代码编译,您还需要麻烦的开发人员软件包 (-dev)。特别是 libboost- 下的软件包数量非常多,因此如果您在 make 期间遇到任何问题,则 libboost 库可能是罪魁祸首,需要更多软件包才能正确安装。

对于那些使用源代码运行的用户,一旦您解决了库要求,请获取最新的 tarball 并解压缩。在新文件夹中打开终端并输入以下命令


$ ./configure
$ make

如果您的发行版使用 sudo


$ sudo make install

如果您的发行版使用 root


$ su
# make install

在继续之前,我应该解释一下,sinfo 分为两个部分:日常应用程序和后台守护程序。至于安装守护程序,我将把这部分留给您,因为似乎几乎每个发行版都有不同的处理启动进程的方法(Debian 软件包会处理所有这些)。如果您仍在使用源代码,请查看源代码 tarball 中的 readme 文件和网站以获取更多信息。

用法

sinfo 是一个“半 GUI”命令行程序,实际上非常易于使用,尽管高级用户可以通过命令行开关使其执行一些非常酷的操作。要在基本模式下运行该程序,只需输入


$ sinfo

假设您现在仅在您的机器上安装了 sinfo,则显示的信息将只是您机器的信息。从该屏幕上,您可以看到各种有用的信息,例如可用内存、CPU 利用率、主机名等等。“sinfo 键盘命令”侧边栏显示了驱动 sinfo 的键盘命令列表,只需按一个键即可切换程序的各个部分。

但是,在这种状态下,它实际上只是一个美化版的 top。重点是您可以同时显示来自多台机器的信息,以便密切关注 LAN。如果您的网络上的其他 PC 的发行版中包含 sinfo,那么它应该像通过 apt-get 等安装 sinfo 一样简单,然后在这些机器上运行该程序。一旦我在第二台机器上执行此操作,,两台 PC 都显示在两个安装下。继续在其他联网 PC 上安装它,列表将变得越来越大。

这些是基本知识,但扩展功能呢?显然,我没有足够的空间在这里涵盖所有内容(您真的应该查看手册页以获取更多详细信息),但让我们看一下我最喜欢的一些功能。

在命令行中,如果您添加 -W 开关(或替代方案 --wwwmode),如下所示


$ sinfo -W

输出将从通常的 top 样式的屏幕更改为 HTML 输出——对于那些喜欢使用自动化网页进行远程管理等操作的人来说非常方便。

这在 sinfo 用户界面中有点多余(只需按 s 键),但在执行某种命令行脚本时非常棒:添加开关 -s(或替代方案 --systeminfo),也会输出一大块重要的系统信息。例如,我的两台机器有以下额外信息


192.168.1.2   knightro-bigdesktop i686 
 ↪Linux 2.6.32-27-generic #49-Ubuntu SMP Wed De
cpus: 4  MHz:  800.0
RAM: 3276.5 MByte   swap: 7629.4 Mbyte
load 1min:  0.0   load 5min:  0.1   load 15min:  0.1

192.168.1.1   nhoj-desktop x86_64 
 ↪Linux 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 0
cpus: 2  MHz: 1000.0
RAM: 2007.6 MByte   swap: 2047.3 Mbyte
load 1min:  0.1   load 5min:  0.2   load 15min:  0.1
uptime     0 days, 19:13:03

这种信息暗示了许多潜在用途,并且立即想到了在 LAN 派对上进行监视和故障排除。如果任何一个节点出现问题,则很有可能主机在尝试隔离问题时能够立即启动并运行。

最后,sinfo 不仅设计精良,而且如果以二进制形式安装,它也很方便。最终,我认为该应用程序将立即为自己开辟一个利基市场,并且希望它将变成那些如此常见的标准应用程序之一,以至于它们成为环境的一部分。也许移植它会做到这一点。

sinfo 键盘命令
  • q — 退出 sinfo。

  • Page up、Page down — 屏幕向上或向下滚动一页。

  • 向上箭头/u、向下箭头/d — 屏幕向上或向下滚动一行。

  • Home — 跳转到顶行。

  • s — 切换系统信息显示。

  • o — 切换您自己的进程显示。

  • n — 切换网络信息显示。

  • D — 切换磁盘负载显示。

  • t — 切换前 X 个进程的显示。

  • c — 将 CPU 负载条的缩放从“log”、“lin”切换到“full”。

更多关于 sinfo 的信息: http://www.ant.uni-bremen.de/whomes/rinas/sinfo

正在酝酿新鲜、创新或令人兴奋的东西?发送电子邮件至newprojects@linuxjournal.com.

加载 Disqus 评论