zabbix服务器安装snmp(centos8以上版本)
dnf -y install net-snmp net-snmp-utils
命令用法解析
snmpwalk -v 版本 -c 团体 IP MIB
例如我要对获取snmp版本为V2C,团体为test@123,IP地址为192.168.0.1的接口信息
snmpwalk -v 2c -c test@123 192.168.0.1 ifDescr
下面讲一下华为交换机以及华为防火墙开启SNMP的方法
1.华为交换机-web
1.1开启SNMP
1.2配置SNMP团体
2.华为交换机-命令行
snmp-agent
snmp-agent community read cipher test@123
snmp-agent sys-info version v2c
snmp-agent protocol source-status all-interface
3.华为防火墙-web
4.华为防火墙-命令行
snmp-agent
snmp-agent community read cipher test@123
snmp-agent sys-info version all
snmp-agent trap enable
效果实例:
来假设一下我们的业务需求
对于交换机,我需要监控CPU,内存的使用率,以及端口的状态(UP,down)以及端口的协商速率(网线没压好导致百兆)
对于防火墙,我需要监控CPU,内存的使用率,以及wan口以及和分公司GRE vpn的隧道的流量
清晰了需求之后,我们直接根据zabbix自带的华为SNMP监控模板进行克隆,来做成自己想要的模板
模板名称以及可见名称我们可以自定义
因为对于交换机来说我需要的数据是接口数据和系统信息数据,所以多余的自动发现规则可以删除掉,只保留接口自动发现规则和MPU自动发现规则(模板的自动发现规则有5条,其他3条直接删除即可),然后修改一下发现间隔为5s
发现间隔的修改方法为点击Network interfaces discovery,然后修改更新间隔为5s(s是秒,m是分钟,h是小时)
来配置一下接口自动发现规则的监控项,只保留我们所需要的;Speed 接口速率 (10M,100M,1G,10G,20G等等)
Operational status 接口状态(up down),其实的监控项原型可以删除(模板监控项原型有9个,删除了其他7个);然后修改一下监控项更新间隔为5s,保存3天。
点击Interface {#IFNAME}({#IFALIAS}): Speed,修改更新间隔和历史记录(d为天)
也可以为了后期更直观的理解监控项的意义,直接修改名称为中文
例如Interface {#IFNAME}({#IFALIAS}): Speed
修改为 接口 {#IFNAME}({#IFALIAS}): 速率
这些数据我只需要查看,不需要进行告警所以我删除了模板中的触发器类型(MPU Discovery同理)
来配置MPU Discovery自动发现清单来获取我们想要的CPU以及内存状态的数据,做了这些调整:
1.删除其他不需要的监控项原型
2.修改了监控项原型的更新间隔,历史记录,趋势保留时间
3.修改了监控项原型Memory utilization为内存
4.删除了触发器
然后修改模板本身自带的监控项
1.做完自动发现清单的调整,还会剩下的12个监控项,对于我来说其他的没有意义,我只保留了System description(型号版本信息);其他监控项进行了删除
2.修改监控项System description名称为系统信息
3.修改更新间隔为5s,历史记录保留1天,因为此项信息不会变化看到就行
5.效果展示
5.1.cpu和内存使用情况监控
5.2.接口速率和接口状态监控
5.3.系统信息监控
6.防火墙监控
防火墙对比交换机我们还需要查看接口流量,所以我们直接复制交换机模板,然后直接在交换机模板的自动发现规则处添加流量的规则,在此之前我们需要了解到华为USG防火墙上行流量和下行流量的的MIB,这里我直接贴出来方便大家直接使用
类型 |
解释 |
SNMP OID(MIB) |
---|---|---|
进接口 (下行流量) |
该接口入方向通过的总字节数,包括分桢的数据 |
ifInOctets 1.3.6.1.2.1.2.2.1.10 |
出接口 (上行流量) |
该接口出方向通过的总字节数,包括分桢的数据。 |
ifOutOctets 1.3.6.1.2.1.2.2.1.16 |
直接复制接口速率的监控项原型,然后修改
1.名称根据实际情况修改(比如这个监控项原型是上行流量,我就改名称为上行流量),去掉({#IFALIAS})是因为显示内容太多了,不方便查看
2.键值以及SNMP OID均需要进行修改,上行流量监控的键值就为net.if.Octets[ifOutOctets.{#SNMPINDEX}]
;SNMP OID为1.3.6.1.2.1.2.2.1.16.{#SNMPINDEX}
(下行流量监控的键值就为net.if.Octets[ifInOctets.{#SNMPINDEX}]
;SNMP OID为1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}
)
3.因为需要每秒的流量数据所以更新间隔为1s,历史记录可以久一点保留7天。
再修改预处理的内容,1是每秒更改,2是自定义倍数8。
防火墙的CPU和内存监控和交换机不同(MIB不一样),所以不能直接用交换机模板的,需要自己根据MIB创建监控项,以下是查询到的MIB
类型 |
解释 |
SNMP OID(MIB) |
---|---|---|
CPU使用率 |
实体CPU使用率 取值范围:0~100 缺省值:0 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5.67108873 |
内存使用率 |
USG6000:整机内存使用率 取值范围:0~100 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7.67108873 |
根据查询到的MIB配置监控项
1.设置监控项名称
2.键值可以随便填写(为什么这里的键值可以随便填写,因为之前的是自动发现监控项原型,监控项原型会创建出多个监控项的,所以值有对应的格式,但是单个监控项随我们填)
3.填写实际的SNMP OID(MIB)值,这里监控CPU就是1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5.67108873
来看以下华为USG监控的最终效果
接口状态,速率以及流量速率
CPU和内存监控