系统资源监控工具 Glances

glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,使用 psutil 库来采集系统数据,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。相对于top/vmstat/iostat等老牌监控工具,glances具有的优点是:Glances 可以监控本机也可以通过客户端服务器模式监控其他机器;Glances 提供了基于 XML/RPC 的 API 便于其他程序调用,可编程;Glances 可以将数据输出保存到 csv 或 html 格式的文件方便其他程序处理(报告或绘制图形)。

一、glances的安装

通常可以有两种方法安装 glances。第一种是通过编译源代码的方式,这种方法比较复杂另外可能会遇到软件包依赖性问题。还有一种是使用特定的软件包管理工具(如 easy_install 或者 pip,centos下叫pip-python)来安装 glances,这种方法比较简单。

ubuntu下的安装方法

 
 
  1. # sudo apt-get update
  2. # sudo apt-get install python-pip build-essential python-dev
  3. # sudo pip install glances

Centos下的安装

 
 
  1. # rpm -ivh http://fr2.rpmfind.net/linux/epel/6/x86_64/epel-release-6-8.noarch.rpm
  2. # yum install python-pip python-devel
  3. # pip-python install glances
二、glances的参数及用法

glances的参数

 glances 是一个命令行工具包括如下命令选项:
 -b:显示网络连接速度 Byte/ 
 -B @IP|host :绑定服务器端 IP 地址或者主机名称
 -c @IP|host:连接 glances 服务器端
 -C file:设置配置文件默认是 /etc/glances/glances.conf
 -d:关闭磁盘 I/O 模块
 -e:显示传感器温度
 -f file:设置输出文件(格式是 HTML 或者 CSV
 -m:关闭挂载的磁盘模块
 -n:关闭网络模块
 -p PORT:设置运行端口默认是 61209
 -P password:设置客户端 / 服务器密码
 -s:设置 glances 运行模式为服务器
 -t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767
 -h : 显示帮助信息
 -v : 显示版本信息

注:如果要输出温度,需要lm_sensors的支持,安装方法为:

 
 
  1. # yum install lm_sensors
  2. # pip-python install pysensors

glances

运行结果如上图所示,由于我这里没有安装lm_sensors模块,所以未显示温度信息,想要查看温度截图的可以参看官方的截图https://raw.github.com/nicolargo/glances/master/docs/images/screenshot-wide.png

其用法和输出都比较类似top命令,交互界面下的操作方法也和top类似,其中显示的字段的意义如下:

 
 
  1. VIRT: 虚拟内存大小
  2. RES: 进程占用的物理内存值
  3. %CPU:该进程占用的 CPU 使用率
  4. %MEM:该进程占用的物理内存和总内存的百分比
  5. PID: 进程 ID
  6. USER: 进程所有者的用户名
  7. TIME+: 该进程启动后占用的总的 CPU 时间
  8. IO_R IO_W: 进程的读写 I/O 速率
  9. NAME: 进程名称
  10. NI: 进程优先级
  11. S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。

交互界面下可以使用的快捷键的功能如下:

 
 
  1. h 显示帮助信息
  2. q 离开程序退出
  3. c :按照 CPU 实时负载对系统进程进行排序
  4. m :按照内存使用状况对系统进程排序
  5. i:按照 I/O 使用状况对系统进程排序
  6. p 按照进程名称排序
  7. d 显示磁盘读写状况
  8. w 删除日志文件
  9. l :显示日志
  10. s 显示传感器信息
  11. f 显示系统信息
  12. 1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统)
三、glances的高级用法

1、输出html格式,配置web server展出

 
 
  1. # pip-python install jinja2
  2. # glances -o HTML -f /var/www/html

注:输出html格式时,需要jinja2的支持,需要先安装依赖。默认输出的文件名是glances.html,可以通过http://IP/glances.html访问。

2、输出为csv格式,并用excel或libreoffice查看

 
 
  1. #glances -o CSV -f /home/cjh/glances.csv
  2. #libreoffice --calc %U /tmp/glances.csv

3、c/s模式及API编程

服务端按下面的命令启动

 
 
  1. # glances -s -B 192.168.10.16
  2. glances server is running on 192.168.10.16:61209

注:如果使用防火墙的情况下,需要在iptables上的放行。

客户端查看

 
 
  1. # glances – c 192.168.10.16

如果客户端在终端下可能有串行显示的问题。除些外,我们也可以利用glances提供的XML-RPC API编程出,示例出下:

 
 
  1. $ vim test.py
  2. #!/usr/bin/python
  3. import xmlrpclib
  4. s = xmlrpclib.ServerProxy('http://192.168.10.16:61209')
  5. print s.getSystem()

执行上面的python脚本的结果为:

 
 
  1. [root@test174 tmp]# python test.py
  2. {"linux_distro": "CentOS 6.4", "platform": "64bit", "os_name": "Linux", "hostname": "localhost.localdomain", "os_version": "2.6.32-358.el6.x86_64"}

更多API操作方法,可以参看github上该项目的wiki页面

四、颜色告警及设置

绿色表示性能良好,无需做任何额外工作;(此时 CPU 使用率、磁盘空间使用率和内存使用率低于 50%,系统负载低于 0.7)。

蓝色表示系统性能有一些小问题,用户应当开始关注系统性能;(此时 CPU 使用率、磁盘空间使用率和内存使用率在 50%-70% 之间,系统负载在 0.7-1 之间)。

淡红表示性能报警,应当采取措施比如备份数据;(此时 CPU 使用率、磁盘空间使用率和内存使用率在 70%-90% 之间,,系统负载在 1-5 之间)。

深红表示性能问题严重,可能宕机;(此时 CPU 使用率、磁盘空间使用率和内存使用率在大于 90%,系统负载大于 5)。

具体告警阀值可以通过修改文件/etc/glances/glances.conf进行修改。

五、批量部署

在该程序的官方页面上为我们提供了利用puppet批量部署glances的方法,具体可以参看puppet-glances项目。除了puppet,现在比较流行的批量管理工具salt也可以实现该工具的批量部署,方法如下:

1、编写sis部署文件

 
 
  1. # vim /srv/salt/glances.sls
  2. python-pip:
  3. pkg.installed
  4. build-essential:
  5. pkg.installed
  6. python-dev:
  7. pkg.installed
  8. glances:
  9. pip.installed:
  10. - require:
  11. - pkg: python-pip

2、强制执行状态

 
 
  1. # salt '*' state.sls glances
  2. ...
  3. minion1.vpsee.com:
  4. ----------
  5. State: - pip
  6. Name: glances
  7. Function: installed
  8. Result: True
  9. Comment: Package was successfully installed
  10. Changes: Glances==1.7.1: Installed
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值