ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:39.36KB ,
资源ID:3410208      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3410208.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(各种性能监测在企业中部署和实现.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

各种性能监测在企业中部署和实现.docx

1、各种性能监测在企业中部署和实现各种性能监测在企业中部署和实现方法 2010年03月05日 IT168网站原创 作者:开源时代 编辑:覃里 评论:0条 本文Tag: IT业界 产品部署 开源项目实施 开源 【IT168 文档】a.snmp协议的配置以及在Linux下和Windows上的测试方法:刚才我们已经用了不少的篇幅介绍了SNMP简单网络管理协议的基本原理。现在我们即将以Red Hat最新的企业版本Red Hat Enterprise Linux 5 Update 2(简称RHEL5u2)为基础来演示如何配置SNMP服务。在RHEL5u2中提供了一个叫做net-snmp的rpm包,net-s

2、nmp是在IPv4和IPv6上执行SNMP的v1,v2和v3版本协议的一组程序。需要特意说明一下的是,由于在大多数环境下针对企业应用都会使用稳定版本的Red Hat Enterprise Linux操作系统,所以后面所有操作所使用的Linux平台也都是RHEL,但是那些对技术体验感兴趣的用户也可以使用Fedora 8或者9来实现上述所有的操作。在该例子中,假设服务器192.168.1.10是被监测的系统,我们将在其上分别配置和启用基于v1和v3版本的snmp服务,而另外一台主机192.168.1.100充当管理工作站,并且用snmp命令来获得被监测系统的详细信息。在服务器192.168.1.1

3、0上,首先配置v1版本的SNMP协议:挂载DVD安装光盘,并从光盘中安装snmp相关的软件包:lm_sensor,net-snmp,snmp-utils。关于net-snmp包的作用刚才已介绍,而至于net-snmp-utils主要提供了使用snmp协议管理网络的一系列工具。装完所需要的软件包之后,我们可以直接修改snmp的主配置文件/etc/snmp/snmpd.conf并重启服务来直接启用SNMPv1。采用SNMPv1版本的重要标志之一就是使网络管理设备访问代理时需要使用基于Community的团体的验证方式。这里的Community使用默认的public,当然也可以根据自己的需求去修改为

4、任意一个字符串。完成之后保存该档并运行命令重启服务:# service snmpd start# chkconfig snmpd on为了监测是否能够正确获得整个系统中每个MIB的OID值,可以运行snmpwalk命令以获得响应的结果,snmpwalk命令可通过snmp的GETNEXT动作获得MIB树上的管理信息。# snmpwalk v1 cpublic 192.168.1.10至此为止,被监测对象上的snmp就算配置完成。为了说明结果,我找了一个运行于Windows的操作系统上的利用snmp协议的监测软件来看看效果。在Windows平台上能够实现该功能的软件有很多,例如Whatsup,So

5、lawins等等。这里以Whatsup为例,我的监测主机上操作系统选用的是Windows Server 2003 Enterprise Edition。IP地址是192.168.1.100。按照图示的步骤安装Whatsup软件,其实秉承Windows软件的安装风格一路回车即可搞定。由于我安装的是一个30天的免费试用版本,所以需要在启动产品的时候选择“Activate Later”,并且在“Device Discovery Method”中选择“IP Range Scan”。之后起始地址都填入被监测设备的地址192.168.1.10,按照在/etc/snmp/snmpd.conf档中的内容输入团

6、体名称“public”按照下图确定扫描内容并开始扫描,扫描时间需要根据设备的数量决定。在“Action Policy Selection”中选择“Do Not Apply an Action Policy”并结束扫描。最后通过“Report View”标签选择“Device Reports”并最终获得所有设备的Health状况。在众多的性能监测软件中Whatsup的功能相对比较强大,而且设置方便,接口友好。在很多企业的服务监测中是一个不错的选择,而且Whatsup的其它视图模式和功能也比较多。至于其它的例如Solawins等类似的软件,在配置方面的步骤基本大同小异,所以这里就不花时间详述了。然

7、后配置v3版本的SNMP协议:与v1版本的SNMP协议不一样,v3版本最重要的特征是更强的安全性,因为团体信息在网络上是以明文形式传送。因此v3版本不再使用团体信息来实现认证,而是采用对称或者非对称加密方式加密用户名和密码实现认证。所以安全方面自然要比v1版本的高很多,不过在配置方面也显然会比v1版本的更加麻烦。所幸的是net-snmp-utils工具包为我们准备了另外一个强有力的SNMP配置工具net-snmp-config,因此一般用户仍然可以通过他非常方便地实现v3版本的SNMP配置。我们先切换到光盘,由于net-snmp-config工具由net-snmp-devel包提供,所以在安装

8、一系列依赖包包括beecrypt,elfutils-devel,elfutils-devel-static后,最后还是要安装net-snmp-devel包。之后将snmpd服务停止并备份其主配置文件,然后运行命令:# net-snmp-config -create-snmpv3-user -A 12345678 -X 12345678 -a MD5 -x DES admin关于这条命令的说明:-create-snmpv3-user -A authpass -X privpass -a MD5|SHA -x DES|AES username命令执行之后将自动建立新的配置文件snmpd.conf,

9、而内容也十分简单。只有用户名和权限,而关于认证方式的信息则会存储在/var/net-snmp/snmpd.conf文件中。最后重启snmpd服务,并再次用snmpwalk指明通过v3的认证方式获取MIB上的OID信息。命令是:# snmpwalk -v3 -u admin -l auth -a MD5 -x DES -A 12345678 -X 12345678 192.168.1.10如果要验证配置的信息是否OK,还是可以通过Windows下的Whatsup来监测信息,步骤基本上和上例一样,只不过更改一下SNMP版本并填入相应的认证信息即可。b.snmp + mrtg实现对网络负载的监测:上

10、述的操作方法是利用了一些闭源的商业软件在Windows下进行性能监测,对于一些经费充足的企业,这种方案不乏考虑的价值。不过在了解了snmp协议的基本工作原理和配置方法之后,我们来看一下利用snmp在Linux操作系统上进行监测的解决方案。提到在Linux上的开源方案,不得不提及一个老牌的网络流量监测工具mrtg。Mrtg(Multi Router Traffic Grapher,MRTG)是一个完全免费的监测网络链路流量负载的工具软件, 它通过snmp协议从设备得到流量信息,并将流量负载以包含PNG格式图形的HTML 文文件以Web页面显示给用户。Mrtg能够以非常直观的形式显示流量负载,而且

11、在工作过程中所占用的系统资源很低。下面我们将演示如何通过mrtg来获得以snmp协议所监测到的网络流量方面的信息,为了更好地说明在企业环境中的应用,我们会通过一台运行MRTG的网管工作站同时获取两台被监测服务器的网络流量信息来仿真企业对多台服务器的网络流量监测方式。基本结构如下:网管工作站:RHEL5u2 192.168.1.10被监测主机1:RHEL5u2 192.168.1.100被监测主机2:RHEL5u2 192.168.1.200首先在被监测主机192.168.1.100和192.168.1.200上分别配置并开启snmpd服务(过程同上例)。为了简化配置我只使用上面的v1版本的SN

12、MP配置方法。同时需要在开启服务之后关闭防火墙以及保证主机之间的连通性。之后在网管工作站上安装并且配置mrtg。由于在RHEL5u2中mrtg是系统自带的软件包,所以可直接使用rpm安装。# rpm -ihv mrtg-2.14.5-2.i386.rpm安装完成之后需要运行命令cfgmaker针对两台被监测主机各自生成mrtg的配置文件,在该例子中配置文件分别是test1.cfg和test2.cfg,存放在/etc/mrtg目录中。#cfgmaker -global WorkDir: /var/www/html/mrtg -global Options_: growright,bits -if

13、ref=ip -output /etc/mrtg/test1.cfg public192.168.1.100#cfgmaker -global WorkDir: /var/www/html/mrtg -global Options_: growright,bits -ifref=ip -output /etc/mrtg/test2.cfg public192.168.1.200上述的命令定义了生成配置文件test1.cfg和test2.cfg的全局参数,包括配置文件的主目录,页面存放的主目录,snmp团体信息和建立绘图时指定绘图方式的一些必须参数,如绘制向右方增长的统计图和统计图的计量单位等。

14、之后执行下面的命令将两个配置文件的内容合并到主配置文件/etc/mrtg/mrtg.cfg里面。# cat test1.cfg mrtg.cfg# cat test2.cfg mrtg.cfg并根据配置文件的需求在/var/www/html目录下建立mrtg页面的主目录:# mkdir /var/www/html/mrtg以及针对mrtg.cfg配置文件运行命令来启动mrtg,注意,在默认的UTF-8语言字符集下这个启动命令无法执行成功,因此需要设置语言环境变量为env=C:rootlocalhost mrtg# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.

15、cfg该命令需要执行三次以建立正确的mrtg数据库文件。最后要做的工作是按照配置文件内容在mrtg页面的主目录下生成正确的index檔,命令如下:# indexmaker -output /var/www/html/mrtg/index.html -title=MRTG /etc/mrtg/mrtg.cfg同时也要按照mrtg.cfg的配置修改和启动apache并最终为mrtg能够定期进行数据采集建立一个每五分钟执行一次的任务计划:# cat /etc/httpd/conf/httpd.conf | grep DocumentRootDocumentRoot /var/www/html/mrt

16、g# service httpd start# chkconfig httpd on# crontab -l*/5 * * * * /usr/bin/env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg /dev/null 2&1在启动apache之后,即可以在网管工作站或者是任何可以访问到192.168.1.10的主机上以http:/192.168.1.10的方式打开MRTG的页面。可以很直观地看到两台主机的流量页面以及详细信息。c.SYSSTAT + mrtg实现对服务器各种性能参数的监测:一些读者可能会有这样的疑虑:既然我们已经能够通过snmp + mr

17、tg得到网络流量的监测情况,那么如果要实时监测服务器的其它系统参数应该怎么办?这个问题的答案比较遗憾:由于MRTG是一个专门针对网络流量进行监测和绘图的工具,所以默认情况下不提供对系统其它方面信息监测的功能。因此尽管SNMP协议本身可以获得和显示被监测主机上的大量信息但是鉴于MRTG方面的限制而无法显示和显示出来。但是好在天无绝人之路,MRTG本身实际上也是一个强大的数据采集和绘图引擎。于是我们可以利用一些SNMP以外的系统监测工具来实时获取服务器性能信息,包括CPU,内存,磁盘空间使用率以及I/O性能方面的内容,然后交给MRTG来获得我们所需要的其它类型的统计图信息。在清楚了MRTG原理之后

18、,这样做实际上会拥有更大的灵活性。但是由于涉及的内容需要一定脚本编程的知识,所以对一些高级用户是比较适用的。下面我们就举例说明如何将MRTG和SYSSTAT所提供的一系列如sar,iostat以及free等性能监测命令等进行结合来获得系统其它方面的统计信息的配置方法。由于这次网管工作站已经不可能再通过SNMP获取信息,所以我们将环境更改一下,在被监测主机直接安装和配置MRTG,并且结合sysstat一类的系统工具来绘制本机的信息图:此时假设被监测主机的操作系统是:RHEL5u2,IP地址是192.168.1.100Sysstat是在RHEL5u2中自带的一个综合性能监测工具包。其中包括了sar

19、(主要用于cpu,内存方面的信息统计)和iostat(存储设备I/O统计工具)。由于sysstat是系统本身自带的包,所以在两台被监测的主机上分别挂载光盘安装sysstat即可。当然除了sysstat还有一些其它的系统性能显示方面的工具可以使用,我们会分别举例。# rpm -ihv sysstat-7.0.2-1.el5.i386.rpm同时还要分别在被监测的主机上安装mrtg。# rpm -ihv mrtg-2.14.5-2.i386.rpm在正式开始之前,需要花一点时间来介绍一下sar和iostat的基本功能:sar是一个强大的系统监测工具,默认只显示CPU的使用情况,而通过加上不同的参数

20、sar可以显示大量的内存以及I/O使用方面的状况和信息;而iostat主要显示I/O使用方面的信息。如果执行sar不加任何参数通常会显示下面这些信息:其中sar的命令显示内容包括了:%user ? 用户空间的进程占用CPU时间的百分比%system ? 系统空间的进程占用CPU时间的百分比%nice? 已调整优先级的进程占用CPU时间的百分比%iowait? 没有进程在该CPU上执行时,处理器等待I/O完成的时间%steal? 虚拟操作系统占用CPU时间的百分比%idle? 没有进程在该CPU上执行的时间(也就是CPU未使用的时间)其中iostat命令显示内容包括了:tps? 每秒钟完成的I/

21、O请求数量Blk_read/s? 每秒从设备上读取的block数量Blk_write/s? 每秒写入到设备商的block数量另外sar可以通过增加时间参数来指定执行的频率以及输出的内容量,例如命令是sar u 5,则表示每5分钟显示一次CPU的使用情况。这样就利于我们将该命令写入到一个脚本/var/www/mrtg/mrtg.cpu中。在执行之前需要首先赋予其执行权限,然后为了监测该脚本是否有语法错误,可以执行该脚本测试。如果显示信息正确,则可以将其嵌入到自建的监测CPU的mrtg配置文件mrtg.cfg.cpu中。当然这个时候本机Apache的访问主目录也要更改为/var/www/html/

22、mrtg并重启apache服务。之后运行命令三次以启动mrtg:# env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg.mem最后别忘了建立存放页面的目录,进入该目录中,将localhost.html更名为index.html以及类似上面的例子增加一个每五分钟运行一次的计划任务。此时在任何一台工作站上通过浏览器访问页面http:/192.168.1.100/cpu就可以看到192.168.1.100的CPU使用情况。按照上面的方法,对内存使用情况的监测也大同小异:可以使用sar r选项来显示内存使用情况。同样将该命令写入到一个脚本/var/www/m

23、rtg/mrtg.mem中去,并给予执行权限。在测试执行正常之后即可将其嵌入到自建的监测内存的mrtg配置文件mrtg.mem.cfg中,执行命令# env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg.mem三次,并建立存放页面的目录,将localhost.html更改为index.html,并建立类似上面的计划任务。完成之后从任何一台工作站通过浏览器都可以访问页面http:/192.168.1.100/mem来查看该主机的内存使用情况。接着按照上面的例子,来建立磁盘读写情况的监测:由于原理一致,方法接近。我就不再赘述,只是会将基本的过程和需要的脚本

24、内容给出来:# cd /var/www/mrtg/建立监测脚本及其内容:# vi mrtg.disk# cat mrtg.disk#!/bin/bashhd=sdadisk=/dev/$hdUPtime=/usr/bin/uptime |awk print $3$4$5KBread_sec=iostat -x $disk|grep $hd |awk print $8KBwrite_sec=iostat -x $disk|grep $hd |awk print $9echo $KBread_sececho $KBwrite_sececho $UPtimehostname赋予权限:# chmod

25、755 mrtg.disk测试执行情况:# ./mrtg.disk 37.510.167:25,3users,localhost.localdomain建立配置文件及显示其内容:# vi mrtg.cfg.disk# cat mrtg.cfg.disk WorkDir: /var/www/html/mrtg/diskTargetdisk: /var/www/mrtg/mrtg.diskTitledisk: Disk HDA I/O Utilization Report#Unscaleddisk: dwymMaxBytesdisk: 10240000PageTopdisk: Disk I/O U

26、tilization Reportkmgdisk: KB,MB,GBLegendIdisk: Disk I/O KBread/secLegendOdisk: Disk I/O KBwrite/secLegend1disk: Disk I/O KBread/secLegend2disk: Disk I/O KBwrite/secYLegenddisk: MegabytesShortLegenddisk: &Optionsdisk: growright,gauge,nopercent建立主页面主目录:rootlocalhost mrtg# mkdir /var/www/html/mrtg/disk

27、运行mrtg:rootlocalhost mrtg# env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg.disk rootlocalhost mrtg# env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg.disk rootlocalhost mrtg# env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg.disk 重命名index檔:rootlocalhost mrtg# mv /var/www/html/mrtg/disk/disk.html /var/ww

28、w/html/mrtg/disk/index.html建立任务计划:rootlocalhost mrtg# crontab -l -u root*/5 * * * * /usr/bin/env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg.cpu /dev/null 2&1crontab: installing new crontab重启httpd服务:rootlocalhost mrtg# service httpd restartrootlocalhost mrtg# chkconfig httpd on完成之后从任何一台工作站通过浏览器都可以访问

29、页面http:/192.168.1.100/disk来查看该主机的磁盘读写效率情况。到此为止我们基本上对mrtg在各方面的功能已经有了一个比较全面的认识。而且针对其配置和管理方法也有了一个初步的了解。相信在企业中会有更多的朋友能够藉助手工定制的方式来灵活发掘和获取mrtg在其它方面更多的功能和特性。d.更加强大和灵活的性能监测方案:SNMP + Cacti + RRDtool通过对MRTG这个软件的使用很多用户不难发现。像MRTG这样的软件尽管有系统资源占用少和低成本等方面的优点,其实也存在着一些功能方面的限制:例如MRTG本身只是通过SNMP协议来监测网络流量的一个工具软件,所以在设计上并没

30、有考虑到提供足够的和SNMP协议结合的功能以实现对服务器其它方面的性能参数进行监测。简单的说,SNMP获得的信息尽管足够全面,但是MRTG默认的配置方式只能对其网络信息作监控,这样对于SNMP协议来说就有点大材小用之嫌。所以如果要实现对SNMP所获得的更多信息进行统计就必须要像上面那样手动定制脚本并将获取的数据指定到MRTG配置文件上。这实际上只是利用MRTG来做一个信息采集与绘图的软件。这种操作给我个人的感觉似乎有些不伦不类,况且手动定制脚本尽管的确可以拥有一定的灵活性,但这对于一些初级用户来说还是存在一些技术上的困难。另外如果这样的结构扩展到拥有多个服务器的网络中,就需要在每一个服务器上都要部署同样的架构来实现多台服务器同步监测,显然工作量就显得比较大了。另外mrtg的数据库是一种文本式的数据库,一般数据不能重复使用,只能画出两个DS(一条线,一个块)并且缺乏管理功能。能否有一款方案能够完全利用SNMP协议中众多的MIB和OID信息绘制出内容综合全面而且接口美观的系统性能分析图表呢?答案就是现在即将出场的RRDtool和Cacti。RRDtool其实和mrtg是同一家族, 主要目的都是产生time

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1