glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。



glances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:

  • CPU 使用率
  • 内存使用情况
  • 内核统计信息和运行队列信息
  • 磁盘 I/O 速度、传输和读/写比率
  • 文件系统中的可用空间
  • 磁盘适配器
  • 网络 I/O 速度、传输和读/写比率
  • 页面空间和页面速度
  • 消耗资源最多的进程
  • 计算机信息和系统资源



    glances 工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。这个高效的工具可以工作于任何终端屏幕。另外它并不会消耗大量的 CPU 资源,通常低于百分之二。glances 在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。您也可以自己将这个时间间隔更改为更长或更短的数值。glances 工具还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和绘制图形。输出文件可以是电子表格的格式 (.csv) 或者 html 格式,输出到WEB服务器中,我们在客户端,访问WEB 服务器时,它还可以动态刷新当前系统上的资源使用状态。



同样  glances 包也是由 EPEL 源所提供的,由于它是由 Python 语言开发,所以在安装 glances 之前,需要安装一个 Python 包;


glances有两种安装方法,一种是编译安装,一种是yum 安装,笔者这里采用yum方式进行安装:

# yum -y install glances
 
  
Installed:
  glances.noarch 0:1.7.4-1.el6                                                                                           
Dependency Installed:
  python-psutil.x86_64 0:0.6.1-1.el6                       python-setuptools.noarch 0:0.6.10-3.el6                      
Complete!
 
  
这里只列举了部分安装过程(事先已配置好epel源),由此过程可看出安装 glances包,依赖于python包;



 
  
# glances


hypervisor 资源监控 资源监视器_python



glances 工作界面的说明 : 

    图1 上部是 CPU 、Load(负载)、Mem(内存使用)、 Swap(交换分区)的使用情况。图1 中上部是网络接口、Processes(进程)的使用情况。通常包括如下字段:


 VIRT: 虚拟内存大小

 RES: 进程占用的物理内存值

 %CPU:该进程占用的 CPU 使用率

 %MEM:该进程占用的物理内存和总内存的百分比

 PID: 进程 ID 号

 USER: 进程所有者的用户名

 TIME+: 该进程启动后占用的总的 CPU 时间

 IO_R 和 IO_W: 进程的读写 I/O 速率

 NAME: 进程名称

 NI: 进程优先级

 S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。


    在图 1 的中下部是传感器检测到的 CPU 温度。 在图 1 的下部是磁盘 I/O 的使用情况。 另外 glances 可以使用交互式的方式运行该工具,用户可以使用如下快捷键:


 h : 显示帮助信息

 q : 离开程序退出

 c :按照 CPU 实时负载对系统进程进行排序

 m :按照内存使用状况对系统进程排序

 i:按照 I/O 使用状况对系统进程排序

 p: 按照进程名称排序

 d : 显示磁盘读写状况 

 w : 删除日志文件

 l :显示日志

 s: 显示传感器信息

 f : 显示系统信息

 1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统)



高级用法:

将glance 输出成 html 放在WEB服务器中,并用客户端访问:
 
  
# glances -o html -f /var/www/html     将glances 结果输出成html 格式并输出到web目录中
Error: Need Jinja2 library to export into HTML
Try to install the python-jinja2 package
 
  
此时会提示, Python-Jinja2 包没有安装,我们可以用yum给它安装一个;
 
  
# yum -y install python-jinja2
Installed:
  python-jinja2.x86_64 0:2.2.1-2.el6_5                                                                                   
Dependency Installed:
  python-babel.noarch 0:0.9.4-5.1.el6 

Complete!
 
  
        此处也只列举了部分安装过程,可以看出 python-jinja2 已经安装成功;

此时在执行:
 
  
# glances -o html -f /var/www/html



 此时就会进入 glances 交互式模式,只要我们不退出交互模式,它就可以一直向web服务端输出当前系统资源状态,在客户端就可以实现动态监测;


hypervisor 资源监控 资源监视器_运维_02


hypervisor 资源监控 资源监视器_操作系统_03


https://blog.51cto.com/linuxzj/1587231