针对Linux集群的高级监控工具sinfo概述

你是不是面临这种情况:想搭建某种网络集群,但又要处理许多不同的计算机,想密切跟踪这所有计算机几乎是不可能的事?如果你负责满满一屋子的计算机,还要负责使用这些机器的那些用户,又该如何是好?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.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
  这样一种信息表明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(全模式)。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-28 08:58:55

针对Linux集群的高级监控工具sinfo概述的相关文章

针对Linux集群技术的要点解析

  现在很多的企业,网站都在应用Linux操作系统,Linux的优点使人们舍弃了微软.今天就讲讲Linux集群技术,让你更一步了解Linux,知道Linux集群技术强大功能.给你挑选系统起到参考的作用. Linux竞争力很强的原因之一,是它可以运行于极为普及的PC机上,不需要购买昂贵的专用硬件设备.在几台运行Linux的PC机上,只要加入相应的集群软件,就可以组成具有超强可靠性.负载能力和计算能力的Linux集群.集群中的每台服务器称为一个节点. 按照侧重点的不同,可以把Linux集群分为三类.

Linux集群和自动化运维

Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技术丛书) ISBN 978-7-111-54438-8 I. L- II.余- III. Linux操作系统 IV. TP316.89 中国版本图书馆CIP数据核字(2016)第176055号 Linux集群和自动化运维 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037

Linux 集群大全

[From] http://www-128.ibm.com/developerworks/cn/linux/cluster/lw-clustering.html 级别: 初级 Rawn Shah, LinuxWorld 专栏作家 2000 年 5 月 01 日 Rawn Shah 作为专家,在 Linux 现有的开放源码和封闭源码集群解决方案方面为您指点迷津. 计算 Linux 中集群项目的数量就象计算硅谷中创业公司的数量一样.不象 Windows NT 已经受其自身的封闭环境阻碍,Linux

Linux集群和自动化维导读

Preface  前言 为什么要写这本书 笔者从事系统运维和网站架构设计的工作已有10多年,现在在一家外企担任云平台架构师.云计算是现在的主流技术,未来也有很好的发展趋势,云计算的流行对于传统的运维知识体系来说,其实也造成了冲击,有很多读者经常向笔者咨询工作中的困惑,比如从事系统运维工作3-5年后就不知道该如何继续学习和规划自己的职业生涯了.因此笔者想通过此书,跟大家分享一下自己的工作经验和心得(包括传统运维和云平台运维工作的区别与对比),以期解决大家在工作中的困惑.本书提供了大量项目实践和线上

Linux集群文件系统简介和集群应用的新挑战

Linux集群文件系统简介 集群文件系统在多个方面完善了 Oracle RAC 的数据库集群功能.以下是它们的对比情况.   通常,集群只是一组作为单一系统运行的服务器(PC 或者工作站).但是,这个定义的外延不断显着扩大:集群技术现在不但是一个动态领域,而且其各种应用程序正不断吸收新的特性.此外,集群文件系统技术(无论是开放源代码的还是专有的)在其功能方面正在迅速趋同. 很多人谈到集群应用程序和其中所使用的文件系统软件时,就象它们完全是一回事似的.更准确地说,大多数集群包含两个主要组件:通过快

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

1.3 如何根据服务器应用选购服务器   无论物理服务器是选用IDC托管还是AWS EC2云主机(以下为了简略说明,将它们统称为服务器),我们都要面临一个问题,那就是选择服务器的硬件配置,选购硬件配置时要根据服务器的应用需求而定.因为只通过一台服务器是无法满足所有的需求,并解决所有的问题的.在设计网站的系统架构之前,应该从以下方面考虑如何选购服务器: 服务器要运行什么应用. 需要支持多少用户访问. 需要多大空间来存储数据. 业务有多重要. 服务器网卡方面的考虑. 安全方面的考虑. 机架安排是否合

Linux集群原理与安装配置介绍

  Linux集群原理 Linux集群系统包括集群节点和集群管理器两部分.集群节点有时简称为节点.服务器或服务器节点,是提供处理资源的系统,它进行集群的实际工作.一般来讲,它必须进行配置才能成为集群的一部分,也必须运行集群的应用软件.应用软件可以是专用于集群的软件,也可以是设计用于分布式系统的标准软件.Linux集群管理器则是将节点捆绑在一起,以构成单一系统外观的逻辑结构,它用于将任务分解到所有的节点. 集群因多种不同的原因而有着不同的类型,建立Linux集群的最直接原因是共享CPU资源,在多个

基于Linux集群技术的校园网络中心方案

随着网络技术的发展和网络应用的进一步深入,校园网络承担了越来越多的来自教学.科研及管理方面的应用.校园网络中心作为校内局域网络的数据存储发布.流量的管理控制.用户的管理以及内外网络转接控制中心,必须解决因流量增加所带来的一系列问题.传统的网络中心方案中,当流量增加后,一般是升级单一的服务器系统,这往往会造成过高的投入和维护成本,极大地降低了性能价格比.运用基于Linux集群技术设计的校园网络中心方案可以有效地解决这一问题. 校园网络中心体系结构 基于Linux集群技术的校园网络中心的体系结构是以

高性能的Linux集群监控之道

  监控是集群管理的核心任务.监控数据可用于调度任务.负载平衡.向管理员报告软硬件故障,并广泛地控制系统使用情况.监控信息必须在不影响集群性能的情况下获得.本文将讨论使用/proc文件系统和Java来获得监控数据的方法. Java在Linux集群中的应用 Java技术为集群管理开发者提供了许多解决问题的办法.Java是动态.灵活.可移植的,这些不寻常的特征使得它成为了在异构网络及平台上构造集群管理的理想基础. Java具有广泛的例程库,很容易处理IP协议,如TCP.UDP,并可在multi-ho