在Zabbix监控实际应用中,有一种自动发现(LLD)函数中使用的宏,其类型为:
{#MACRO}
它是一个在LLD规则中使用的宏,并返回文件系统名称、网络接口和 SNMP OIDs。
这些宏可以用于创建监控项、触发器和图形原型。然后,当发现真实的文件系统、网络接口等,这些宏将被替换为真实的值,并且以这些值来创建真实的监控项、触发器和图形。
实际在zabbix中已经内置了很多“宏”,我们可以拿来直接引用,其中例如 {#FSNAME}、 {#FSTYPE}、{#IFNAME}、 {#SNMPINDEX}、 {#SNMPVALUE}。
在zabbix的监控模板上就可以找到这些宏的应用
在SNMP OID配置应用了几种宏
discovery[{#SNMPVALUE},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]
image
举例-针对无线网络控制器AC的监控
1.具体监控实现自动发现AC上注册了哪些AP
2.自动为这些AP添加每个AP上终端数的监控项
3.为每个AP上终端数量的画趋势图
监控的设备为锐捷无线控制器WS6008,无线AP为AP 730
系统版本为RGOS 11.9(0)B7, Release(05203023)
1.自定义一个监控模板
image2.配置自动发现规则(监控项、触发器、图形略过)
image自动发现规则
image名称定义为AP Discovery,类型选择SNMPv2,键值配置为ApName
#SNMP OID如下配置,代表实际无线AC上AP的名称,之后的OID值代表的是无线AC上AP名称列表
discovery[{#APNAME},1.3.6.1.4.1.4881.1.1.10.2.56.2.1.1.1.2]
如上,此规则创建了一个宏“#APNAME”,这个宏对应的oid是1.3.6.1.4.1.4881.1.1.10.2.56.2.1.1.1.2
这个自动发现规则的意思是通过oid 1.3.6.1.4.1.4881.1.1.10.2.56.2.1.1.1.2,自动发现所有AP的名称
这个列表内容需要可通过SNMPWALK命令得到的,且这个OID值最好从厂商提供的OID文件获取,这样才会准确。
#代表的是SNMP共同体名,这个在zabbix上需提前定义,这里才会生效
{$SNMP_COMMUNITY}
给自动发现规则AP discovery创建监控项原型 ,名称AP $1 每ap关联终端数
监控项原型
名称直接调用前边已经定义的宏,{#APNAME}每ap关联终端数
键值直接调用前边已经定义的宏,ap.client[{#APNAME}]
SNMP OID 设置为 1.3.6.1.4.1.4881.1.1.10.2.81.10.2.1.1.1.{#SNMPINDEX}
image
图形原型
名称直接调用前边已经定义的宏,ap.client[{#APNAME}]每ap关联终端数
监控项关联前边已经配置的
image
3.实际效果
将定制好的监控模板与无线AC关联上,通过SNMP就会自动抓取了网络设备上关于无线AP的列表了
image在zabbix上已自动发现了所有AP,并自动添加了针对每个AP终端数量的监控项
image image在zabbix上已自动绘制了ap关联终端数量的图形
网友评论