一、SNMP解释简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。该协议是互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

二、SNMP配置登录神行者路由管理后台,选择 “功能中心”–“SNMP”
控制开关: 是否开启SNMP功能
基础设置:更改SNMP监听端口
高级设置:神行者路由支持两种协议的SNMP(V2C、V3)

SNMP v3版本配置

如果检测到未安装,会有提示,下载更新包上传后,即可启用SNMP了

三、使用说明SNMP需要一个客户端(MRTG/PRTG)做支持
在客户端上可以实现与神行者路由的SNMP的基础对接,就是我们现在看到的页面设置参数,互相填写相对应的协议版本和加密方式即可

如果请求时有提示

由于神行者路由直接接管了网卡,所以需要下载MIBS库才能获取真实的网卡流量情况
神行者路由SNMP-MIBS库文件 下载
解压出来的文件放到/usr/share/snmp/mibs目录下

OID描述说明1.3.6.1.4.1.16533.1.1.0 Flow-MIB:Msg.0所有网卡接口流量(流量单位Byte)1.3.6.1.4.1.16533.1.2.0Flow-MIB:Msg2.0PPPOES在线用户数1.3.6.1.4.1.16533.1.3.0Flow-MIB:Msg3.0所有PPPOES服务的信息(单位单位Byte)
网卡接口流量

PPPOES服务信息

四、参考脚本1、获取指定网卡设备的流量脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh

if [ -z $1 ];then
echo ".$0 dev"
exit 2
fi

DEV=$1

tmpfile=/dev/shm/snmptmp
snmpwalk -v 2c -c 123456 172.20.1.52:161 Flow-MIB:Msg.0 > $tmpfile

cat $tmpfile |grep $DEV | awk -F ‘Tx:’ ‘{print $2}’ | awk ‘{print $1}’
cat $tmpfile |grep $DEV | awk -F ‘Rx:’ ‘{print $2}’ | awk ‘{print $1}’ |awk -F ‘\’ ‘{print $1}’

运行后的效果

第一行是TX (单位 Byte)
第二行是RX(单位 Byte)

2、获取指定PPPOES服务的流量脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh

if [ -z $1 ];then
echo ".$0 dev"
exit 2
fi

DEV=$1

tmpfile1=/dev/shm/snmptmp
snmpwalk -v 2c -c 123456 172.20.1.52:161 Flow-MIB:Msg3.0 > $tmpfile1

cat $tmpfile1 |grep \\\\\"$DEV\\\\\" |awk -F ‘Txbps:’ ‘{print $2}’ |awk ‘{print $1}’
cat $tmpfile1 |grep \\\\\"$DEV\\\\\" |awk -F ‘Rxbps:’ ‘{print $2}’ |awk ‘{print $1}’

运行后的效果

第一行是TX (单位 Byte)
第二行是RX(单位 Byte)

3、获取指定PPPOES服务的在线人数脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh

if [ -z $1 ];then
echo ".$0 dev"
exit 2
fi

DEV=$1

tmpfile2=/dev/shm/snmptmp
snmpwalk -v 2c -c 123456 172.20.1.52:161 Flow-MIB:Msg2.0 > $tmpfile2

cat $tmpfile2 |grep \\\\\"$DEV\\\\\" |awk -F ‘OnlineNum:’ ‘{print $2}’ |awk -F ” ‘{print $1}’

运行后的效果