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时才需要。
http://support.huawei.com/onlinetoolweb/infoM/index.do?lang=zh&domain=1
#这是华为官方文档查询OID和键值的地方
先看看我出口是哪个接口
我这边准备监控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端建立监控项
建立图形
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。