监控,利用snmp来获取交换机的状态,监控流程:
- 交换机配置snmp,指定community
- 配置监控模板
- 添加交换机,链接模板
主要监控指标:
- CPU
- MEM
- FAN,风扇
- 温度
- 电源状态
- 端口状态
- 端口流量
我们环境中使用了华为交换机,CE58及68.以下主要介绍58交换机的模板设置。
模板包括
- 监控项
- 触发器
- 自动发现规则
- 图形
在我们的监控指标中:
- CPU/MEM/FAN/TEMP/POWER,利用从华为官网获取oid设置监控项
- 端口监控,由于端口较多,采用自动发现及注册的方式
部分监控项配置如下:
触发器的配置如下:
设置宏:
端口自动发现的规则配置:
自动发现原理说明,客户端类型选择为SNMPv2类型;
SNMP OID:
ifAlias: 键值,自定义
discovery[{#IFALIAS},IF-MIB::ifAlias]:获取网络设备所有接口名称。获取到名称后,自动发现规则就能够产生两个JSON格式的数据,一个是{#IFALIAS}:对应的里面的数据是接口名称;还有一个是{#SNMPINDEX}:对应的里面的数据是接口的id。
{$SNMP_COMMUNITY}:SNMP的community的名称,需要在网络设备端配置snmp,并设置此community至少具有读权限
数据更新间隔:实施自动发现的频率
示例如下:
discovery[{#IFALIAS},IF-MIB::ifAlias]
IF-MIB::ifAlias.12 = STRING: Test01
IF-MIB::ifAlias.13 = STRING: Test02
针对以上的数据解析如下:
SNMPVALUE: Test01
SNMPINDEX: 12
多pairs数据发现:
discovery[]:可以设置多个pairs of macro and oid;
如下:
discovery[{#IFALIAS},IF-MIB::ifAlias, {#IFPHYSADDRESS}, ifPhysAddress]
//利用snmpwalk检索数据如下
snmpwalk -v 2c -c **** {ip} IF-MIB::ifDescr
IF-MIB::ifAlias.12 = STRING: Test01
IF-MIB::ifAlias.13 = STRING: Test02
snmpwalk -v 2c -c **** {ip} IF-MIB::ifPhysAddress
IF-MIB::ifPhysAddress.12 = STRING: 2c:97:b1:e7:be:11
IF-MIB::ifPhysAddress.13 = STRING: 2c:97:b1:e7:be:11
自动发现策略返回的json格式的数据如下:
{
"data": [
{
"{#SNMPINDEX}": "12",
"{#IFALIAS}": "Test01",
"{#IFPHYSADDRESS}": "2c:97:b1:e7:be:11"
},
{
"{#SNMPINDEX}": "13",
"{#IFALIAS}": "Test01",
"{#IFPHYSADDRESS}": "2c:97:b1:e7:be:11"
}
]
}
以上内容设置了自动发现的基础信息,设置过滤规则:
设置自动发现中的监控项:
其中注意:单位bps,所以需要乘以8;更新间隔为30s,{$SNMP_COMMUNITY}是宏。
添加触发器及图形,可以手动按步骤添加。
最后添加交换机,如下图:
链接模板: