作者:来自 Elastic Patrick Boulanger
了解如何使用 Elastic observability 和 AI 来统一网络监控。我们将展示如何关联网络数据、识别根本原因并修复问题。
引言:网络监控碎片化问题
在 Elastic 为企业客户工作的五年中,我一再听到同样的挑战:
“我们有多个网络监控工具,我们非常希望能把它们关联到一个平台中。”
对许多组织来说,实现真正关联的障碍并不是数据不足,而是数据存放的位置。我们经常看到 SNMP 指标、流量数据和日志被隔离在为特定用途构建的孤立系统或仪表板中。没有统一的数据存储和合适的关联引擎,要拼接完整的事件叙事 —— 从拓扑变更到性能下降 —— 就会变成一个手动且耗时的难题。
当事件发生时,工程师会变成 “人工关联引擎” —— 在不同系统之间来回跳转,复制时间戳,交叉引用设备名称,并尝试拼凑出到底发生了什么。像 “这个接口故障是否影响了应用性能?” 这样一个简单的问题,都需要查询多个工具并在脑中进行关联。
真正的成本不在于工具许可 —— 而是在关键事件期间所浪费的时间。
这个实验室就是我对一个根本问题的回答:Elastic 能否成为真正关联网络数据的统一基础?
更重要的是,它展示了 Elastic 已完全为网络运维做好准备 —— 能够摄取多样化的遥测数据,并利用 AI 来关联关系、识别根本原因,并在几秒钟内而不是几小时内解决问题。
问题:网络可观测性已经失效
让我描绘一个我在企业网络团队中经常遇到的典型场景:
碎片化的现实:
- 没有单一事实来源
- 事件期间需要手动关联(每个事件 15–30 分钟)
- 团队割裂(网络工程师 vs 平台工程师)
- 自动化能力有限
- 没有 AI 驱动的分析
当凌晨 2 点一条链路断开时:
- 注意到告警 — 2 分钟
- 登录监控工具查看指标 — 3 分钟
- 切换到流量分析器检查影响 — 5 分钟
- 打开日志管理系统搜索相关消息 — 10 分钟
- 在多个系统之间手动关联时间戳 — 8 分钟
- 创建工单并从多个工具中复制上下文 — 8 分钟
初始诊断时间:36 分钟
这种工作流成本高、容易出错,而且无法规模化。
愿景:Elastic 作为统一的网络可观测性平台
如果你可以:
- 在一个平台中采集 SNMP 指标、NetFlow、traps 和拓扑数据
- 自动将网络事件与应用性能进行关联
- 无需单独的 BI 工具即可生成高管仪表板
- 使用 AI 在几秒钟内而不是几小时内分析事件
- 基于网络事件触发告警
这正是本实验室旨在展示的内容。
我构建了什么:生产级网络仿真
为了展示 Elastic 如何统一网络数据,我需要一个能够生成真实世界遥测数据的真实环境。于是有了 Containerlab —— 一个基于 Docker 的解决方案,使我们能够创建一个网络仿真框架。
实验室架构
我模拟了一个服务提供商核心网络,包括:
-
7 台 FRR 路由器,形成 OSPF Area 0 网格
-
2 台 Ubuntu 主机,用于其他用例
-
2 台二层交换机,用于接入层分段
-
3 个遥测收集器,将数据发送到 Elastic Cloud
容器总数:14
部署时间:12–15 分钟(完全自动化)
完整的部署说明和拓扑细节可在 GitHub 仓库 README 中找到。
三条遥测管道:验证多源关联
使这个实验室具备生产就绪特性的是其混合可观测性方法 —— 证明 Elastic 能够统一不同的网络数据源。
| 管道 | 数据类型 | 采集方法 | 收集器 | 用例 |
|---|---|---|---|---|
| SNMP Metrics | 接口统计、系统健康、LLDP 拓扑 | 主动轮询 | OTEL Collector | 容量规划、趋势分析 |
| NetFlow | 流量流 | 推送式导出 | Elastic Agent | 流量主要来源、安全调查 |
| SNMP Traps | 接口上线/下线事件 | 事件驱动 | Logstash | 实时事件检测 |
这个统一架构证明了 Elastic 可以用一个平台替代多个专用的网络监控工具。
关联的力量:一个平台,一条查询
当网络事件发生时,你需要回答这样的问题:
-
哪个接口故障了?(SNMP metrics)
-
哪些流量受到了影响?(NetFlow)
-
事件的顺序是什么?(SNMP traps)
-
哪些设备在下游?(LLDP 拓扑)
问题:现代工具提供的是分离的模块拼接在一起,迫使用户在不同空间中导航以获取不同的数据集。
现实:你仍然需要切换视图。你在 Metrics 模块看到一个峰值,但要了解原因,你必须打开 Logs 模块并手动对齐时间选择器。数据分布在不同的表或后端,没有人工干预就无法实现真正的关联。
Elastic 的区别:一个存储,一个语言,一个 AI
Elastic 使这一切变得简单。无论是 SNMP 计数器(metric)、NetFlow 记录(flow)还是 Syslog 消息(log),都存储在由 Elasticsearch 引擎驱动的统一数据存储中。这允许用户在单次查询中轻松搜索多个数据集。
`
1. FROM logs-*
2. | WHERE host.name == "csr23" AND interface.name == "eth1"
`AI写代码
所需时间:3 秒
此外,如你稍后将看到的,当利用 AI Assistant 时,数据的具体位置对用户而言是无关紧要的。
数据转换:从神秘 OID 到可执行情报
原始 SNMP traps 很难一眼看懂。在我们当前的实验室设置中,数据到达时如下所示:
`
1. OID: 1.3.6.1.6.3.1.1.5.3
2. ifIndex: 2
3. ifDescr: eth1
`AI写代码
虽然传统的网络管理平台 ( NMPs ) 能够原生处理 OID 转换,但要将这种清晰度引入 Elastic,需要特定配置。
在这个初始实验室中,我们有意使用这些原始数据,以展示 AI assistants 如何在没有预先上下文的情况下解释这些事件。
然而,该项目下一阶段的策略是实现 Elasticsearch Ingest Pipelines。这将允许我们将原始 OID 映射为人类可读的名称。这一步对于弥合网络工具与应用可观测性平台之间的差距至关重要,使网络事件能够即时与应用错误和基础设施日志关联。
目标状态
一旦在下一个实验室中实现管道,我们将把原始 trap 转换为可搜索、有意义的数据:
`
1. {
2. "event.action": "interface-down",
3. "host.name": "csr23",
4. "interface.name": "eth1",
5. "interface.oper_status_text": "Link Down"
6. }
`AI写代码
结果:
-
人类可读字段
-
可用于过滤的搜索维度
-
自动化规则和仪表板的上下文
-
与指标和流量关联的关联键
在我们的下一篇博客文章中,我们将逐步演示如何构建执行此转换的 ingest pipeline。
智能告警:从噪声到可执行情报
传统网络监控依赖简单阈值告警 —— “接口宕机”、“CPU 高”。这些告警会淹没你的收件箱,但对根本原因、影响或补救措施毫无上下文。
实验室的方法:ES|QL + AI Assistant
1)使用 ES|QL 进行语义检测
实验室不是使用通用阈值告警,而是使用 ES|QL 检测特定事件模式:
`
1. FROM logs-snmp.trap-prod
2. | WHERE snmp.trap_oid == "1.3.6.1.6.3.1.1.5.3"
3. | KEEP @timestamp, host.name, interface.name, message
`AI写代码
2)自动 AI 驱动调查
当告警触发时,它会调用 Observability AI Assistant,并使用结构化调查 prompt 来:
-
执行即时分诊(哪个设备,哪个接口,何时发生)
-
评估 OSPF 影响和流量重路由
-
与其他近期故障关联
-
生成严重性评估和推荐操作
转变
| 传统告警 | 智能告警 ( Elastic ) |
|---|---|
| 邮件:"csr23 接口宕机" | 带设备上下文的结构化分析 |
| 手动调查:20–30 分钟 | AI 自动调查:90 秒 |
| 工程师跨工具关联 | 自动跨源关联 |
| 无业务影响评估 | 包含严重性 + 推荐操作 |
使用 Elastic AI Assistant 加速事件响应
这就是 Elastic AI Assistant 展示其运营价值的地方 —— 不再只是被动收集数据,而是实时主动解释和分析网络事件。
当工程师在 Discover 中查看 trap 文档并询问:
“解释这条日志消息”
AI Assistant 会提供全面分析,包括:
-
发生了什么:SNMP trap 的通俗解释
-
设备上下文:路由器角色、接口用途、网络位置
-
影响分析:OSPF 邻居状态、流量重路由评估
-
根因可能性:物理层、链路层、管理原因
-
推荐操作:即时步骤、调查查询、验证检查
-
严重性评估:业务和技术影响评分
手动分诊 vs AI 辅助调查
| 前 | 后 ( Elastic AI ) |
|---|---|
| Google OID → 5 分钟 | 点击 "Explain this log" → 20 秒 |
| 打开网络拓扑图 → 3 分钟 | 自动提供拓扑上下文 |
| 查询多个工具 → 10 分钟 | 跨源关联即时完成 |
| 评估业务影响 → 5 分钟 | 自动生成影响分析 |
| 总计:约 28 分钟 | 总计:约 20 秒 |
价值主张:一个平台,一个数据模型,一个 AI
实验室展示内容
Elastic 提供:
-
一个统一平台,用于 metrics、logs、flows
-
一个数据模型 ( SemConv ),实现一致的关联
-
一个搜索界面 ( Kibana ),适用于所有网络数据
-
一个理解你所有网络遥测的 AI assistant
-
AI 驱动告警,带自动化调查
业务影响
效率提升:
-
初始诊断 MTTR 减少 85%(36 分钟 → 5 分钟)
-
手动关联时间减少 90%
-
初级工程师可以访问 AI 驱动的专家分析
运营收益:
-
网络工程师专注于策略,而非工具切换
-
跨职能协作集中在一个平台
-
减少工具碎片化和管理开销
经验总结
在构建该实验室之后,关于网络数据如何融入更广泛的可观测性生态系统,我们得出了几个关键见解:
1)将可观测性扩展到网络
Elastic 已经是高流量日志和应用追踪的黄金标准。本实验室展示了同一个引擎可以无缝处理网络遥测数据,而无需单独的孤立工具。
-
规模:同样的架构可处理 PB 级应用日志,也能轻松处理数百万接口计数器。
-
结构:原生支持复杂嵌套文档,使丰富的 SNMP trap 数据(变量绑定)无需扁平化即可保留上下文。
-
速度:实时搜索同样适用于网络事件,实现亚秒级故障排查。
2)OpenTelemetry 语义规范 ( SemConv ) 作为通用翻译器
强大之处不仅在于存储数据,而在于标准化数据。通过将 SNMP 和 NetFlow 映射到 OpenTelemetry Semantic Conventions ( SemConv ),网络数据终于能与其余栈使用相同语言。
-
统一搜索:在单一搜索栏中查询防火墙日志、服务器指标和交换机遥测数据。
-
即时可视化:预建仪表板可以立即使用,因为字段名已标准化。
-
跨域关联:轻松将应用延迟的峰值与特定接口饱和事件关联。
3)AI Assistant 依赖上下文
虽然实验室中的 AI 本身已很强大,但实验凸显了一个关键认识:当 AI Assistant 与特定知识库结合时,其效果会呈指数级提升。
上下文为王:当提供丰富的元数据(如设备角色和拓扑图)时,AI 可以提供更好的根因分析。缺少上下文时,建议仍然是通用的。
专业提示(以及下一步):
若要获得针对组织的建议而非通用建议,你需要将文档输入 AI。
-
目标:创建包含设备角色、网络拓扑图和故障排查流程的知识库。
-
下一步:在我的下一篇博客文章中,我将展示如何将知识库连接到 AI Assistant,实现完全上下文感知的故障排查。
结论:完善可观测性全景
Elastic 已被广泛认可为应用和安全可观测性的标准。本实验室的目标不是质疑 Elastic 是否能处理网络,而是展示将网络数据引入现有生态系统所带来的巨大价值。
结论明确:Elastic 作为统一基础平台,有效打破了网络工程与 IT 其他部门之间的孤岛。
这不仅仅是整合仪表板或替换遗留工具,而是将 Elasticsearch AI Platform 建立为单一事实来源,在这里网络遥测与应用和基础设施数据并列存放。
通过将网络数据视为可观测性栈中的一等公民,我们解锁了自动关联、AI 辅助调查以及在事件影响业务前快速解决问题的能力。功能已经到位,基础牢固 —— Elastic 已准备好将你的网络与整个数字业务统一。
准备自己试试吗?
仓库包含:
- 完整部署脚本(12–15 分钟自动化设置)
- 预配置的遥测管道
- Kibana 仪表板
- 集成 AI Assistant 的告警规则
- 详细 README
不准备自己搭建?试试 Elastic Serverless:开启 14 天免费试用,使用你自己的数据探索 AI 驱动的可观测性。
特别感谢 Containerlab 和 FRRouting 社区提供的出色开源工具,以及 Elastic 解决方案架构高级经理 Sheriff Lawal ( CCIE, CISSP ) 对本项目的指导。