4 自动发现SNMP OIDs
概述
在本章节中,我们将在交换机上执行一个SNMP 发现 。
从Zabbix server/proxy 6.4开始,支持 SNMP OIDs 这种发现方法。
监控项键值
创建一个SNMP监控项并在监控项键值字段使用以下 SNMP OID :
walk[1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3]
此监控项将对参数中指定的 OID (1.3.6.1.2.1.2.2.1.2, 1.3.6.1.2.1.2.2.1.3)执行 snmpwalk,然后返回一个与值拼接的列表, 例如:
.1.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
.1.3.6.1.2.1.2.2.1.2.2 = STRING: "ens33"
.1.3.6.1.2.1.2.2.1.2.3 = STRING: "ens37"
.1.3.6.1.2.1.2.2.1.3.1 = INTEGER: 24
.1.3.6.1.2.1.2.2.1.3.2 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.3 = INTEGER: 6
依赖发现规则
进到模板/主机上的自动发现规则。单击页面右上角的 创建发现规则 。
在 自动发现规则 选项中填写所需的详细信息:
- 监控项类型选择 相关项目
- 选择之前创建的 SNMP walk 监控项作为主监控项
- 用有意义的值配置监控项名称和键值
在 预处理 选项中, 选择 SNMP walk to JSON 预处理步骤.
在字段名称中指定有效的 LLD 宏名称。选择相应的 OID 路径以从发现值。
该规则将发现实体并设置如下:
- {#IFDESCR} 宏设置为
lo
,ens33
, 和ens37
; - {#IFTYPE} 宏设置为
24
,6
, 和6
.
内置宏 {#SNMPINDEX} 表示已发现实体的索引。所发现的实体按 {#SNMPINDEX} 宏的值分组: 1, 2 和 3:
[
{
"{#SNMPINDEX}": "1",
"{#IFDESCR}": "lo",
"{#IFTYPE}": "24"
},
{
"{#SNMPINDEX}": "2",
"{#IFDESCR}": "ens33",
"{#IFTYPE}": "6"
},
{
"{#SNMPINDEX}": "3",
"{#IFDESCR}": "ens37",
"{#IFTYPE}": "6"
}
]
如果一个实体没有指定的 OID,那么该实体的相应宏将被省略。.
监控项,触发器,图形原型
必须使用自动发现规则中的宏来创建 相关项目 类型监控项原型。
相关项目监控项从 walk[]
主监控项中获取值。因此,不需要让每个自动发现监控项单独再去轮询 SNMP 设备。
触发器和图形原型也可以通过使用自动发现规则中的宏来创建。.
被发现的实体
当服务器运行时,它将根据 SNMP 发现规则返回的值创建真实的依赖项、触发器和图表。