首页 > 代码库 > 借助Glances Monitor,密切关注你的系统

借助Glances Monitor,密切关注你的系统

两种方法安装 glances

通常可以有两种方法安装 glances。第一种是通过编译源代码的方式,这种方法比较复杂另外可能会遇到软件包依赖性问题。还有一种是使用特定的软件包管理工具来安装 glances,这种方法比较简单。本文使用后者,需要说明的是在 CentOS 特定的软件包管理工具来安装。glances 要首先配置 EPEL repo,然后使用 pip 工具安装 glances。

pip 软件包简介

通常 Linux 系统管理员有两种方式来安装一个 Python 的软件包:一种是通过系统的包管理工具(如 apt-get)从系统的软件仓库里安装,一种是通过 Python 自己的包管理工具(如 easy_install 或者 pip)从 Python Cheese Shop 中下载安装。笔者推荐使用 pip。pip 是一个可以代替 easy_install 的安装和管理 Python 软件包的工具,是一个安装 Python 库很方便的工具,功能类似 YUM。注意 CentOS 和 Fedora 下安装 Python-pip 后,关键字不是 pip 而是 pip-Python。

首先配置 EPEL repo

如 果既想获得 RHEL 的高质量、高性能、高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux ,http://fedoraproject.org/wiki/EPEL)正好适合你。它是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL,就像在 Fedora 上一样,可以通过 yum install package-name,随意安装软件。安装使用 EPEL 非常简单:

 #wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6  #rpm --import RPM-GPG-KEY-EPEL-6  #rm -f RPM-GPG-KEY-EPEL-6  #vi /etc/yum.repos.d/epel.repo  # create new  [epel]  name=EPEL RPM Repository for Red Hat Enterprise Linux  baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/  gpgcheck=1  enabled=0

使用 pip 安装 glances

这里介绍一下安装过程:首先使用 YUM 安装 pip 工具,然后使用 pip 工具安装 glances 和用来显示系统温度的相关软件。

 #yum --enablerepo=epel install Python Python-pip Python-devel gcc  # pip-Python install glances

安装 lm_sensors 软件

lm_sensors 的软件可以帮助我们来监控主板、CPU 的工作电压、风扇转速、温度等数据。这些数据我们通常在主板的 BIOS 也可以看到。当我们可以在机器运行的时候通过 lm_sensors 随时来监测着 CPU 的温度变化,可以预防呵保护因为 CPU 过热而会烧掉。lm_sensors 软件监测到的数据可以被 glances 调用并且显示

 # yum install lm_sensors  # pip-Python install PySensors

这年头有没有一款工具,可以在终端里面占尽可能小的地方,为我提供关于我那台Linux/Unix服务器的尽可能多的信息,比如处理器、磁盘输入/输出、网络、nfsd、内存及更多方面的信息?

外面有好多在类似Linux或Unix的系统上运行的监控工具,它们可以提供关于你服务器的下列信息:

  1. 1.处理器负载 
  2. 2.操作系统名称/内核版本 
  3. 3.系统负载 
  4. 4.磁盘和网络输入/输出 
  5. 5.进程 
  6. 6.内存使用情况 
  7. 7.挂载点(mount point)及更多的信息。 

见识一下Glances

以下内容来Glances项目的主页:

Glances是一款免费(LGPL)的跨平台、基于curses函数库的监测工具,其目的在于在尽可能小的地方,提供尽可能多的信息,理想情况下 适合于典型的80x24终端或更大尺寸的终端,以便显示额外信息。Glances可以根据终端大小,动态调整所显示的信息。它还可以在客户机/服务器模式 下使用,用于远程监测。

该实用工具是用Python编写而成的,使用psutil库从你的服务器提取统计值。

安装

你可以使用pip这个命令行工具来安装Glances。你还会找到适用于Arch Linux、Fedora/CentOS/RHEL、Debian、Ubuntu (13.04+)、FreeBSD和OSX的程序包,那样就能使用自己青睐的程序包管理器来安装它了,具体如下所示:

将Glances安装到CentOS/Fedora/RHEL/Scientific Linux上

首先,在CentOS/RHEL/SL上开启Extra Packages for Enterprise Linux(即EPEL)程序包。键入下面yum这个命令:

  1. # yum -y install glances 

