> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lwops.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 模板制作教程

> 基于乐维运维智能体平台，以华为交换机 S 系列为例，介绍 SNMP 协议监控模板的制作全流程。

<Tip>
  本教程基于乐维 8.0 运维智能体平台编写，以华为交换机 S 系列为例，适用于其他支持 SNMP 协议的网络设备。
</Tip>

## 一、SNMP 协议概述

### 什么是 SNMP

SNMP（Simple Network Management Protocol，简单网络管理协议）是用于管理和监控网络设备的标准协议。通过 SNMP，监控平台可以：

* 获取设备的系统信息（名称、描述、位置等）
* 监控设备性能指标（CPU、内存、温度等）
* 监控网络接口状态（端口流量、错误包等）
* 接收设备主动上报的告警（SNMP Trap）

### SNMP 版本对比

| 版本      | 特点             | 安全性            | 适用场景     |
| ------- | -------------- | -------------- | -------- |
| SNMPv1  | 最基础版本          | Community 明文传输 | 简单网络环境   |
| SNMPv2c | 增加了 GetBulk 操作 | Community 明文传输 | 大多数网络设备  |
| SNMPv3  | 支持认证和加密        | 最高             | 安全要求高的环境 |

<Note>
  本教程以 SNMPv2c 为例。
</Note>

### 核心概念

| 概念        | 说明                                     |
| --------- | -------------------------------------- |
| OID       | 对象标识符，唯一标识一个管理对象，如 `1.3.6.1.2.1.1.1.0` |
| MIB       | 管理信息库，OID 的层次结构描述文件                    |
| Community | 团体名，类似密码，用于访问权限验证                      |
| Trap      | 设备主动向监控端发送的告警消息                        |

## 二、前置条件

### 步骤 1：网络设备配置

在被监控的网络设备上开启 SNMP Agent 功能。以华为交换机为例：

```bash theme={null}
[Huawei] snmp-agent
[Huawei] snmp-agent sys-info version v2c
[Huawei] snmp-agent community read Public@123
[Huawei] snmp-agent target-host trap address udp-domain 192.168.3.91 params securityname Public@123
```

### 步骤 2：确认网络连通性

确保监控平台（192.168.3.91）与被监控设备之间网络互通，可以使用以下工具测试：

```bash theme={null}
# 安装 SNMP 工具
sudo yum install net-snmp-utils

# 测试 SNMP 连通性
snmpwalk -v2c -c Public@123 192.168.3.100 1.3.6.1.2.1.1

# 获取系统描述
snmpget -v2c -c Public@123 192.168.3.100 1.3.6.1.2.1.1.1.0
```

### 步骤 3：准备 MIB 文件

获取设备厂商提供的 MIB 文件，用于解析 OID 含义。华为交换机常用 MIB：

* `HUAWEI-ENTITY-EXTENT-MIB`：实体信息
* `HUAWEI-FAN-MIB`：风扇状态
* `HUAWEI-POWER-MIB`：电源状态

## 三、创建模板

### 步骤 1：进入模板管理

登录乐维运维智能体平台，点击左侧菜单 **Perseus 采集 → 模板管理**。

<Frame>
  <img src="https://mintcdn.com/lerwee/rtfor0AkF_GQ1v-0/images/image-107.png?fit=max&auto=format&n=rtfor0AkF_GQ1v-0&q=85&s=42dda0bb7e701aa1bfb3d85ef35f3985" alt="Image" width="1254" height="705" data-path="images/image-107.png" />
</Frame>

### 步骤 2：新建模板

点击页面右上角「新建」按钮，在弹出的对话框中填写模板基本信息。

<Frame>
  <img src="https://mintcdn.com/lerwee/rtfor0AkF_GQ1v-0/images/image-108.png?fit=max&auto=format&n=rtfor0AkF_GQ1v-0&q=85&s=d9db609df8ca10c901e1e5c6e468de59" alt="Image" width="902" height="614" data-path="images/image-108.png" />
</Frame>

**字段说明：**

| 字段   | 必填 | 说明         | 示例                                         |
| ---- | -- | ---------- | ------------------------------------------ |
| 模板编码 | 是  | 唯一标识符，建议英文 | `LW_Template_SNMP_Huawei_Switch_S_General` |
| 模板名称 | 否  | 中文显示名称     | 华为交换机 S 系列                                 |
| 子模板  | 否  | 继承其他模板的配置  | 网络设备通用信息模板                                 |
| 分组   | 是  | 模板分类，便于管理  | 监控模板 / 网络设备模板                              |
| 描述   | 否  | 模板用途说明     | 华为 S 系列交换机 SNMP 监控模板                       |
| 模板宏  | 否  | 变量定义       | `{$SNMP_COMMUNITY} = Public@123`           |
| 值映射  | 否  | 数值转文字描述    | 华为风扇状态：1=正常，2=异常                           |

### 步骤 3：配置子模板（可选）

子模板可以继承父模板的监控项、触发器等配置。华为交换机 S 系列监控模板继承了以下子模板：

| 子模板            | 用途                |
| -------------- | ----------------- |
| 网络设备通用信息模板     | 系统基础信息（名称、描述、位置等） |
| 网络端口通用模板 64 位  | 端口流量监控（64 位计数器）   |
| 网络下联端口模板\[交换机] | 下联端口状态监控          |

<Frame>
  <img src="https://mintcdn.com/lerwee/rtfor0AkF_GQ1v-0/images/image-110.png?fit=max&auto=format&n=rtfor0AkF_GQ1v-0&q=85&s=3980e74c5ff92b65d4155b6836bc3c1e" alt="Image" width="1142" height="629" data-path="images/image-110.png" />
</Frame>

## 四、配置监控项

### 监控项概述

监控项是模板的核心，定义了要采集的具体指标。

<Frame>
  <img src="https://mintcdn.com/lerwee/rtfor0AkF_GQ1v-0/images/image-111.png?fit=max&auto=format&n=rtfor0AkF_GQ1v-0&q=85&s=d43d88a6800243892beb81f3bc3a717e" alt="Image" width="1226" height="690" data-path="images/image-111.png" />
</Frame>

华为交换机 S 系列监控模板包含以下监控项：

| 监控项名称     | 类型        | 键值                  | SNMP OID            | 说明        |
| --------- | --------- | ------------------- | ------------------- | --------- |
| 系统描述      | SNMP 代理   | `sysDescr`          | `1.3.6.1.2.1.1.1.0` | 设备型号和版本信息 |
| 系统名称      | SNMP 代理   | `sysName`           | `1.3.6.1.2.1.1.5.0` | 设备主机名     |
| 系统联系人     | SNMP 代理   | `sysContact`        | `1.3.6.1.2.1.1.4.0` | 管理员联系方式   |
| 系统位置      | SNMP 代理   | `sysLocation`       | `1.3.6.1.2.1.1.6.0` | 设备物理位置    |
| ICMP Ping | 简单检查      | `icmpping`          | -                   | 网络连通性检测   |
| ICMP 丢包率  | 简单检查      | `icmppingloss`      | -                   | 丢包百分比     |
| SNMP Trap | SNMP trap | `snmptrap.fallback` | -                   | 接收设备告警    |

### 创建 SNMP 监控项

#### 步骤 1：新建监控项

在模板详情页，点击「监控项」标签页，然后点击「新建监控项」按钮。

<Frame>
  <img src="https://mintcdn.com/lerwee/rtfor0AkF_GQ1v-0/images/image-112.png?fit=max&auto=format&n=rtfor0AkF_GQ1v-0&q=85&s=a8f3cff05e0122ab52e0de687214482a" alt="Image" width="1255" height="673" data-path="images/image-112.png" />
</Frame>

#### 步骤 2：填写监控项基本信息

| 字段       | 说明         | 示例                  |
| -------- | ---------- | ------------------- |
| 名称       | 监控项显示名称    | 系统描述                |
| 监控项类型    | 选择 SNMP 代理 | SNMP 代理             |
| 键值       | 唯一标识符      | `sysDescr`          |
| SNMP OID | 对象标识符      | `1.3.6.1.2.1.1.1.0` |

#### 步骤 3：配置采集参数

| 字段     | 说明       | 建议值                   |
| ------ | -------- | --------------------- |
| 采集间隔   | 数据采集频率   | 动态数据：2-5 分钟；静态数据：1 小时 |
| 历史数据保留 | 原始数据保存时间 | 90 天                  |
| 趋势数据存储 | 聚合数据保存时间 | 365 天                 |

#### 步骤 4：配置其他选项

| 字段  | 说明              |
| --- | --------------- |
| 单位  | 使用最小度量值，如 bps、B |
| 值映射 | 将数值转换为可读文字      |
| 预处理 | 数据转换处理          |

<Frame>
  <img src="https://mintcdn.com/lerwee/rtfor0AkF_GQ1v-0/images/image-113.png?fit=max&auto=format&n=rtfor0AkF_GQ1v-0&q=85&s=27ea764a7a34dcf12d3dfb7b05754ce5" alt="Image" width="1260" height="875" data-path="images/image-113.png" />
</Frame>

### 监控项配置规则

| 规则           | 说明                          |
| ------------ | --------------------------- |
| OID 与 MIB 对应 | 监控项的 OID 要和 MIB 工具中的 OID 一致 |
| 团体名用全局变量     | 使用 `{$SNMP_COMMUNITY}` 宏变量  |
| 单位用最小度量值     | 使用 B（字节）、bps（比特每秒）等         |
| 应用集为中文       | 应用集名称使用中文                   |
| 监控频率合理       | 动态数据 2-5 分钟，静态数据 1 小时-1 天   |

## 五、配置触发器

### 触发器概述

触发器用于定义告警条件，当监控项数据满足条件时触发告警。

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-114.png" alt="Image" />
</Frame>

华为交换机 S 系列监控模板包含以下触发器：

| 触发器名称     | 严重级别 | 表达式                                          | 说明              |
| --------- | ---- | -------------------------------------------- | --------------- |
| SNMP 采集中断 | 严重   | `nodata(/模板/sysUpTime,10m)=1`                | 10 分钟内无 SNMP 响应 |
| 设备失联      | 严重   | `nodata(/模板/icmpping,3m)=1`                  | 3 分钟内无 ICMP 响应  |
| 设备刚发生重启   | 严重   | `last(/模板/sysUpTime)<last(/模板/sysUpTime,#2)` | 系统运行时间减少        |
| 设备名称发生改变  | 警告   | `last(/模板/sysName)<>last(/模板/sysName,#2)`    | 设备名称变更          |

### 创建触发器

#### 步骤 1：新建触发器

在模板详情页，点击「触发器」标签页，然后点击「新建触发器」按钮。

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-116.png" alt="Image" />
</Frame>

#### 步骤 2：填写触发器信息

| 字段   | 说明      | 示例                            |
| ---- | ------- | ----------------------------- |
| 名称   | 触发器显示名称 | SNMP 采集中断                     |
| 严重级别 | 告警级别    | 严重 / 警告 / 信息                  |
| 表达式  | 触发条件    | `nodata(/模板/sysUpTime,10m)=1` |
| 描述   | 详细说明    | 设备连续 10 分钟未响应 SNMP 请求         |

### 常用触发器表达式

```text theme={null}
# 无数据检测（设备离线）
nodata(/模板/监控项,Nm)=1

# 值超阈值
last(/模板/监控项)>阈值

# 值变化检测
last(/模板/监控项)<>last(/模板/监控项,#2)

# 值减少（重启检测）
last(/模板/监控项)<last(/模板/监控项,#2)
```

## 六、配置自动发现

### 自动发现概述

自动发现（LLD）用于自动发现设备的动态组件，如端口、风扇、电源等。

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-117.png" alt="Image" />
</Frame>

华为交换机 S 系列监控模板包含以下自动发现规则：

| 自动发现名称 | SNMP OID                                                       | 发现内容   |
| ------ | -------------------------------------------------------------- | ------ |
| 风扇 2   | `discovery[{#SNMPVALUE2},1.3.6.1.4.1.2011.2.23.1.9.1.1.1.1]`   | 风扇状态   |
| 风扇 5   | `discovery[{#SNMPVALUE2},1.3.6.1.4.1.2011.5.25.31.1.1.10.1.1]` | 风扇状态   |
| 电源     | `discovery[{#SNMPVALUE},1.3.6.1.4.1.2011.5.25.31.1.1.6.1.1]`   | 电源状态   |
| 光模块    | `discovery[{#SNMPVALUE},1.3.6.1.4.1.2011.5.25.31.1.1.3.1.10]`  | 光模块信息  |
| 实体状态 5 | `discovery[{#SNMPVALUE},1.3.6.1.4.1.2011.5.25.31.1.1.1.1.1]`   | 实体运行状态 |
| 网络端口   | 继承自网络端口通用模板 64 位                                               | 端口流量   |

### 创建自动发现规则

#### 步骤 1：新建规则

在模板详情页，点击「自动发现」标签页，然后点击「新建自动发现规则」按钮。

#### 步骤 2：选择监控项类型

选择监控项类型为 **SNMP 代理**。

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-119.png" alt="Image" />
</Frame>

#### 步骤 3：填写自动发现规则信息

| 字段       | 说明         | 示例                                                           |
| -------- | ---------- | ------------------------------------------------------------ |
| 名称       | 规则显示名称     | 风扇 2                                                         |
| 监控项类型    | 选择 SNMP 代理 | SNMP 代理                                                      |
| 键值       | 唯一标识符      | `Fan2.23.1`                                                  |
| SNMP OID | 发现 OID     | `discovery[{#SNMPVALUE2},1.3.6.1.4.1.2011.2.23.1.9.1.1.1.1]` |
| 采集间隔     | 发现频率       | 3600 秒（1 小时）                                                 |

### SNMP OID discovery 语法

语法格式：`discovery[{#宏名称},OID路径]`

示例：

* `discovery[{#SNMPVALUE},1.3.6.1.4.1.2011.5.25.31.1.1.6.1.1]`：电源发现
* `discovery[{#SNMPVALUE2},1.3.6.1.4.1.2011.2.23.1.9.1.1.1.1]`：风扇发现

#### `{#SNMPVALUE}` 宏详解

`{#SNMPVALUE}` 是自动发现中最核心的宏变量，它的值来自 SNMP OID 遍历（snmpwalk）返回的**每个节点的值**。

**工作原理：** 当系统执行自动发现时，会对指定的 OID 路径执行 snmpwalk 操作：

```text theme={null}
OID 路径: 1.3.6.1.4.1.2011.5.25.31.1.1.6.1.1 (电源在位状态表)

snmpwalk 返回结果:
.1.3.6.1.4.1.2011.5.25.31.1.1.6.1.1.1 = "PowerSupply1" ← {#SNMPVALUE} = "PowerSupply1"
.1.3.6.1.4.1.2011.5.25.31.1.1.6.1.1.2 = "PowerSupply2" ← {#SNMPVALUE} = "PowerSupply2"
.1.3.6.1.4.1.2011.5.25.31.1.1.6.1.1.3 = "PowerSupply3" ← {#SNMPVALUE} = "PowerSupply3"
```

**典型用途：**

| 发现对象 | `{#SNMPVALUE}` 代表的内容 | 示例值                                            |
| ---- | -------------------- | ---------------------------------------------- |
| 风扇   | 风扇名称 / 编号            | `Fan1`、`Fan2`、`风扇-槽位1`                         |
| 电源   | 电源模块名称               | `PowerSupply1`、`PSU-1`、`电源模块A`                 |
| 网络端口 | 端口名称 / 描述            | `GigabitEthernet0/0/1`、`XGigabitEthernet1/0/1` |
| 光模块  | 光模块类型 / 名称           | `SFP-10G-LR`、`QSFP-40G-SR4`                    |
| 磁盘   | 磁盘名称 / 路径            | `/dev/sda`、`Disk0`、`硬盘1`                       |
| CPU  | CPU 编号 / 名称          | `CPU1`、`Core0`                                 |

**实际应用示例：**

风扇自动发现配置：

| 配置项      | 值                                                             |
| -------- | ------------------------------------------------------------- |
| 自动发现名称   | 风扇状态发现                                                        |
| SNMP OID | `discovery[{#SNMPVALUE},1.3.6.1.4.1.2011.5.25.31.1.1.10.1.1]` |

监控项原型配置：

| 字段       | 值                                                  | 说明                         |
| -------- | -------------------------------------------------- | -------------------------- |
| 名称       | `风扇 {#SNMPVALUE} 状态`                               | 自动生成：风扇 Fan1 状态、风扇 Fan2 状态 |
| 键值       | `fan.status[{#SNMPINDEX}]`                         | 使用索引保证唯一性                  |
| SNMP OID | `1.3.6.1.4.1.2011.5.25.31.1.1.10.1.4.{#SNMPINDEX}` | 状态对应的 OID                  |

生成的监控项效果：

```text theme={null}
├── 风扇 Fan1 状态 ← {#SNMPVALUE}=Fan1
├── 风扇 Fan2 状态 ← {#SNMPVALUE}=Fan2
├── 风扇 Fan3 状态 ← {#SNMPVALUE}=Fan3
└── 风扇 Fan4 状态 ← {#SNMPVALUE}=Fan4
```

<Warning>
  **重要说明：**

  1. **`{#SNMPVALUE}` 的值由设备决定**：不同厂商、不同型号的设备返回的值格式可能不同。华为设备可能返回 `Fan1`、`PowerSupply1`；思科设备可能返回 `fan-1`、`power-supply-1`。
  2. **使用 `{#SNMPINDEX}` 保证唯一性**：当名称可能重复时，使用 `{#SNMPINDEX}`（OID 最后一位数字）作为键值的一部分。
</Warning>

**常见宏变量：**

| 宏变量             | 含义                 |
| --------------- | ------------------ |
| `{#SNMPVALUE}`  | SNMP 返回的值（名称 / 描述） |
| `{#SNMPINDEX}`  | OID 索引（数字）         |
| `{#SNMPVALUE2}` | 第二个值字段（用于复杂发现规则）   |

### 配置监控项原型

在自动发现规则下创建监控项原型，用于生成具体的监控项：

| 字段       | 说明    | 示例                                                 |
| -------- | ----- | -------------------------------------------------- |
| 名称       | 使用宏变量 | `风扇 {#SNMPVALUE} 状态`                               |
| 键值       | 使用宏变量 | `fan.status[{#SNMPINDEX}]`                         |
| SNMP OID | 使用宏变量 | `1.3.6.1.4.1.2011.5.25.31.1.1.10.1.4.{#SNMPINDEX}` |

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-120.png" alt="Image" />
</Frame>

### 配置过滤器

过滤器用于筛选发现的项，避免创建不需要的监控项：

| 字段   | 说明          |
| ---- | ----------- |
| 计算方式 | 与 / 或、或     |
| 条件   | 宏名称、正则表达式、值 |

示例：只发现状态为正常的端口，条件为 `{#IFSTATUS}` 匹配 `1`。

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-121.png" alt="Image" />
</Frame>

## 七、模板宏

模板宏用于定义可复用的变量，提高模板的通用性。

**常用模板宏：**

| 宏名称                 | 默认值      | 说明        |
| ------------------- | -------- | --------- |
| `{$SNMP_COMMUNITY}` | `public` | SNMP 团体名  |
| `{$SNMP_PORT}`      | `161`    | SNMP 端口   |
| `{$SNMP_TIMEOUT}`   | `3s`     | SNMP 超时时间 |

**使用示例：**

* 在监控项 OID 中使用 `{$SNMP_COMMUNITY}` 代替硬编码的团体名
* 在触发器表达式中使用 `{$SNMP_TIMEOUT}`

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-122.png" alt="Image" />
</Frame>

### 值映射

值映射用于将数值转换为可读的文字描述。

**华为交换机常用值映射：**

| 值映射名称    | 值 → 描述                      |
| -------- | --------------------------- |
| 华为风扇运行状态 | 1 → 正常，2 → 异常               |
| 华为风扇在位状态 | 1 → 在位，2 → 不在位              |
| 华为电源状态   | 1 → 正常，2 → 异常               |
| 华为实体状态   | 1 → 正常，2 → 次要，3 → 主要，4 → 严重 |
| 华为光模块模式  | 1 → 单模，2 → 多模               |

**创建值映射：**

1. 在模板详情页找到「值映射」区域
2. 点击「添加值映射」
3. 输入名称和映射关系

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-123.png" alt="Image" />
</Frame>

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-124.png" alt="Image" />
</Frame>

## 八、关联主机与验证

### 步骤 1：创建主机

进入 **Perseus 采集 → 主机管理**，点击「新建主机」，填写主机信息：

| 字段    | 说明      | 示例              |
| ----- | ------- | --------------- |
| 主机名称  | 设备标识    | `SW-Core-01`    |
| 可见名称  | 显示名称    | 核心交换机 01        |
| IP 地址 | 设备 IP   | `192.168.3.100` |
| 端口    | SNMP 端口 | `161`           |
| 模板    | 关联模板    | 华为交换机 S 系列监控    |

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-125.png" alt="Image" />
</Frame>

### 步骤 2：配置主机宏（可选）

如果设备的 SNMP 团体名与模板默认值不同，可以在主机级别覆盖：

| 宏名称                 | 值             |
| ------------------- | ------------- |
| `{$SNMP_COMMUNITY}` | `Private@456` |

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-126.png" alt="Image" />
</Frame>

### 步骤 3：验证数据采集

等待一段时间后，进入 **监控中心 → 资源列表**，选择对应主机，查看监控项是否有数据返回。

<Check>
  验证检查项：

  * 系统信息监控项有数据
  * ICMP ping 状态正常
  * 自动发现规则已执行
  * 触发器配置生效
</Check>

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/lerwee/images/image-127.png" alt="Image" />
</Frame>

### 故障排查

| 问题    | 可能原因       | 解决方法            |
| ----- | ---------- | --------------- |
| 无数据返回 | 161 端口网络不通 | 检查防火墙、路由        |
| 无数据返回 | SNMP 未开启   | 配置设备 SNMP Agent |
| 数据错误  | OID 不正确    | 使用 MIB 工具验证 OID |
| 采集超时  | 设备响应慢      | 增加超时时间          |

## 九、附录：常用 SNMP OID 参考

### 系统信息

| OID                 | 名称            | 类型  | 说明     |
| ------------------- | ------------- | --- | ------ |
| `1.3.6.1.2.1.1.1.0` | `sysDescr`    | 字符串 | 系统描述   |
| `1.3.6.1.2.1.1.3.0` | `sysUpTime`   | 时间  | 系统运行时间 |
| `1.3.6.1.2.1.1.4.0` | `sysContact`  | 字符串 | 联系人    |
| `1.3.6.1.2.1.1.5.0` | `sysName`     | 字符串 | 系统名称   |
| `1.3.6.1.2.1.1.6.0` | `sysLocation` | 字符串 | 位置     |
| `1.3.6.1.2.1.1.7.0` | `sysServices` | 整数  | 服务类型   |

### 接口信息

| OID                       | 名称              | 类型  | 说明                |
| ------------------------- | --------------- | --- | ----------------- |
| `1.3.6.1.2.1.2.1.0`       | `ifNumber`      | 整数  | 接口数量              |
| `1.3.6.1.2.1.2.2.1.1`     | `ifIndex`       | 整数  | 接口索引              |
| `1.3.6.1.2.1.2.2.1.2`     | `ifDescr`       | 字符串 | 接口描述              |
| `1.3.6.1.2.1.2.2.1.5`     | `ifSpeed`       | 整数  | 接口速率              |
| `1.3.6.1.2.1.2.2.1.8`     | `ifOperStatus`  | 整数  | 操作状态（1=up，2=down） |
| `1.3.6.1.2.1.2.2.1.10`    | `ifInOctets`    | 整数  | 入站字节数             |
| `1.3.6.1.2.1.2.2.1.16`    | `ifOutOctets`   | 整数  | 出站字节数             |
| `1.3.6.1.2.1.31.1.1.1.6`  | `ifHCInOctets`  | 整数  | 入站字节数（64 位）       |
| `1.3.6.1.2.1.31.1.1.1.10` | `ifHCOutOctets` | 整数  | 出站字节数（64 位）       |

### 华为私有 OID

| OID                                   | 名称                    | 说明    |
| ------------------------------------- | --------------------- | ----- |
| `1.3.6.1.4.1.2011.5.25.31.1.1.1.1.1`  | `hwEntityStatus`      | 实体状态  |
| `1.3.6.1.4.1.2011.5.25.31.1.1.6.1.1`  | `hwPowerPresent`      | 电源在位  |
| `1.3.6.1.4.1.2011.5.25.31.1.1.10.1.1` | `hwFanPresent`        | 风扇在位  |
| `1.3.6.1.4.1.2011.5.25.31.1.1.10.1.4` | `hwFanStatus`         | 风扇状态  |
| `1.3.6.1.4.1.2011.5.25.31.1.1.3.1.10` | `hwEntityOpticalType` | 光模块类型 |

## 十、总结

制作网络设备 SNMP 协议模板的关键步骤：

<Steps>
  <Step title="准备阶段" icon="clipboard-check">
    <Info>
      确认设备 SNMP 配置、网络连通性、MIB 文件。
    </Info>
  </Step>

  <Step title="创建模板" icon="file-plus">
    <Tip>
      设置模板基本信息、分组、子模板。
    </Tip>
  </Step>

  <Step title="配置监控项" icon="gauge-high">
    <Note>
      添加 SNMP 监控项，设置 OID 和采集参数。
    </Note>
  </Step>

  <Step title="配置触发器" icon="bell">
    <Warning>
      定义告警条件，避免漏报或误报。
    </Warning>
  </Step>

  <Step title="配置自动发现" icon="magnifying-glass">
    <Info>
      实现端口、风扇、电源等动态组件的自动发现。
    </Info>
  </Step>

  <Step title="配置宏和值映射" icon="code">
    <Tip>
      提高模板通用性和可读性。
    </Tip>
  </Step>

  <Step title="关联主机验证" icon="circle-check">
    <Check>
      测试数据采集是否正常，确认监控生效。
    </Check>
  </Step>
</Steps>
