1.配置华为防火墙snmp
2.安装使用snmpwalk 工具测试下 能不能使用snmp 连通华为防火墙
yum install -y net-snmp net-snmp-utils #安装snmpwalk工具
snmpwalk -v 3 -u yang -a sha -A yang12345@ -x AES -X yang12345@@ -l authPriv 192.168.0.8 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7
#测试 获取防火墙内存使用率 由于华为的防火墙只能用v3协议,所以这边只能用v3的格式读取
只有67108873 显示了正确的数值,所以我们得出"1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7.67108873" 这个是正确OID
snmpwalk工具使用介绍 snmpwalk的参数比较多,但是我们比较常用的就只有-v和-c参数。如下: –h:显示帮助。 –v:指定snmp的版本, 1或者2c或者3。 –c:指定连接设备SNMP密码。 –V:显示当前snmpwalk命令行版本。 –r:指定重试次数,默认为0次。 –t:指定每次请求的等待超时时间,单为秒,默认为3秒。 –l:指定安全级别:noAuthNoPriv|authNoPriv|authPriv。 –a:验证协议:MD5|SHA。只有-l指定为authNoPriv或authPriv时才需要。 –A:验证字符串。只有-l指定为authNoPriv或authPriv时才需要。 –x:加密协议:DES|AES、。只有-l指定为authPriv时才需要。 –X:加密字符串。只有-l指定为authPriv时才需要。
3.配置zabbix监控项
http://support.huawei.com/onlinetoolweb/infoM/index.do?lang=zh&domain=1 #这是华为官方文档查询OID和键值的地方
4.监控出口 IN和OUT流量
先看看我出口是哪个接口 我这边准备监控GE1/0/0 在用这个命令取得防火墙的所有参数,这个命令不带OID会输出所有参数 snmpwalk -v 3 -u yang -a sha -A yang12345@ -x AES -X yang12345@@ -l authPriv 192.168.0.8 找到 GE1/0/0 对应的是7 这个ID,下面找这个ID号对号入座即可 找到ifInOctets.7这个字段,后面显示的就是流入流量 再用snmpwalk 这个命令测试下 得出OID "IF-MIB::ifInOctets.7" #OID 流入 "IF-MIB::ifOutOctets.7" #OID 流出 配置zabbix监控项 查华为的文档 http://support.huawei.com/onlinetoolweb/infoM/index.do?lang=zh&domain=1 再加一个出口 流出流量 最后效果图 由于我是双出口的所以流量有点奇怪
本次实验用到的OID 内存 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7.67108873 CPU 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5.67108873
端口8的in方向流量 IF-MIB::ifInOctets.8 端口8 out方向流量 IF-MIB::ifOutOctets.8
IPv4 并发连接 1.3.6.1.4.1.2011.6.122.69.1.1.2 需要转换 enterprises.2011.6.122.69.1.1.2.0 有时snmpwalk 能正常获取到值,但是zabbix获取不到,可复制snmpwalk工具最后输出的OID
注意,snmp协议只需要OID连接,键值自定义随意
扩展
由于我是两个出口所以总流量不好计算,我这边准备用脚本自定义key来监控总流量
脚本内容
if [ $1 == 'in' ];then
in50=`snmpwalk -v 3 -u yang -a sha -A yang12345@ -x AES -X yang12345@@ -l authPriv 192.168.0.8 IF-MIB::ifInOctets.8|awk -F " " '{print $4}'`
in200=`snmpwalk -v 3 -u yang -a sha -A yang12345@ -x AES -X yang12345@@ -l authPriv 192.168.0.8 IF-MIB::ifInOctets.7|awk -F " " '{print $4}'`
inz=$[$in50+$in200]
inz=$[inz/1024]
echo "$inz"
elif [ $1 == "out" ];then
out50=`snmpwalk -v 3 -u yang -a sha -A yang12345@ -x AES -X yang12345@@ -l authPriv 192.168.0.8 IF-MIB::ifOutOctets.8|awk -F " " '{print $4}'`
out200=`snmpwalk -v 3 -u yang -a sha -A yang12345@ -x AES -X yang12345@@ -l authPriv 192.168.0.8 IF-MIB::ifOutOctets.7|awk -F " " '{print $4}'`
outz=$[$out50+$out200]
outz=$[outz/1024]
echo "$outz"
else
echo "输入错误"
fi
vim /etc/zabbix/zabbix_agentd.d/hw.conf #到这个目录新建一个.conf的配置文件。
UserParameter=echo[*],echo "$1"
UserParameter=hw[*],bash /etc/zabbix/zabbix_agentd.d/hw.sh "$1"
重启agent端测试 测试成功得出,hw[in] hw[out] 这两个就是我们需要的键值
注意脚本是在 zabbix server端运行的所以我们在server端建立监控项
建立图形