网络监控与告警体系
让网络问题在影响业务之前被发现,让告警可用而不扰人。本技能覆盖 SNMP 轮询与 Telemetry 推送两种采集、六类监控对象、阈值依据、告警分级与降噪闭环,附指标基线表与告警分级脚本。
一、核心原理:采集 → 判断 → 分级 → 通知
监控的闭环是 采集 → 阈值判断 → 分级 → 通知 → 处置 → 复盘。采集有两条路线:SNMP 轮询(pull,周期拉取)与 Telemetry 推送(push,订阅式实时上送),各有适用场景。
flowchart LR
D[网络设备] -->|SNMP 轮询<br/>OID 周期拉取| P[监控平台]
D -->|Telemetry 订阅<br/>gRPC/Netconf 推送| P
P -->|阈值判断| J[告警引擎]
J -->|分级+降噪| N[通知路由<br/>电话/IM/邮件]
N --> O[处置闭环<br/>确认-处理-关闭-复盘]
两条采集路线对比:
| 维度 | SNMP 轮询 | Telemetry 推送 |
|---|---|---|
| 模型 | pull,周期拉取 | push,订阅式实时上送 |
| 精度 | 受轮询间隔限制(通常 1~5 分钟) | 亚秒级,支持事件驱动 |
| 开销 | 周期轮询 CPU 开销 | 数据量大,需订阅过滤 |
| 适用 | 状态/计数器/接口速率 | 高速率计数器/队列/流量 |
二、参考监控架构
flowchart TB
subgraph 采集源
A1[路由器/交换机]
A2[防火墙]
A3[链路/出口]
end
subgraph 监控平台
B1[SNMP 轮询器<br/>OID 集]
B2[Telemetry 接收器<br/>gRPC dial-out]
B3[IP SLA 探针]
end
subgraph 告警与展示
C1[阈值告警引擎]
C2[可视化大屏]
end
A1 & A2 --> B1 & B2
A3 --> B3
B1 & B2 & B3 --> C1
B1 & B2 --> C2
配套 ASCII 采集链路:
设备 ──SNMP get/批量 walk(UDP 161)──► 轮询器 ──► 时序库 ──► 阈值判断 ──► 告警
设备 ──Telemetry dial-out(gRPC 57400)► 接收器 ──┘ │
链路 ──IP SLA 探测(ICMP/UDP)────────► 探针 ─────────────┘
▼
分级 + 降噪 → 通知 → 闭环
三、关键决策表
| 决策项 | 推荐取值 | 依据/常见错误 |
|---|---|---|
| SNMP 版本 | v3(authPriv)优先,v2c 仅内网只读 | v1/v2c community 明文,不安全 |
| 轮询间隔 | 状态 60s,性能 5min,容量 15min | 全 1s 轮询会打满设备 CPU |
| 可达性探测 | ICMP + SNMP 双探活,3 次失败才告警 | 单次抖动误报 |
| CPU 告警阈值 | 5 分钟均值 >80% 告警 | 瞬时 100% 不告警,避免噪声 |
| 接口利用率阈值 | >80% 提示、>90% 重要 | 区分入/出方向 |
| 链路时延/丢包 | IP SLA 丢包 >1% 或时延超基线 2 倍 | 阈值脱离基线无意义 |
| 告警分级 | 紧急/重要/提示 三级 | 全紧急=风暴 |
| 抑制窗口 | 同源同因 5~10 分钟合并 | 不做抑制被刷屏 |
> 容量趋势预测参考:接口利用率按 8 周历史做线性/指数拟合,当前利用率 + 预测增速 × 扩容周期 超过 80% 即触发扩容预警。扩容周期通常取 1~3 个月(采购+实施),避免「用完才扩」。
四、分步 SOP
- 盘点监控对象:全设备登记(含 SNMP 凭据、位置、角色)。
- 选择采集方式:状态/性能用 SNMP,高速计数器/队列用 Telemetry。
- 配置设备侧:SNMP v3 或 Telemetry 订阅,指向监控平台。
- 定义指标集:六类指标(可达性/接口/性能/链路质量/协议/容量)。
- 标定阈值:基于历史基线设定,标注依据,三级分级。
- 配置降噪:抑制窗口、依赖关系(上游 down 抑制下游风暴)。
- 闭环与 SLA:通知路由、响应时限、未处置不自动关闭。
五、真实配置示例
SNMP v3 配置(思科 IOS-XE)
snmp-server group MONITOR v3 priv read VIEW1
snmp-server user monitor MONITOR v3 auth sha AuthPass123 priv aes 128 PrivPass123
snmp-server view VIEW1 iso included
SNMP v3 配置(华为 VRP)
snmp-agent
snmp-agent sys-info version v3
snmp-agent group v3 monitor privacy read-view ViewDefault
snmp-agent usm-user v3 monitor monitor authentication-mode sha AuthPass123 privacy-mode aes128 PrivPass123
Telemetry 订阅(华为 CloudEngine,gRPC dial-out)
telemetry
sensor-group cpu_sg
sensor-path huawei-cpu:cpu/cpus
subscription cpu_sub
sensor-group cpu_sg sample-interval 30000
destination-group cpu_dg
destination-group cpu_dg
ipv4-address 10.10.10.40 port 57400 protocol grpc
IP SLA(思科 IOS-XE)
ip sla 1
icmp-echo 10.10.20.1 source-interface Loopback0
frequency 30
ip sla schedule 1 life forever start-time now
六、验证方法
| 检查项 | 达标阈值 | 命令/方式 |
|---|---|---|
| SNMP 可达 | 平台能取到 OID | snmpwalk -v3 -u monitor -A ... -l authPriv host system |
| 指标完整 | 六类指标都有数据 | 平台看板核对 |
| 告警触发 | 模拟阈值越界能告警 | 人为拉高负载/断链测试 |
| 分级路由 | 按级别走对应渠道 | 触发测试告警 |
| 降噪生效 | 风暴收敛为单条 | 模拟同因多告警 |
| 闭环 | 告警都有处置记录 | 工单/告警平台 |
七、常见故障排查表
| 现象 | 根因方向 | 首要动作 |
|---|---|---|
| 平台取不到设备 | SNMP 凭据/ACL/版本不匹配 | 核对 v3 用户与 view,抓包看 161 端口 |
| Telemetry 无数据 | 订阅未生效/端口不通 | display telemetry subscription,抓 gRPC 端口 |
| 告警频繁抖动 | 阈值过严/无抑制 | 回看阈值依据,加抑制窗口 |
| CPU 误告警 | 用瞬时值判断 | 改 5 分钟均值 |
| 上游 down 引发告警风暴 | 缺依赖关系抑制 | 配 parent/child 抑制规则 |
| 容量预测不准 | 数据周期太短 | 拉长历史数据做趋势 |
八、输出规范
交付时应产出:监控对象覆盖清单、指标集与采集方式、阈值设定表(含依据)、告警分级与通知矩阵、抑制去重规则、值班与响应 SLA、闭环复盘记录。
九、边界与风险
- SNMP v1/v2c 明文 community 有安全风险,生产建议 v3 authPriv。
- 轮询过密会打满设备 CPU,需合理设置间隔。
- 阈值必须基于基线,脱离基线的阈值无意义。
- 本技能给出指标与阈值参考,最终以实际业务基线标定为准。
配套资源
- 监控指标与 OID 手册:
references/monitoring-metrics-oids.md - 采集配置对照:
references/collection-configs.md - 数据基线:
assets/metric-threshold-level.csv - 告警规则模板:
assets/alert-rule-template.txt - 脚本:
scripts/alert_tiering_dedup.py(告警分级与降噪) - 配套检查清单:《网络监控与告警体系清单》