利用Mrtg监控服务器CPU、硬盘、内存及流量(定稿)_用mrtg监控网络流量
利用Mrtg监控服务器CPU、硬盘、内存及流量(定稿)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“用mrtg监控网络流量”。
借鉴了网上一些大牛的资料,自己做了一下测试,现在把操作步骤留存如下:(当前系统CentOS5.5 mrtg ver.2.17.0)
一些依赖的软件包检查:
[root@LinuxTest ~]# rpm-qa|grep gd gd-2.0.33-9.4.el5_4.2 gd-devel-2.0.33-9.4.el5_4.2 [root@LinuxTest ~]# rpm-qa|grep perl perl-5.8.8-18.el5 mod_perl-2.0.4-6.el5 [root@LinuxTest ~]# rpm-qa|grep libp libpng-1.2.10-7.1.el5_5.3 libpng-devel-1.2.10-7.1.el5_5.3 [root@LinuxTest ~]# rpm-qa|grep zlib zlib-1.2.3-3 zlib-devel-1.2.3-3 [root@LinuxTest ~]# rpm-qa|grep gcc libgcc-4.1.2-48.el5 libgcc-4.1.2-48.el5 gcc-4.1.2-48.el5
最近到官方网站http://o.oetiker.ch/mrtg,有个最新的版本mrtg-2.16.7,随即Down下并安装,步骤如下:
[root@LinuxTest test]#wget http://o.oetiker.ch/mrtg/pub/mrtg-2.17.0.zip [root@LinuxTest test]# unzip mrtg-2.17.0.zip [root@LinuxTest test]# cd mrtg-2.17.0 [root@LinuxTest mrtg-2.17.0]#./configure--prefix=/usr/local/mrtg-2 [root@LinuxTest mrtg-2.17.0]# make
[root@LinuxTest mrtg-2.17.0]# make install
注意:sar命令不可识别的系统,请安装sytat工具包 到现在我们就已经正确地安装了MRTG系统。配置SNMP服务
对于不同的设备,配置SNMP支持的方法是不一致的,具体请参考设备的随机文档,一般里 面都有详细的介绍。这里我们讨论在Linux环境下配置SNMP服务器,以实现对本机流出流
入数据的分析和报表(我的应用环境是使用Linux带动一个小型局域网上网,监控本机进出 流量)。
在linux环境下安装snmp软件包是很容易的,只需要安装相应的软件包即可: [root@LinuxTest ~]# rpm-qa|grep snmp net-snmp-libs-5.3.2.2-9.el5_5.1 net-snmp-5.3.2.2-9.el5_5.1 net-snmp-utils-5.3.2.2-9.el5_5.1(snmpwalk等大部分snmp的部分都在这个包内)[root@LinuxTest ~]# /etc/rc.d/init.d/snmpd start Starting snmpd: [ OK ] 如果命令输出如上所示,就表示snmp服务器启动正常。为了配合mrtg使用,还要修改snmpd的配置,以使其允许mrtg读取其interface(网络接口)流量数据。
vi /etc/snmp/snmpd.conf 将下面这个的#注给去掉
#view mib2 included.iso.org.dod.internet.mgmt.mib-2 fc
然后将:acce notConfigGroup “” any noauth exact systemview none none 修改为:acce notConfigGroup “” any noauth exact mib2 none none 在55行左右加入:
view
systemview
included.1.3.6.1.2.1.2 然后再重新启动snmpd: /etc/rc.d/init.d/snmpd restart 注意:尽量更改掉snmp的团体字符串,以防止别人通过默认字符串探测,导致信息泄漏。将下面这段中的community字段,即public改成较复杂的字符串就可以了,不要太复杂,不然导致snmp信息读取失败的:),要小心Linux下符号解释成命令哦 com2sec notConfigUser default
Youkipublic
生成MRTG配置文件
# mkdir /usr/local/mrtg-2/cfg 配置文件:/usr/local/mrtg-2/cfg/mrtg.cfg # cd /usr/local/mrtg-2/bin #mkdir /var/www.daodoc.command # output(df-kl)looks like this:
#文件系统
1K-块
已用
可用 已用% 挂载点 #/dev/sda3
139206768 55292128 76729168 42% / #/dev/sda1
2030736
42164
1883752
3% /boot #tmpfs
1025084
531940
493144 52% /dev/shm #
# In which case, this script returns : # #142262589 #55866236 # when run.foreach $filesystem(`df-kl | grep-v “Filesystem”`){
@df = split(/s+/,$filesystem);$total += $df[1];$usage += $df[2];}
print “$totaln”;print “$usagen”;system(“uptime”);system(“uname-n”);
内存使用状态的mem.pl文件内容为: #vi /usr/local/mrtg-2/bin/mem.pl #!/usr/bin/perl
system(“/usr/bin/free-m | grep Mem >mem_info_file”);open(MEMINFO,“mem_info_file”);@meminfo=;close(MEMINFO);foreach $line(@meminfo){ @memstatus=split(/ +/,$line);}
$memused=$memstatus[2];$memtotal=$memstatus[1];print “$memusedn”;print “$memtotaln”;system(“uptime”);system(“uname-n”);
### By Vitter vitter@safechina.net
####
建立好以上三个pl文件后,要给文件加上可执行属性: #chmod +x /usr/local/mrtg-2/bin/cpu.pl /usr/local/mrtg-2/bin/mem.pl
打开mrtg.cfg文件,将CPU、硬盘、内存的配置加进去: # Created by test
/usr/local/mrtg-2/cfg/mrtg.cfg Youkipuplic@192.168.1.210
/usr/local/mrtg-2/bin/df.pl # /usr/local/mrtg-2/bin/cfgmaker--global “WorkDir: /var/www.daodoc.commented out because: ### * it is a Software Loopback interface #
# Target[192.168.1.210_1]: 1:Youkipuplic@192.168.1.210:
# SetEnv[192.168.1.210_1]: MRTG_INT_IP=”127.0.0.1“ MRTG_INT_DESCR=”lo“ # MaxBytes[192.168.1.210_1]: 1250000
# Title[192.168.1.210_1]: Traffic Analysis for 1--OAtest
# PageTop[192.168.1.210_1]: Traffic Analysis for 1--OAtest #
#
#
#
System:
#
OAtest in Unknown(edit /etc/snmp/snmpd.conf)#
#
#
Maintainer:
#
Root(configure /etc/snmp/snmp.local.conf)#
#
#
Description: #
lo #
#
#
ifType:
#
softwareLoopback(24)#
#
#
ifName: #
lo #
#
#
Max Speed: #
10.0 Mbits/s #
#
#
Ip:
#
127.0.0.1(192.168.1.210.localdomain)#
#
#