#Cdprun启用CDP
#snmp-servercommunityciscoro(只读);配置只读通信字符串为cisco
#snmp-servercommunitysecretrw(读写);配置读写通信字符串为secret
#snmp-serverenabletraps允许路由器将所有类型SNMPTrap发送出去(网关SNMPTRAP)
#snmp-serverhost192.168.0.254rw;配置网关工作站地址(可以接受snmp的Ip)
snmp-servertrap-sourcefa0/1将fa0/1接口的IP地址作为SNMPTrap的发送源地址
设置IP地址
intvlan1配置ip
ipaddr192.168.0.253255.255.255.0添加一个IP地址
noshu将接口打开
保存配置
copyrunstart或者wr
配置交换机的目的是,将服务器端口的压力转接到交换机上.(不再实验步骤内)
3.安装SNMP
如果是监控某台服务器的网卡流量需要在其上安装SNMP
什么是SNMP?
SNMP(SimpleNetworkManagementProtocol,)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。
rpm-ivhnet-snmp-5.3.2.2-5.el5.i386.rpm
生成配置文件:
由于生成mrtg配置文件默认带有网卡流量监控,需要snmp,所以首先需要修改下snmp的配置文件
vi/etc/snmp/snmpd.conf
将62行左右
accessnotConfigGroup""anynoauthexactsystemviewnonenone
修改为:
accessnotConfigGroup""anynoauthexactmib2nonenone
将89行左右
.dod.internet.mgmt.mib-2fc
注释打开
保存,重起snmpd
servicesnmpdrestart
4.安装mrtg
什么是mrtg
rpm-ivhmrtg-*.rpm
mkdir/var/www/html/mrtg
生成配置文件
/usr/bin/cfgmaker--global"WorkDir:/var/www/html/mrtg"--global"language:chinese"--global"Options[_]:growright,bits"--show-op-down--ifref=nr--ifdesc=descr--output=/etc/mrtg/mrtg.cfgpublic@192.168.0.253
说明:--global参数表示后面的选项对后面指定的设备都是有效的(如果希望对多个设备进行监控时,该参数就会发生作用)。WorkDir用来指示mrtg的工作目录;icondir用来指定图标的目录;language表示指定生成HTML页面的语言;Options用来指定一些特定的选项。在Options设置中,growright表示时间增长的箭头方向向右;bits表示接口的带宽。对于常见的应用来说,默认Options配置就可以满足需求(如果想了解有那些选项,可以参看/usr/lib/mrtg2/MRTG_lib.pm文件)。此外,--show-op-down表示显示down的接口;--ifref表示设备接口的标示;--ifdesc用于选择参数来描述接口。其中,ifref可以指定的参数为nr、ip、eth、descr和name;ifdesc可以指定的参数为nr、ip、eth、descr、name、type和alias。后面的--output的参数表示输出文件(缺省输出到屏幕);public@192.168.1.6中public表示Community串,一般交换机出厂设置为public;192.168.0.253表示监控网络交换机设备的IP地址。更详细的说明可以参考mancfgmaker文档。
制作首页
/usr/bin/indexmaker--output=/var/www/html/mrtg/index.html/etc/mrtg/mrtg.cfg
/usr/bin/mrtg/etc/mrtg/mrtg.cfg运行这条命令会出现报错,提示你运行如下命令
envLANG=C/usr/bin/mrtg/etc/mrtg/mrtg.cfg
运行三次,前两次执行会出Warning.不用理会.
设置/etc/crontab文件
先检查/etc/cron.d目录下mrtg文件是否存在以下代码:
*/5****root/usr/bin/mrtg/etc/mrtg/mrtg.cfg--lock-file/var/lock/mrtg/mrtg_l--confcache-file/var/lib/mrtg/mrtg.ok
其中5是没五分钟刷新一次,可以设置成1
5.查看流量
http://你的地址/mrtg就可看到流量了.
6.常见错误
目录问题,看一下/etc/httpd/conf.d/mrtg.cfg有没有别名设置,转到了其他目录
修改
mv/etc/httpd/conf.d/mrtg.cfg/etc/httpd/conf.d/mrtg.cfg.bak
权限问题,看一下/etc/httpd/conf/httpd.conf下的
Userapache
Groupapache
7.测试
可以看到eth0的流量信息
生成自己的mrtg监控脚本。
以下是一个apache连接的例子,查看apache的连接数.
首先再/etc/mrtg/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]:
apache连接数
Target指的是mrtg从那里取画曲线的值,此处可以从snmp和脚本取值,如从脚本取值需注意,需要前后用`来指定脚本路径而不是'.
[]指这个配置段的名称,这里为apache_conn,届时会在mrtg的workdir里建立同名的目录
Maxbytes指mrtg取值后能表现的最大值
YLegend指再图标中纵向的名称
ShortLegend指在图标中数值后面所跟的单位
LegendI传递过去的第一个值
LegendO传递过去的第二个值
Title网页title
Pagetop网页显示名称
如上上面所写Target[apache_conn]:`/bin/mrtg.apa.pl`
自己在/bin建立mrtg.apa.pl
#!/usr/bin/perl
$hostname=`hostname`;
$hostname=~s/\s+$//;
$apache_all_conn=`netstat-an|grep192.168.0.x:80|wc-l`;
$apache_conn=`netstat-an|grep192.168.0.x:80|grepESTABLISHED|wc-l`;
$apache_all_conn=~s/\n$//;
$apache_conn=~s/\n$//;
$apache_all_conn=~s/^\s+|\s+$//;
$apache_conn=~s/^\s+|\s+$//;
$gettime=`uptime|awk'{print\$1""\$3""\$4}'`;
$gettime=~s/\,|\n$//g;
print("$apache_all_conn\n");
print("$apache_conn\n");
print("$gettime\n");
print("$hostname\n");
不要忘记给mrtf.apa.pl执行权限
chmod+x/bin/mrtf.apa.pl
以上脚本为perl编写,由于apache的连接可以使用netstat查看,所以我用里一个简单的shell命令组合来获取apache的总连接数和当前建立连接的连接数.
需要注意以下几点
1)使用命令传递值给mrtg时,mrtg只能接受4个参数,真正用于画图的只有2个
2)4个参数必须依次为值1,值2,运行时间,主机名
3)4个参数后不得有\n等换行符
4)不要忘记把192.168.0.x改为你本机的ip
由于mrtg.cfg的改变,所以必须依次使用以下命令
/usr/bin/indexmaker--output=/var/www/html/mrtg/index.html/etc/mrtg/mrtg.cfg
使用mrtg的indexmaker重生成index.html文件,否则你无法看到新加入的apache连接的监控.
/usr/bin/mrtg/etc/mrtg/mrtg-apache.cfg
使用mrtg命令传入数值,同样会报3次错,忽略即可
再打开浏览器,输入地址,应该可以看到首页除了网卡的流量外再下方会加入apache连接的图
认为增加一下apache连接数,使效果明显一些
ab-c10-n10000