你是不是面临这种情况:想搭建某种网络集群,但又要处理许多不同的计算机,想密切跟踪这所有计算机几乎是不可能的事?如果你负责满满一屋子的计算机,还要负责使用这些机器的那些用户,又该如何是好?sinfo也许正是你苦苦寻觅的那款工具。Freshmeat网站上的介绍如下:

Sinfo是一款监视工具,使用广播方案来发布关于你本地网络上每一台计算机的运行状况的信息。它支持显示多方面的内容,比如处理器、内存使用情况、网络负载以及关于每一台计算机上五个主要进程的信息。Sinfo使用ncurses,以一目了然的方式来显示信息。

Sinfo可以显示关于多台计算机的系统信息,以便管理。使用的时候可以通过-s选项查看更多信息。

安装过程

如果你使用基于Debian的系统,比如Debian和Ubuntu等系统,可以使用二进制包,可以在你的repo中找一下。考虑到该软件包括了一个启动守护程序sinfod,我强烈建议使用这个可选的二进制文件,因为这个过程的许多方面实现了自动化(它也是我在这里探讨的版本)。不过,为了确保发行版中立,与往常一样,我还在安装过程中介绍了源版本。

说明文档对代码库的要求如下:

•ncurses:用于终端处理的代码库(5.7版本)。

•boost:可移植的C++源代码库,使用Boost.Bind和Boost.Signals(1.42版本)。

•asio (>=1.1.0):asio是一个跨平台的C++代码库,用于网络编程(1.4.1版本)。

如果你通过源代码编译,还需要上面这些代码库的开发包(-dev)。libboost-下的开发包的数量相当多,所以要是你在编译过程中遇到了任何问题,请先检查libboost是不是安装全了。

对于使用源代码来运行的那些人来说,一旦你搞定了代码库要求,就可以获取最新的tarball文件(下载地址)。解压缩,在新的文件夹中打开终端,输入以下命令:

$ ./configure
$ make

如果你的发行版使用sudo:

$ sudo make install

如果你的发行版使用root:

$ su
# make install

在我继续下文之前,应该解释一下:sinfo分平常的应用软件部分和后台守护程序这两个部分。守护程序的安装每个发行版都不同,这部分我就不具体说了,细节可以查看源代码tarball文件的使用说明文件和官方网站。

使用

Sinfo是一款“半图形用户界面(GUI)”的命令行程序,使用起来实际上很容易,不过高级用户会通过命令行的参数选项符让它处理一些相当出色的任务。想让该程序在基本模式下运行,只要输入:

$ sinfo

如果你只是在自己的机器上安装了sinfo,显示的信息将仅是你这台机器的信息。你可以从这个屏幕上看到可用内存、处理器占用率和主机名称等信息。文末的附录列出了适用的快捷键命令,只要按一个键,就可以切换该程序的不同部分。

不过在这种情况下,sinfo其实只是更漂亮的top而已。使用sinfo的目的是,你可以一下子显示来自好几台机器的信息,以便密切监视局域网的运行情况。

要做到这一点也很容易:只要在网络上的其他计算机上也安装并运行sinfo,运行之后你就会发现两台计算机的信息分别在两个计算机上都有显示。继续把它安装到其他联网计算机上,显示列表就会越来越长。

这些只是基本功能,更丰富的功能方面又如何呢?很显然,因篇幅所限,我没法在这里一一介绍(你其实应该查阅参考手册页,了解更多详细内容),不妨看一下我偏爱使用的一些功能。

在命令行,如果你添加了-W参数选项符(或者--wwwmode),就像这样:

$ sinfo -W

输出就会从平常的类似top的屏幕变出HTML输出——对于喜欢借助自动化网页等方面进行远程管理的那些人来说,这非常方便。

在编写某种命令行脚本时,你可以添加参数选项符-s(或者--ysteminfo)输出一大段重要的系统信息。举例来说,我的两台机器显示了以下的额外信息:

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.1192.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

这样一种信息表明sinfo有许多潜在用途,我立即想到了可以在局域网派对(LAN party)上用于监视和故障排除。要是任何一个节点有问题,主机在试图隔离这个问题时很可能就能够立即着手处理。

结语

sinfo设计精巧,安装方便,我认为这款程序会很快闯出自己的一片天地。但愿它会像其他标准应用软件那样变得司空见惯,成为一款常用工具。也许对它进行移植就能实现这个目标。

附录:sinfo键盘命令

•q键—退出sinfo。

