一、Glances:
Glances 是一款非常不错的跨平台的性能监控工具,提供了CPU、CPU队列、内存、虚拟内存、网络、I/O和最占用服务器的资源的进程列表等,应该就这些了吧,提供了这些
指标的监控信息,并且在运行时会根据资源的占用情况适用不同的颜色标注其重要程度,非常直观,下面是使用中的截图:
二、Glances安装:
Glances的安装还是比较简单方便的,由于Glances是由python编写的,最好适用python的库管理工具pip来自动安装。并且使用工具
也将安装过程简单的。
Glances支持的系统有:CentOS、linux、windows、Mac OX 似乎还有别的,这里就分享我使用过的:
CentOS 6.4 64bit:注意使用root账号并更新yum的数据:
# rpm -ivh http://fr2.rpmfind.net/linux/epel/6/x86_64/epel-release-6-7.noarch.rpm # yum install python-pip python-devel # pip-python install glances
Ubuntu: 另外对第二行做一下说明,原本我也不是太明白它的意思,去查了下【python-pip就不讲了,python包的管理工具;build-essential编译c/c++程序,;python-dev是python的开发工具包。】
#sudo apt-get update #sudo apt-get install python-pip build-essential python-dev #sudo pip install glances
三、Glances的使用:
Glances我看了官网的文档,主要有四种方式,在这里分别说一些:
第一种:单机使用,这种使用方式非常简单,登录到服务器,或在本机的命令行模式下运行:
#glances
注意,我使用SSH链接工具是 SecureCRT,在使用Glances的时候遇到了一些问题,在默认的设置下回会错无法运行,使用以下设置正常使用:
第二种:客户端模式,假设有两台已经安装Glances的服务器,分别为A 与 B,并且 B 的IP地址为192.168.1.117,那么:
首先在服务器B使用以下命令,将B作为被监控端:
#glances -s
然后在服务器A使用以下命令,将A作为监控端:
#glances -c 192.168.1.117
测试在服务器A就会显示服务器B的监控信息
另外补充说一下官网使用文档的概念,官方文档中,讲被监控端作为服务器端(server),而监控端作为客户端(client).
另外再说明下,一些常用的参数说明,基本上就是直译官方文档。
在被监控端也就是服务器端, 你可以使用 -B ADDRESS 绑定地址与使用 -p PORT指定监听的TCP端口.
在监控端也就是客户端, 你同样可以使用 -p PORT来指定服务端使用的端口.
如果需要设置连接到服务器的密码可以使用 --password.
注意默认绑定的地址是 0.0.0.0 (Glances 会监听所有网络接口) 而默认TCP端口为 61209(如果不指定端口的话,要确保这个端口能够被访问不要被防火墙。。。。).
无论是在服务器或客户端,限制都是被设置在服务器端.
第三种:将glances的监控数据导出到CSV以其他软件使用生成图表,如果要执行这个操作可以使用以下命令:
$ glances --output-csv /tmp/glances.csv
这种就比较简单了,补充一点,导出CSV可以指定路径,这样找起来方便多了
第四种:最后就是使用Glances提供API当Glances运行以后可以实时的获取服务器监控数据,这样就能得到更定制化的性能数据加以分析。
绝对是Performances test的一大利器啊,并且如果是分布式的集群的话也可以通过这个方式来监控多台服务器。
这种还没有尝试,打算另写一篇补充使用Glances的API来补充
四、最后说明一些在Glances的标注的规则: