免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 5330 | 回复: 36
打印 上一主题 下一主题

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-19 11:54 |只看该作者 |倒序浏览
感谢 abel 对我的支持和帮助,以及platinum的指点才能
完成MRTG的配置,下面是我总结的文档,有什么错误的地方
请高手指点

--------------------------------------------------------------
本机IP地址: 192.168.1.10
RedHat Linux AS3 U2
这里apache的安装和配置就略过了

MRTG是用Perl写成的,并且使用了zlib、gd以及png等函数(zlib用来压缩图表、gd用来绘制图表)。服务器中已经含有下列的软件:perl(perl-5.0xx以上)、zlib(zlib-1.1.3-xx以上)、gd(gd-1.3.xx以上)、libpng和Apache。

rpm -qa | grep perl  
rpm -qa | grep zlib  
rpm -qa | grep gd
rpm -qa | grep libpng


安装SNMP ucd-snmp-4.2.1.tar.gz。

[root@tooth src]#cd /usr/local/src  
[root@ tooth src]#cp /root/ucd-snmp-4.2.1.tar.gz  
[root@ tooth src]#tar -zxvfucd-snmp-4.2.1.tar.gz  
[root@ tooth src]#cd ucd-snmp-4.2.1  
[root@ tooth cd-snmp-4.2.1]# ./configure --prefix=/usr/local/snmp
[root@ tooth cd-snmp-4.2.1]# make  
[root@ tooth cd-snmp-4.2.1]# makeinstall


System Contact Information (root@): localhost
System Location (Unknown):
Location to write logfile (/var/log/snmpd.log):
Location to write persistent information (/var/ucd-snmp):

启动ucd-snmp。
直接在shell下面打上/usr/local/snmp/sbin/snmpd start即可,或者直接加在/etc/rc.d/rc.local当中,就可以自动开机启动了。

[root@tooth root] # /etc/rc.d/init.d/snmpd start


修改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

[root@tooth root] # cd/usr/local/src
[root@tooth src]# cp/root/mrtg-2.9.17.tar.gz
[root@tooth src]# tar-zxvfmrtg-2.9.17.tar.gz
[root@tooth src]# cd mrtg-2.9.17
[root@tooth mrtg-2.9.17]# ./configure --prefix=/usr/local/mrtg-2
[root@tooth mrtg-2.9.17]# make;make install


生成mrtg的工作目录和mrtg的配置文件mrtg.cfg

[root@tooth mrtg-2.9.17]# mkdir /tmp/wsbm/mrtg/conf
[root@tooth rtg-2.9.17]# cp images/* /tmp/wsbm/mrtg/conf
[root@tooth mrtg-2.9.17]# cd /usr/local/mrtg-2/bin
[root@tooth bin]# perl cfgmaker public @192.168.1.10 --global "WorkDir: /tmp/wsbm/mrtg" --ifref=ip --output=/tmp/wsbm/mrtg/conf/mrtg.cfg  
[root@tooth bin]# vi /tmp/wsbm/mrtg/mrtg.cfg

如图1

不过由于程序自动设定的mrtg.cfg会有问题,因此,请将下面这三行修改成你自己的样式。
WorkDir: /tmp/wsbm/mrtg/conf/  
Options[_]:growright,bits  
Language:GB2312
[root@tsaibin]# ./mrtg /tmp/wsbm/mrtg/conf/mrtg.cfg


在/mrtg-2.9.29/bin下有cfgmaker  indexmaker  mrtg  rateup 4个文件,如果执行不了可以#chmod a+x rateup

---------------------------------------------------------------------------
开始测试你的参数项,要执行三次,就可以正常工作了,不过,若是有问题的话,就需要改mrtg.cfg,再执行直到没有错误发生为止。
这里的--global参数表示后面的选项是对后面指定的设备都是有效的(如果希望对多个设 备进行监控时,该参数就会发生作用)。WorkDir用来指示mrtg的工作目录;Options用来 指定一些特定的选项,这里的growright,bits是用来指定默认options配置的,对于常见 的应用来说默认options配置就可以满足需求了。ifref用来指示用什么选项来标识设备接 口,这里指定使用IP地址来标识网络设备接口。ifref可以指定为 nr、ip、eth、descr、name。nr表示用接口在MIBII库中Interface接口的ifIndex来识别 接口;IP表示使用ip地址识别接口;eth表示使用接口的物理地址标识接口;descr表示使 用接口的描述信息来标识接口;name表示使用接口名来标识接口。一般来说ip地址是唯一 的,但是有些情况下接口是没有IP地址的,例如交换机就会出现这种情况。对于接口来说 nr(接口号)是唯一的,因此对于一般情况使用IP地址就可以了,而对于其他一些情况则需 要采用nr了。"--output /etc/mrtg.cfg"标识将生成的配置文件存放在/etc/目录 下。"public@192.168.1.10"表示监控IP地址为192.168.1.10的设备,采用public作为共同 体名通过snmp协议来监控设备192.168.1.10。
-----------------------------------------------------------------------------


--------------------------------------------
生成监测流量的页面

[root@tooth bin]# ./indexmaker --output=/tmp/wsbm/mrtg/conf/index.html --title=Vbird  /tmp/wsbm/mrtg/conf/mrtg.cfg

上面这个程序indexmaker是在制作首页。会自动地输出一个index.html的文件中。

打开浏览器输入地址:http://192.168.1.10/mrtg/conf 我们可以看到mrtg的页面(图2)

但这并不是我们想看到的流量监测页面,在生成index.html文件的同时,在/tmp/wsbm/mrtg下生成了192.168.1.10_2.html文件,现在我们在浏览器地址输入http://192.168.1.10/mrtg/192.168.1.10_2.html,我们可以看到了mrtg监测流量的页面,但使用手工运行mrtg并不能定时产生适当的统计信息,因此最好还是定时自动运行mrtg来生 成统计信息,默认为五分钟运行一次。作为root身份crontab -e进入编辑状态,添加内容 如下:


*/5 * * * * /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg


到此我们就可以对一台服务器进行流量监测工作。

论坛徽章:
0
2 [报告]
发表于 2004-10-19 12:00 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

-----------------------------
内存的监测
编写MEM数据的抓取脚本:

[root@tooth root]# cd /usr/local/mrtg-2/bin
[root@tooth bin]# vi mfree.sh
#!/bin/sh
/usr/bin/free -m | grep Mem |awk '{print $4}'
/usr/bin/free -m | grep Mem |awk '{print $2}'
[root@tooth bin]# chmod 755 mfree.sh
[root@tooth bin]# sh mfree.sh
442
1006

(上面一个数据是内存使用量,下面的是内存总量,M)

修改mrtg.cfg文件内容
Options[_]: growright,bits,gauge,nopercent

上面我们已经进行了修改,这里我们只修改Options[_]:
否则会有错误提示
ERROR:Line 110 (Optiong[Memory] growright,gauge,nopercent) in CGF file (mrtg.cfg) does not make sense


找个地方再添加下面内容:

###MEM status
Target[Memory]:`/usr/local/mrtg-2/bin/mfree.sh ` (刚才编写的脚本)Xsize[Memory]: 300
Ysize[Memory]: 100
Ytics[Memory]: 7
MaxBytes[Memory]: 2048   
Title[Memory]:Memory State of Memory tooth Server
PageTop[Memory]:<H1>;Memory State of tooth Server</H1>; ShortLegend[Memory]: MB
kmg[Memory]: % kilo[Memory]:1024
YLegend[Memory]: Memory Usage
LegendI[Memory]: 可用内存
LegendO[Memory]: 总内存量
Options[Memory]: growright,gauge,nopercent


这样就可以监测服务器的内存情况

论坛徽章:
0
3 [报告]
发表于 2004-10-19 12:03 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

好,但图在哪里:)

论坛徽章:
0
4 [报告]
发表于 2004-10-19 12:04 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

-----------------------------
连接数监测:

编写脚本
[root@tooth bin]# vi person.sh
#!/bin/sh
echo `netstat -a | grep www | awk '{print $5}' | sort | wc -l | awk '{print $1 - 1}'`
echo `netstat –a | grep www | awk '{print $5}' | cut -d ":" -f1 | sort | uniq | wc -l | awk '{print $1 -1}'`
UPtime=`/usr/bin/
uptime | awk '{print $3 " " $4 " " $5}'`
echo $UPtime
echo root@localhost

[root@tooth bin]# chmod 755 person.sh

修改mrtg.cfg文件,添加下面内容:
### On line people
Target[on_line_people]: `/usr/local/mrtg-2/bin/person.sh`
Xsize[on_line_people]: 300
Ysize[on_line_people]: 100
Ytics[on_line_people]: 7
MaxBytes[on_line_people]: 1000
Options[on_line_people]: gauge, nopercent, growright
YLegend[on_line_people]: Online UsersShort
Legend[on_line_people]: man
LegendI[on_line_people]: &amp; connection number
LegendO[on_line_people]: &amp; on line number
Title[on_line_people]: on line people statistical
PageTop[on_line_people]: <H1>; on line number of people</H1>;

论坛徽章:
0
5 [报告]
发表于 2004-10-19 12:07 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

-------------------------------
CPU负载的监测

编写脚本:
[root@tooth bin]# vi cpu.sh
#!/bin/bash #使用 sar 來监测 CPU 的 user 及 System负载
cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo $cpuusr   
echo $cpusys   
echo $UPtime   
echo root@localhost  
[root@tooth bin]# chomd 755 cpu.sh

修改mrtg.cfg文件,添加下面内容:
### CPU load
Target[localhost]: `/usr/local/mrtg-2/bin/cpu.sh`
MaxBytes[localhost]: 100
Options[localhost]: gauge, nopercent, growright
YLegend[localhost]: CPU loading (%)
ShortLegend[localhost]: %
LegendO[localhost]: & CPU 使用者负载;
LegendI[localhost]: & CPU 纯系统负载;
Title[localhost]: CPU ?t???v
PageTop[localhost]: <H1>;CPU 负载</H1>;




注意事项:person.sh 和 mfree.sh  两个脚本的权限;脚本和mrtg.cfg文档中mrtg.cfg 的路径,以及Options[_]: growright,bits,gauge,nopercent 的设置

论坛徽章:
0
6 [报告]
发表于 2004-10-19 12:24 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

发不了图片哦

论坛徽章:
0
7 [报告]
发表于 2004-10-19 12:43 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

牙齿兄,好强喔!!!

论坛徽章:
26
CU十二周年纪念徽章
日期:2013-10-24 15:41:34技术图书徽章
日期:2014-07-11 16:27:52辰龙
日期:2014-09-04 13:40:43白羊座
日期:2014-09-09 12:51:55双子座
日期:2014-09-26 11:00:042014年中国系统架构师大会
日期:2014-10-14 15:59:00子鼠
日期:2014-10-23 16:48:23巨蟹座
日期:2014-10-27 08:21:10申猴
日期:2014-12-08 10:16:282015年辞旧岁徽章
日期:2015-03-03 16:54:15NBA常规赛纪念章
日期:2015-05-04 22:32:03IT运维版块每日发帖之星
日期:2016-01-29 06:20:00
8 [报告]
发表于 2004-10-19 12:59 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

收起來,備用!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2004-10-19 13:45 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

牙齿兄~不錯哦,很大的進步
相信這個過程中有許多甘苦~冷暖自知,
但自己學習,實作,碰到問題並努力克服,久了,你碰到任何問題大概都知道應
如何去思考,我並沒有給您什麼幫忙,只是告知您學習上的盲點而以

----------------------
以下,對本文的一些建議:
1.Options 的項目可以再弄清楚些,這個很重要.
  若可以加看 mrtg.cfg 中的 LogFormat: rrd 用法,再加看
  http://my14all.sourceforge.net/
2. snmpd.conf 的項目可以再加強,不然您可密切注意 DNS 版,近期我會發一篇介紹

對於您之前的問題, Web 及 Oracle , 我相信怎麼做您應該有頭緒了,
只要您真的了解 SNMP, Oracle 的運行狀況從 Oracle 的 MIBs 中
都可以得到,這並沒有任何困難.
至於 Web 就看您要測的是什麼項目,例如您提到的 Connection 計算
或是 Web In/Out 流量 or 每個 virtualhost 流量等, httpd 程式運行狀
況等....,這些都可以畫出來.

论坛徽章:
0
10 [报告]
发表于 2004-10-19 13:57 |只看该作者

Linux AS3下通过MRTG,SNMP,APACHE进行监测流量,内存,CPU

好样的!
能看看效果吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP