zabbix

一、自动发现功能
image
1.1、其中接口发现内容
discovery[{#IFOPERSTATUS},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]
这是一个标准的 Zabbix 低层级发现 (LLD, Low-Level Discovery) 规则中的 SNMP OID 配置字符串。
这段代码通常用于 Zabbix 的“自动发现规则”配置中,目的是让 Zabbix 自动扫描网络设备(如交换机、路由器),获取所有接口的详细信息,并基于这些信息自动创建监控项(如流量监控)、触发器和图形。
以下是这段代码的详细拆解和功能说明:

  1. 代码结构解析
    Zabbix 的 SNMP 发现语法格式为:discovery[{#宏变量1}, OID1, {#宏变量2}, OID2, ...]。
    你提供的这段代码定义了 6 个宏变量,分别对应交换机的不同接口属性:
    | 宏变量 (Macro) | 对应 OID (标准 MIB-II) | 含义与用途 |
    | :--- | :--- | :--- |
    | {#IFOPERSTATUS} | 1.3.6.1.2.1.2.2.1.8 | 接口运行状态
    用于判断接口当前是 Up (1)、Down (2) 还是 Testing (3)。常用于过滤器,只监控状态为 Up 的接口。 |
    | {#IFADMINSTATUS} | 1.3.6.1.2.1.2.2.1.7 | 接口管理状态
    表示接口是否被管理员手动开启 (Up) 或关闭 (Down)。 |
    | {#IFALIAS} | 1.3.6.1.2.1.31.1.1.1.18 | 接口别名/描述
    即我们在交换机配置中写的 description 字段,用于在 Zabbix 图表中显示该端口是连接了服务器、摄像头还是上行链路。 |
    | {#IFNAME} | 1.3.6.1.2.1.31.1.1.1.1 | 接口名称
    通常指接口的短名称(如 Gi0/1, Eth1/0/1),常用于图形标题显示。 |
    | {#IFDESCR} | 1.3.6.1.2.1.2.2.1.2 | 接口描述
    接口的完整文本描述,通常比 IFNAME 更长、更详细。 |
    | {#IFTYPE} | 1.3.6.1.2.1.2.2.1.3 | 接口类型
    用于区分接口是以太网、光纤、VLAN 还是 Loopback 接口。常用于过滤器,排除不需要监控的虚拟接口。 |

  2. 这段代码的作用
    当你将这段字符串填入 Zabbix 的 SNMP OID 字段后,Zabbix Server 会执行以下操作:
    扫描:通过 SNMP 协议轮询目标设备。
    收集:获取设备上所有接口的上述 6 种属性。
    返回 JSON:Zabbix 会将收集到的数据整理成 JSON 格式(如下所示),然后根据这个列表为每一个接口自动生成监控项。
    Zabbix 返回的数据示例(JSON):
    {
    "data": [
    {
    "{#IFOPERSTATUS}": "1",
    "{#IFADMINSTATUS}": "1",
    "{#IFALIAS}": "Link to Core Switch",
    "{#IFNAME}": "Gig0/1",
    "{#IFDESCR}": "GigabitEthernet0/1",
    "{#IFTYPE}": "6"
    },
    {
    "{#IFOPERSTATUS}": "2",
    "{#IFADMINSTATUS}": "1",
    "{#IFALIAS}": "",
    "{#IFNAME}": "Gig0/2",
    "{#IFDESCR}": "GigabitEthernet0/2",
    "{#IFTYPE}": "6"
    }
    ]
    }

  3. 如何使用
    在 Zabbix 配置模板时的操作步骤:
    进入 配置 (Configuration) -> 模板 (Templates)。
    选择你的网络设备模板,点击 自动发现规则 (Discovery rules)。
    创建或编辑一条规则(例如 "Network Interface Discovery")。
    在 类型 (Type) 中选择 SNMP agent。
    在 键值 (Key) 中填入自定义名称,例如 net.if.discovery。
    在 SNMP OID 栏中,粘贴你提供的这段代码。
    在 过滤器 (Filters) 选项卡中,你可以利用这些宏进行过滤。例如:
    只监控物理接口:{#IFTYPE} 不等于 6 (或其他非物理类型)。
    只监控 Up 的接口:{#IFOPERSTATUS} 等于 1。

posted @ 2026-04-10 16:14  无所不能的小马  阅读(0)  评论(0)    收藏  举报