zabbix自动发现交换机接口信息监控网络设备流量模板配置

1、思科交换机snmp配置

1
2
3
4
5
6
7
8
9
10
建立snmp团体,名称为public,权限为只读
(config)#snmp-server community public ro
允许路由器将所有类型SNMP Trap发送出去
(config)#snmp-server enable traps
设置主机172.16.0.21接受交换机所发送过来的SNMP Trap 信息
(config)#snmp-server host 172.16.0.21 version 2c public
使用loopback0接口的IP地址作为SNMP Traps发送源地址,这个随便可以不用。
(config)#snmp-server trap-source loopback0
zabbix执行测试
snmpwalk -v 2c -c public 172.16.0.1

配置发现规则 这里使用深信服设备

配置 → 模板→点击适当模板行中的发现
zabbix
点击屏幕右上角的创建发现规则
填写发现规则表单,具体细节如下面的屏幕截图所示
zabbix

1
2
3
4
5
6
名称 Network interfaces
类型 SNMPv2 agent
键值 ifDescr
SNMP OID discovery[{#SNMPVALUE},IF-MIB::ifDescr]
SNMP community {$SNMP_COMMUNITY}
端口 161

1
2
要发现的OIDSNMP OID字段中按以下格式定义: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]
其中{#MACRO1},{#MACRO2} ...是有效的宏名称,oid1oid2 ...是能够为这些宏生成有意义的值的OID。包含已发现OID索引的内置宏{#SNMPINDEX}将应用于发现的实体。发现的实体按{#SNMPINDEX}宏值分组。

为了理解我们的意思,让我们在我们的交换机上执行几个步骤:
snmpwalk获取接口描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[root@localhost~]# snmpwalk -v 2c -c public  172.16.0.1  IF-MIB:ifDescr
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: blackhole
IF-MIB::ifDescr.3 = STRING: eth0
IF-MIB::ifDescr.4 = STRING: eth1
IF-MIB::ifDescr.5 = STRING: eth2
IF-MIB::ifDescr.6 = STRING: eth3
IF-MIB::ifDescr.7 = STRING: eth4
IF-MIB::ifDescr.8 = STRING: eth5
IF-MIB::ifDescr.9 = STRING: bond0
IF-MIB::ifDescr.10 = STRING: bond1
IF-MIB::ifDescr.11 = STRING: bond2
IF-MIB::ifDescr.12 = STRING: bond3
IF-MIB::ifDescr.13 = STRING: bond4
IF-MIB::ifDescr.14 = STRING: gre0
IF-MIB::ifDescr.15 = STRING: vlan0
IF-MIB::ifDescr.16 = STRING: vpntun
IF-MIB::ifDescr.17 = STRING: Tun0
IF-MIB::ifDescr.18 = STRING: Tun
[root@localhost~]# snmpwalk -v 2c -c public 172.16.0.1 IF-MIB::ifPhysAddress
IF-MIB::ifPhysAddress.1 = STRING:
IF-MIB::ifPhysAddress.2 = STRING:
IF-MIB::ifPhysAddress.3 = STRING: 68:ed:a4:a:5f:d1
IF-MIB::ifPhysAddress.4 = STRING: 68:ed:a4:a:5f:d4
IF-MIB::ifPhysAddress.5 = STRING: 68:ed:a4:a:5f:d3
IF-MIB::ifPhysAddress.6 = STRING: 68:ed:a4:a:5f:d2
IF-MIB::ifPhysAddress.7 = STRING: 68:ed:a4:b:d8:71
IF-MIB::ifPhysAddress.8 = STRING: 68:ed:a4:b:d8:72
IF-MIB::ifPhysAddress.9 = STRING:
IF-MIB::ifPhysAddress.10 = STRING:
IF-MIB::ifPhysAddress.11 = STRING:
IF-MIB::ifPhysAddress.12 = STRING:
IF-MIB::ifPhysAddress.13 = STRIN
IF-MIB::ifPhysAddress.14 = STRING:
IF-MIB::ifPhysAddress.15 = STRING: 2:0:4c:69:36:49
IF-MIB::ifPhysAddress.16 = STRING:
IF-MIB::ifPhysAddress.17 = STRING:
IF-MIB::ifPhysAddress.18 = STRING:

1
并将SNMP OID设置为: discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]

监控项原型

获取接口出流量信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost~]# snmpwalk -v 2c -c public  172.16.0.1 ifoutOctets
IF-MIB::ifOutOctets.1 = Counter32: 2312213349
IF-MIB::ifOutOctets.2 = Counter32: 0
IF-MIB::ifOutOctets.3 = Counter32: 1302935657
IF-MIB::ifOutOctets.4 = Counter32: 2736366927
IF-MIB::ifOutOctets.5 = Counter32: 16974643
IF-MIB::ifOutOctets.6 = Counter32: 242096597
IF-MIB::ifOutOctets.7 = Counter32: 0
IF-MIB::ifOutOctets.8 = Counter32: 0
IF-MIB::ifOutOctets.9 = Counter32: 0
IF-MIB::ifOutOctets.10 = Counter32: 0
IF-MIB::ifOutOctets.11 = Counter32: 0
IF-MIB::ifOutOctets.12 = Counter32: 0
IF-MIB::ifOutOctets.13 = Counter32: 0
IF-MIB::ifOutOctets.14 = Counter32: 0
IF-MIB::ifOutOctets.15 = Counter32: 0
IF-MIB::ifOutOctets.16 = Counter32: 2958989090
IF-MIB::ifOutOctets.17 = Counter32: 1787720
IF-MIB::ifOutOctets.18 = Counter32: 0

添加item

zabbix

1
2
3
4
5
6
名称 Outbound traffic on interface $1
类型 SNMPv2 agent
键值 ifOutOctets[{#SNMPVALUE}]
SNMP OID IF-MIB::ifOutOctets.{#SNMPINDEX}
SNMPcommunity {$SNMP_COMMUNITY}
端口 161

1
2
3
4
进流量只需要改
名称 Incoming traffic on interface $1
键值 ifInOctets[{#SNMPVALUE}]
SNMP OID IF-MIB::ifInOctets.{#SNMPINDEX}

根据需要创建尽可能多的项目原型
zabbix

Graph prototypes 创建图形

1
名称: {#SNMPVALUE}接口流量信息

zabbix
zabbix
主机添加模板省略(博客不方便放图片)

配置新加网络设备Macros参数

1
设置 Host macros :  MACRO : {$SNMP_COMMUNITY}  ; VALUE : public (VALUE 值是配置网络设备SNMP的团体字符串)

zabbix

查看监控

zabbix

官网资料https://www.zabbix.com/documentation/3.4/manual/discovery/low_level_discovery/snmp_oidsG: