第六章 虚拟化的性能评估
第二节 Linux系统效能的评估
在Linux下要监测服务器各项性能指针有太多选择了,最常听到就是MRTG。本节的目的不是深入研究MRTG,因为大家都知道,在Linux下的任何一个应用的功能都强大得不知怎么办,要理解每一个功能是不太可能的,因此我们只要理解到和虚拟机相关的部分就行。
▲ 一般在Linux下是使用top来检视性能,但无法进行长时间表项
6.2.1 MRTG简介
MRTG全称为多重路由流量表(Multi Router Traffic Graphic),利用图表的方式显示主机上一些指针的效能,可以通过Apache或Tomcat,用网页的图表方式来检视。虽然MRTG在一开始是用来检视网络流量的,但在使用不同的定义文件来生成数据之后,也可以显示其他数据在MRTG的图表上,如CPU、RAM、DISK等方面。
MRTG原来的用处就是看网络的流量,因此在Linux下,会以默认的网卡(eth0)来作为显示流量,也就是说,本小节所有的步骤都落实后,MRTG就直接可以检视Linux下第一片网卡eth0的流量了。
▲ MRTG能做的事情非常多,如网络流量及CPU等
*安装MRTG的准备任务
在安装MRTG之前,你必须作好下面的准备。
(1)对Linux有基本的认识,如安装binary套件、权限、文件等观念。
(2)会使用vi编辑器。
(3)Linux已安装LAMP环境。
(4)Linux的网卡可常规使用,取得IP可和外网连接。
(5)能从网上或光盘机补丁套件。
6.2.2 开始安装MRTG
当你准备好使用Linux之后,就可以安装MRTG了,MRTG是由下列几个套件组成的,因此必须配置下列的套件。
*安装MRTG的步骤列表
(1)安装snmpd服务以及snmp工具条程序。
(2)配置snmpd参数。
(3)测试snmpd参数。
(4)安装mrtg套件。
(5)配置mrtg的运行环境。
(6)创建mrtg的配置文件。
(7)以配置文件中的参数来运行mrtg。
(8)创建Apache下的mrtg目录。
(9)创建Apache下的index.html文件。
(10)从网页检视mrtg的图表。
1. 安装snmpd服务以及snmp工具条程序
snmp是标准的网络监控协议,在Linux和Windows下都有支持。在安装了snmp协议之后,就可以监视主机的数据了。Linux下使用的 snmpd这个服务,但在安装Ubuntu时是没有安装的,因此我们要手动安装。
*安装snmpd服务及工具
1. 进入Linux的命令提示列下,并且键入sudo apt-get install snmpd snmp。
2. 键入用户口令之会弹出安装的画面,安装时系统会要求键入y,意味着同意安装,之后就会进行一些说明,在安装完毕时回到命令行提示下。
▲ 在Linux下安装snmpd及snmp的套件
3. 当安装完毕时,snmpd就会激活。我们可以用ps aux | grep snmpd命令检视是否有激活。
▲ 检视snmpd是否激活
在运行服务中有snmpd这个服务,意味着Linux主机上的snmpd安装并且成功激活了。
2. 配置snmpd参数
接下来要配置snmpd参数,以求snmpd在Linux下能正常运行。在Ubuntu下,snmpd的参数配置文件放在/etc/snmp/snmpd.conf下,我们就直接编辑这个文件即可。
*配置snmpd参数
1. 键入sudo vim /etc/snmp/snmpd.conf。
▲ 先找到此画面
2. 进入之后,找到下图所示的地方,改成我们要的样子。
▲ 将#号拿掉
3. 之后找到下一个图的地方,这里是一些辨识用的数据,也改成如图中的例子。
▲ 这是辩视数据,在MRTG的网页上会显示
▲ 改成你要的样子
更改完之后,存盘离开vi,并且重新激活snmpd服务,还是键入sudo /etc/init.d/snmpd restart。弹出如下图所示的画面就意味着重新激活成功了。
▲ 重新激活snmpd即可
3. 测试snmp参数
刚才安装了snmp套件,就是要用其中的snmpwalk的命令来测试snmpd是否成功。我们键入snmpwalk –v 1 –c public localhost system,如果弹出了一大堆参数,意味着snmpd配置已经成功了。如果弹出timeout或是no response之类的消息,意味着snmpd没有安装好。这时要遍历网卡是否有激活,遍历snmpd是否在服务中激活等。一般来说,snmpd不太会出问题,所以如果这个参数有问题,要多看看其他网络、IP、服务等问题。
▲ 弹出图中的消息即可
4. 安装mrtg套件
安装mrtg就像安装任何Ubuntu下的套件一样,用apt-get就行。只要键入sudo apt-get install mrtg。
▲ 键入安装,会要求安装套件,键入y即可
安装时,系统会询问是否要用mrtg的用户方式来运行。只要单击Yes按钮即可。这么做的目的就是为了系统安全。在安装完毕之后,系统会在Linux下创建一个mrtg的cronjob,每5分钟会运行一次mrtg任务来补丁监视的条目,默认值就是eth0网卡的流量。这个步骤落实后,意味着mrtg监视安装完毕了,但mrtg的监视结果还不知道,我们必须创建能从Apache上观察的mrtg网页和配置文件才行。
▲ 照着其步骤进行即可
▲ 系统会创建一个Linux下的Cron Job来5分钟运行一次
5. 配置mrtg的运行环境
接下来需要创建mrtg的运行环境。下面就是完整的步骤。
1. 首先我们以root的身份来运行,因为mrtg的配置文件是放在/etc下,而/etc一般是以root的身份运行以及管理的。键入sudo -sH,自此以后都以root的身份来运行命令。
2. 进入之后,先创建mrtg的目录。在Ubuntu下,Apache2的文档目录是安装在/var/www中,因此我们要创建一个/var/www/mrtg。键入“mkdir /var/www/mrtg”。
▲ 先以root的身份运行较方便
▲ 创建一个目录来存放mrtg的配置文件
3. 接下来创建一个mrtg.cfg的配置文件。在Linux中,mrtg的运行都是可读这个配置文件的内容,因此以后不管是CPU、RAM或是其他的监视条目,都是以这个文件为主。因此我们先创建,键入cfgmaker public@localhost > /etc/mrtg.cfg。
▲ 创建配置文件
4. 接下来就要运行mrtg这个程序了。键入env LANG=C mrtg /etc/mrtg.cfg,这个命令的目的是让mrtg可读/etc/mrtg.cfg这个文件。
▲ 运行mrtg程序
5. 运行之后会有很多报警消息,多运行三、四次直到所有的报警消息都没有即可,在Linux下按上箭头就会重复运行上一个命令。
▲ 多运行几次报警消息会消失
6. 接下来就是创建index.html文件。也是键入indexmaker /etc/mrtg.cfg > /var/www/
mrtg/index.html。
▲ 创建网页的index.html文件
7. 我们可以到mrtg的目录下看到已经创建的图形及html文件。
▲ 可以看到文本和图档都已经创建了
6. 从浏览器中观察mrtg的图表
我们从能访问该Linux主机上的计算机的浏览器进入,本例为http://192.168.1.223/mrtg。就可以进入。进入后只有一个图表,单击可以看到更详细的图表。
▲ 键入网址
到此,我们的mrtg已经安装好了,如果我们想要监视其他的条目,只要更改/etc/mrtg.cfg,并且重新运行mrtg,重新生成index.html,就可以加入新的mrtg监视条目,只要将这里mrtg的功能安装好之后,以后就方便了。
▲ 会有不并发段的图档,对于长时间的资源使用率掌握很有帮助