当前位置: 首页 > 工具软件 > MRTG > 使用案例 >

html网络流量监控,Mrtg 网络流量监控

刘博文
2023-12-01

#Cdp run 启用CDP

#snmp-server community cisco ro(只读) ;配置只读通信字符串为cisco

#snmp-server community secret rw(读写) ;配置读写通信字符串为secret

#snmp-server enable traps 允许路由器将所有类型SNMP Trap发送出去(网关SNMP TRAP)

#snmp-server host 192.168.0.254 rw ;配置网关工作站地址(可以接受snmp的Ip)

snmp-server trap-source fa0/1 将fa0/1接口的IP地址作为SNMP Trap的发送源地址

设置IP地址

int vlan1  配置ip

ip addr 192.168.0.253 255.255.255.0 添加一个IP地址

no shu    将接口打开

保存配置

copy run start 或者wr

配置交换机的目的是,将服务器端口的压力转接到交换机上.(不再实验步骤内)

3.安装SNMP

如果是监控某台服务器的网卡流量需要在其上安装SNMP

什么是SNMP?

SNMP(Simple Network Management Protocol,)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

rpm -ivh net-snmp-5.3.2.2-5.el5.i386.rpm

生成配置文件:

由于生成mrtg配置文件默认带有网卡流量监控,需要snmp,所以首先需要修改下snmp的配置文件

vi /etc/snmp/snmpd.conf

将62行左右

access notConfigGroup "" any noauth exact systemview none none

修改为:

access notConfigGroup "" any noauth exact mib2 none none

将89行左右

view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc

注释打开

保存,重起snmpd

service snmpd restart

4.安装mrtg

什么是mrtg

rpm -ivh mrtg-*.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.cfg public@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地址。更详细的说明可以参考man cfgmaker文档。

制作首页

/usr/bin/indexmaker --output=/var/www/html/mrtg/index.html /etc/mrtg/mrtg.cfg

/usr/bin/mrtg /etc/mrtg/mrtg.cfg 运行这条命令会出现报错,提示你运行如下命令

env LANG=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下的

User apache

Group apache

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|grep 192.168.0.x:80|wc -l`;

$apache_conn=`netstat -an|grep 192.168.0.x:80|grep ESTABLISHED|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

 类似资料: