当前位置:Linux教程 - Linux综合 - mrtg的调试和使用

mrtg的调试和使用

  出处:http://www.LinuxByte.net/ 作者:jogs(LinuxByte) 发布日期:2004-7-27 最近研究了下mrtg的使用 关于mrtg是干吗的就不说了,直接进入正题 安装: mrtg需要有以下包 gcc,Perl,gd,libpng,zlib 安装过程: ./configure --prefix=/usr/local/mrtg make make install 配置: mrtg重要的只有2个地方 一是就是它的conf文件 二是获取参数的源 它可以从snmp或者自写脚本来取得数据,不过linux下感觉snmp获得数据有一定的误差,感觉数据出来的但是实际mrtg根本拿不到,所以我以下都使用脚本方式来获得数据 生成配置文件: 由于生成mrtg配置文件默认带有网卡流量监控,需要snmp,所以首先需要修改下snmp的配置文件 vi /etc/snmp/snmpd.conf 将 #view systemview included mib2 修改为: view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc Access notConfigGroup "" any noauth exact systemview none none 修改为: access notConfigGroup "" any noauth exact mib2 none none 保存,重起snmpd 首先先建立一个mrtg工作的主目录,由于mrtg使用web方式,所以需要建立在apache的主目录下 mkdir /var/www/mrtg 然后使用mrtg的cfgmaker命令生成mrtg的配置文件 /usr/local/mrtg/bin/cfgmaker --output /etc/mrtg.cfg [email protected] 此处192.168.0.1为本机ip mrtg.cfg配置文件生成后,会默认包含本机所有网卡的监控信息,如不需要可以删除 vi /etc/mrtg.cfg 将 # for UNIX # WorkDir: /home/http/mrtg 修改为 # for UNIX WorkDir: /var/www/mrtg 此处为我们的mrtg主目录 加入 Language: gb2312 指定页面显示语言为中文 制作首页 /usr/local/mrtg/bin/indexmaker --output=/var/www/mrtg/index.Html /etc/mrtg.cfg indexmaker会依据你的mrtg.cfg自动创建一个访问页面 正确保存配置文件后执行 /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg 此时会报告错误,不用理会,连续执行3次后错误应该会消失,如还继续保错,则应为配置文件出错 注意:只有使用mrtg命令时,mrtg才会依据mrtg.cfg里的设置取值. 到这里,基本的mrtg已配置完成,确认snmp和httpd都已启动,打开浏览器,输入http://192.168.0.1/mrtg就 可以看到你的网卡流量图了. 此时的mrtg只可以监控网卡流量,如果需要监控其他则需要自己编写脚本和mrtg.cfg来实现 以下是一个apache连接的例子 首先再mrtg.cfg里加入apache连接的配置段 Target[apache_conn]: `/bin/mrtg.apa.pl` Options[apache_conn]: gauge,nopercent,growright Directory[apache_conn]:apache_conn MaxBytes[apache_conn]: 4000 YLegend[apache_conn]: apache连接数 ShortLegend[apache_conn]: 个 LegendI[apache_conn]: apache总连接数: LegendO[apache_conn]: apache当前连接数 Title[apache_conn]: apache连接数 PageTop[apache_conn]: <h1>apache连接数</h1>
[1] [2] 下一页 

Target指的是mrtg从那里取画曲线的值,此处可以从snmp和脚本取值,如从脚本取值需注意,需要前后用`来指定脚本路径而不是' . []指这个配置段的名称,这里为apache_conn,届时会在mrtg的workdir里建立同名的目录 Maxbytes指mrtg取值后能表现的最大值 YLegend指再图标中纵向的名称 ShortLegend指在图标中数值后面所跟的单位 LegendI 传递过去的第一个值 LegendO 传递过去的第二个值 Title 网页title Pagetop 网页显示名称 mrtg.apa.pl #!/usr/bin/perl $hostname=`hostname`; $hostname=~s/\s+$//; $apache_all_conn=`netstat -angrep 192.168.0.1:80wc -l`; $apache_conn=`netstat -angrep 192.168.0.1:80grep ESTABLISHEDwc -l`; $apache_all_conn=~s/\n$//; $apache_conn=~s/\n$//; $apache_all_conn=~s/^\s+\s+$//; $apache_conn=~s/^\s+\s+$//; $gettime=`uptimeawk '{print \$1" "\$3" "\$4}'`; $gettime=~s/\,\n$//g; print("$apache_all_conn\n"); print("$apache_conn\n"); print("$gettime\n"); print("$hostname\n"); 以上脚本为perl编写,由于apache的连接可以使用netstat查看,所以我用里一个简单的shell命令组合来获取apache的总连接数和当前建立连接的连接数. 需要注意以下几点 1) 使用命令传递值给mrtg时,mrtg只能接受4个参数,真正用于画图的只有2个 2) 4个参数必须依次为 值1,值2,运行时间,主机名 3) 4个参数后不得有\n等换行符 由于mrtg.cfg的改变,所以必须依次使用以下命令 /usr/local/mrtg/bin/indexmaker --output=/var/www/mrtg/index.html /etc/mrtg.cfg 使用mrtg的indexmaker重生成index.html文件,否则你无法看到新加入的apache连接的监控. /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg 使用mrtg命令传入数值,同样会报3次错,忽略即可 再打开浏览器,输入地址,应该可以看到首页除了网卡的流量外再下方会加入apache连接的图 确认无误后,可再/etc/mrtg.cfg里加入 RunAsDaemon: Yes 在使用一次 /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg mrtg就会使用daemon方式运行 你以后要做的只是每次使用浏览器看看图就可以了,是不是很轻松 最后附上我目前能做到监控的一些信息,由于屏幕有限所以没法截完整,目前已做到可以监控如下信息 网卡,tcp连接数,系统进程数,内存使用,swap使用,cpu负载,pop连接数,smtp连接数,diskio等 如果大家需要我可以贴出所有脚本

(出处:http://www.sheup.com)


上一页 [1] [2] 

由于mrtg.cfg的改变,所以必须依次使用以下命令 /usr/local/mrtg/bin/indexmaker --output=/var/www/mrtg/index.html /etc/mrtg.cfg 使用mrtg的indexmaker重生成index.html文件,否则你无法看到新加入的apache连接的监控. /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg 使用mrtg命令传入数值,同样会报3次错,忽略即可 再打开浏览器,输入地址,应该可以看到首页除了网卡的流量外再下方会加入apache连接的图 确认无误后,可再/etc/mrtg.cfg里加入 RunAsDaemon: Yes 在使用一次 /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg mrtg就会使用daemon方式运行 你以后要做的只是每次使用浏览器看看图就可以了,是不是很轻松 最后附上我目前能做到监控的一些信息,由于屏幕有限所以没法截完整,目前已做到可以监控如下信息 网卡,tcp连接数,系统进程数,内存使用,swap使用,cpu负载,pop连接数,smtp连接数,diskio等 如果大家需要我可以贴出所有脚本

(出处:http://www.sheup.com/)


上一页 [1] [2] [3]