示例输出:

  1. yum install glances 
  2. Loaded plugins: product-id, protectbase, rhnplugin 
  3. This system is receiving updates from RHN Classic or RHN Satellite. 
  4. rhel-x86_64-server-6                                 | 1.5 kB     00:00 
  5. rhel-x86_64-server-optional-6                         | 1.5 kB     00:00 
  6. 0 packages excluded due to repository protections 
  7. Setting up Install Process 
  8. Resolving Dependencies 
  9. --> Running transaction check 
  10. ---> Package glances.noarch 0:1.7.1-1.el6 will be installed 
  11. --> Processing Dependency: python-psutil >= 0.4.1 for package: glances-1.7.1-1.el6.noarch 
  12. --> Processing Dependency: python-setuptools for package: glances-1.7.1-1.el6.noarch 
  13. --> Running transaction check 
  14. ---> Package python-psutil.x86_64 0:0.6.1-1.el6 will be installed 
  15. ---> Package python-setuptools.noarch 0:0.6.10-3.el6 will be installed 
  16. --> Finished Dependency Resolution 
  17. Dependencies Resolved 
  18. ================================================================== 
  19. Package           Arch     Version       Repository   Size 
  20. ================================================================== 
  21. Installing: 
  22. glances             noarch   1.7.1-1.el6        epel    107 k 
  23. Installing for dependencies: 
  24. python-psutil        x86_64  0.6.1-1.el6     epel       84 k 
  25. python-setuptools    noarch   0.6.10-3.el6    rhel-x86_64-server-6 336 k 
  26. Transaction Summary 
  27. ================================================================== 
  28. Install       3 Package(s) 
  29. Total download size: 527 k 
  30. Installed size: 843 k 
  31. Is this ok [y/N]: y 
  32. Downloading Packages: 
  33. (1/3): glances-1.7.1-1.el6.noarch.rpm                | 107 kB     00:00 
  34. (2/3): python-psutil-0.6.1-1.el6.x86_64.rpm          |  84 kB     00:00 
  35. (3/3): python-setuptools-0.6.10-3.el6.noarch.rpm      | 336 kB     00:00 
  36. ------------------------------------------------------------------ 
  37. Total                                  1.8 MB/s | 527 kB     00:00 
  38. Running rpm_check_debug 
  39. Running Transaction Test 
  40. Transaction Test Succeeded 
  41. Running Transaction 
  42. Installing : python-psutil-0.6.1-1.el6.x86_64                         1/3 
  43. Installing : python-setuptools-0.6.10-3.el6.noarch                     2/3 
  44. Installing : glances-1.7.1-1.el6.noarch                              3/3 
  45. Verifying  : python-setuptools-0.6.10-3.el6.noarch                   1/3 
  46. Verifying  : python-psutil-0.6.1-1.el6.x86_64                       2/3 
  47. Verifying  : glances-1.7.1-1.el6.noarch                             3/3 
  48. Installed: 
  49. glances.noarch 0:1.7.1-1.el6 
  50. Dependency Installed: 
  51. python-psutil.x86_64 0:0.6.1-1.el6 
  52. python-setuptools.noarch 0:0.6.10-3.el6 
  53. Complete! 

将Glances安装到Debian/Ubuntu Linux(13.04+)

键入下面这个命令:

  1. $ sudo apt-get install glances 

我该如何使用glances?

基本的语法是:

  1. # glances 
  2. # glances [options] 

示例输出:

图1:Glances的实际输出结果

想退出,只要按q键(按Esc键和按Ctrl-C组合键也可以)。下面是来自基于Ubuntu的系统的另一个输出结果:

图2:Glances的实际输出结果

对输出进行微调(交互式命令)

使用下面这些热键,就可以对你的输出进行微调:

■a 自动对进程进行排序。

■c 按处理器使用百分比对进程进行排序。

■m 按内存使用百分比对进程进行排序。

■p 按名称对进程进行排序。

■i 按输入/输出速度对进程进行排序。

■d 显示/隐藏磁盘输入/输出的统计数字。

■f显示/隐藏文件系统的统计数字。

■n显示/隐藏网络的统计数字。

■s显示/隐藏传感器的统计数字。

■y显示/隐藏hddtemp的统计数字。

■l显示/隐藏日志。

■b 网络输入/输出的字节或比特。

■w 删除警告性日志。

■x 删除警告性日志和危急性日志。

■1全局处理器或单个处理器的统计数字。

■t 以合并方式查看网络输入/输出。

■u 查看累积的网络输入/输出。

我在客户机/服务器模式下如何使用Glances?

在服务器上,键入下面这个命令,就可以将服务器绑定到特定的IPv4/IPv6地址或主机名:

  1. # glances -B @IP|host 
  2. # glances -B 75.126.153.206 
  3. # glances -B www.cyberciti.biz 

从你的桌面客户机(比如基于OSX/FreeBSD/Linux的系统)上,键入下面这个命令,即可通过IPv4/IPv6地址或主机名,连接至Glances服务器:

  1. # glances -c @IP|host 
  2. # glances -c 75.126.153.206 
  3. # glances -c www.cyberciti.biz 

你可能需要传送-P password,以设置一个客户机/服务器密码。-s在服务器模式下运行Glances:

我如何每隔5秒刷新信息?

只要键入下面这个命令:

  1. # glances -t 5