•Page up键, Page down键 — 滚动屏幕,每次滚动一页。

•Up arrow/u键, down arrow/d键 —滚动屏幕,每次滚动一行。

•Home键—跳到最上面一行。

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

•o键 — 切换显示你自己机器的进程。

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

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

•t键 — 切换显示主要的X个进程。

•c键 — 将处理器负载条形图的标度从log(对数模式)、lin(线性模式)切换至full(全模式)。

想详细了解sinfo,请访问 http://www.ant.uni-bremen.de/whomes/rinas/sinfo 。

转载于:https://blog.51cto.com/qiliushuai/735440

新发现一款监控Linux集群sinfo相关推荐

  1. Linux集群和自动化维1.3 如何根据服务器应用选购服务器

    1.3 如何根据服务器应用选购服务器 无论物理服务器是选用IDC托管还是AWS EC2云主机(以下为了简略说明,将它们统称为服务器),我们都要面临一个问题,那就是选择服务器的硬件配置,选购硬件配置时要 ...

  2. Linux集群和自动化运维

    Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技 ...

  3. 集群-大规模Linux集群部署-MPI集群搭建与MPI编程

    一.集群的概念及其相关技术 集群计算机是指利用高速通信网络将一组高档工作站或PC按某种结构连接起来,在并行程序设计甚至可视化人机交互集成开发环境支持下,统一调度,协调处理,实现高效并行处理的系统,利用 ...

  4. linux集群架构(一),集群概述、高可用配置

    2019独角兽企业重金招聘Python工程师标准>>> linux集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务 ...

  5. 项目实践中Linux集群的总结和思考

    2019独角兽企业重金招聘Python工程师标准>>> 前言:作为一名Linux/unix系统工程师.项目实施工程师,这几年一直在涉及到对外项目,经手过许多小中型网站的架构,F5.L ...

  6. Linux 集群技术

    一. 集群概念 集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库.Web服务和文件服务等)的单一客户视图,同时提供接近容错 ...

  7. 三种监控 Kubernetes 集群证书过期方案

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 前言 Kubernetes 中大量用到了证书, 比如 ca证书.以及 kubelet.apiserver.prox ...

  8. linux高可集群用软件,Linux集群概述及高可用软件keepalived配置、测试

    一.Linux集群概述 1). 根据功能划分为两大类:高可用和负载均衡 高可用集群通 常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 2).实现高可用的开源软 ...

  9. linux集群课程,超全Linux集群技术高俊峰-实战式教学视频课程(43讲全)

    超全Linux集群技术高俊峰-实战式教学视频课程(43讲全) 1.jpg (63.6 KB, 下载次数: 0) 2016-4-27 11:41 上传 1.jpg (38.51 KB, 下载次数: 0) ...

最新文章

  1. 深度学习如何又好又快? Google发布最新《高效深度学习: 更小、更快、更好》综述...
  2. ThreadLocal介绍以及源码分析
  3. 常用JQuery插件整理
  4. spring mvc学习(3):建立第一个动态web项目
  5. servlet 调用oracle数据库存储过程
  6. N点虚拟主机管理系统(For Windows2003/2008)功能及介绍
  7. 安装Ubuntu时的硬盘分区方案
  8. ROG游戏手机5跑分曝光:全球首发18GB超大内存
  9. JQuery封装的ajax方法
  10. ubuntu18安装wine QQ——2021.11.9
  11. 本特利电涡流传感器330103-00-04-90-01-CN
  12. 大学生数学竞赛资料目录20190403更新
  13. Qt我的文档 桌面路径
  14. 【观察】星环科技“七剑下天山”,做数据世界超高速引擎
  15. PCB板层简介+走线
  16. Mapped Statements collection does not contain value for 解决方法之一
  17. 组策略设置计算机禁止睡眠
  18. 给模拟器发短信/打电话
  19. Matlab watershed函数
  20. TRIZ创新方法——物质-场模型与标准解系统

热门文章

  1. Bzoj 2724: [Violet 6]蒲公英(分块)
  2. bzoj3626:[LNOI2014]LCA
  3. Android开发学习之路-Git的极简教程?
  4. Tomcat的类加载器
  5. 4月02日 提取汉字首字母,并大写的类
  6. 你是否觉得.Net Web Service 中asmx文件是多余的?
  7. Server.Transfer 和 Response.Redirect 的用法
  8. C# override详解
  9. java 连接 oracle 10_java-连接到oracle 10g数据库时,获得IOException“...
  10. git push origin master Connection timed out