×

网络监控:云原生环境下如何更好的实现网络可观测

hqy hqy 发表于2025-11-13 22:49:25 浏览15 评论0

抢沙发发表评论

前段时间陪着某个朋友一直在跟进他公司选型可观测性平台,由于行业因素,必须选择国产厂商的可观测性平台,综合看了一下,然后也分别约了评估的厂商进行产品介绍和使用体验。

考察了一圈,深入选定了对 DeepFlow 和 夜莺 以及 乐维 做了产品调研和介绍,而朋友公司对产品的要求有如下:

  • 全栈可观测性数据采集:支持从网络流量、应用调用、Kubernetes 元数据、主机指标中自动采集观测数据,减少手工埋点和指标配置工作量。
  • 自动服务拓扑与调用链追踪:能够自动生成应用与服务之间的调用拓扑,提供端到端调用链追踪能力,帮助快速定位性能瓶颈和异常根因。
  • 统一数据分析与多维查询:支持将 Metrics 、 Traces 、 Logs 、流量数据统一分析,提供多维度查询能力,快速关联问题上下游影响面。
  • 智能告警与根因分析:告警不仅能实时通知,还能直接关联到调用链、流量明细、相关日志,帮助运维和研发快速找到根因而非只看到现象。
  • 闭环优化与流程对接:支持对接内部流程管理系统,将问题定位、工单流转、优化建议形成闭环,提升问题处理效率和运维规范性。

综合考虑需求后, DeepFlow 对朋友需求的覆盖更全面,所以我们对 DeepFlow 做了一个深度体验,下面我将介绍一下 DeepFlow 的产品功能和使用体验。

DeepFlow 介绍

DeepFlow 开源项目宣称为复杂的云原生应用提供深度可观测性。 DeepFlow 官网信息表示 DeepFlow 基于 eBPF 实现了零插桩( Zero Code )、全覆盖( Full Stack )的指标、追踪、日志采集,并通过智能标签技术实现了所有观测数据的全关联( Universal Tagging )和高效存取。

使用 DeepFlow ,可以让云原生应用自动具有深度可观测性,从而消除开发者不断插桩的沉重负担,并为 DevOps/SRE 团队提供从代码到基础设施的监控及诊断能力。

核心特性

DeepFlow 在他们官网说明了以下几项核心特性:

图片

链接如下:https://deepflow.io/zh/

任意 Service 的全景图 :利用 eBPF 零侵扰绘制生产环境的全景图,包括任意语言开发的应用服务、AI 服务、基础设施服务。内置标准协议解析能力,并提供 Wasm 插件机制扩展解析任意私有协议。零侵扰计算每一次调用在应用程序和基础设施中的全栈黄金指标,快速定界性能瓶颈。

任意 Request 的分布式追踪 :基于 eBPF 的零侵扰分布式追踪能力,支持任意语言的应用程序,并完整覆盖网关、服务网格、数据库、消息队列、DNS、网卡等各类基础设施,不留下任何追踪盲点。全栈,自动采集每个 Span 关联的网络性能指标和文件读写事件。从此,分布式追踪进入零插桩的新时代。

任意 Function 的持续性能剖析 :以低于 1% 的开销零侵扰采集生产环境进程的性能剖析数据,绘制函数粒度的 OnCPU、OffCPU、GPU、Memory、Network 火焰图,快速定位业务函数、框架函数、运行时函数、动态链接库函数、内核函数、CUDA 函数的全栈性能瓶颈,并自动关联至分布式追踪数据。

无缝集成流行的可观测性技术栈 :可作为 Prometheus、OpenTelemetry、SkyWalking、Pyroscope 的存储后端,亦可提供 SQL、PromQL、OTLP 等数据接口作为流行技术栈的数据源。自动为所有观测信号注入统一标签,包括云资源、K8s 容器资源、K8s Label/Annotation、CMDB 中的业务属性等,消除数据孤岛。

存储性能 10x ClickHouse :基于 SmartEncoding 机制,向所有观测信号注入标准化的、预编码的元标签,相比 ClickHouse 的 String 或 LowCard 方案均可将存储开销降低 10x。自定义标签与观测数据分离存储,从此你可安心注入近乎无限维度和基数的标签,且可获得像 BigTable 一样的轻松查询体验。

DeepFlow 共有两个版本,本地化部署:

  • DeepFlow Community :DeepFlow 社区版,面向开发人员
  • DeepFlow Enterprise :DeepFlow 企业版,面向组织、解决团队协作的问题

这些核心特性都颇有吸引力,对我朋友目前遇到的问题看起来能提供不小的帮助,但最终效果肯定还是得看具体功能实现,所以我们深度体验了一下 DeepFlow 的主要功能。

DeepFlow 功能

DeepFlow 的观测能力主要在:

  • 业务观测
  • 应用观测
  • 代码观测
  • 资产观测
  • 网络观测

首先是业务观测,我们可以基于某个系统或服务对组成这个服务的所有节点做抽丝剥茧式的监控,比如 DNS、中间件、数据库、多个微服务构建一套系统,这个服务监控就会列出整套业务系统的组成监控信息,如下所示:

图片
图片
图片

当我们点击 DNS 服务的时候,可以看到 DNS 在该业务系统中的详细情况,就如我们看下网络性能:

图片

图中的 流量速率 、 TCP重传比例 以及 TCP建连失败比例 都清晰展示对应图例,很直观,不管排错还是查看数据趋势都是非常合适的。

业务观测可以从单个业务侧去了解整个业务组成的详细信息,观测单个业务调用的所有路径,业务调用链明细,深入分析每个环节的关键性能指标。

应用观测就更加细化,如果说业务观测是针对某个业务的全局展望观测,那么应用观测就是细化到毛细血管级别,深入分析应用的响应状态,时延,通过 eBPF 和 Otel 以及其他附加应用协议来实现对应用链路追踪,得到一些应用综合指标和链路指标:

图片

当深入做对应资源分析,可以选择不同指标和信号源,查看对应应用的请求速率,服务端异常比例,响应时延等等。

图片

单独查看某些某些应用,可以对这个应用作路径分析,整个应用的全栈路径分析时延和性能一目了然,应用出现故障可快速预览整个路径上的吞吐、延迟、异常、和性能数据:

图片

如果需要查看应用之间调用关系,还可以通过应用调用拓扑分析来全局查看调用链:

图片

当然应用之间的详细调用日志也是有的,如果需要查询详细调用信息可以查询日志记录:

图片

代码观测可以对代码做深入的性能剖析,如花费 CPU 的时间:

图片

资产观测中,可以看到云主机和容器内的资产信息:

图片

由于我这边侧重网络,所以我将着重讲一下网络观测:

图片

网络观测中有 资源分析 、 路径分析 、 拓扑分析 、 流日志 以及 NAT 追踪 这五个主要栏目。

这里主要侧重云原生环境中网络层面的观测能力,主要从应用的网络层面分析,主要是从网络四层开始到上层:

图片
图片

根据流日志我们可以查看到每个应用的传输连接建立时间、结束时间、什么协议、什么端口等,客户端和服务端都有记录,发送和接收字节数以及平均 TCP 建连时延等等。

图片

如果中间发生过网络 NAT 转换,还可以对相关服务做 NAT 追踪,诊断分析 NAT 前后的性能变化:

图片

综合来看,云杉 DeepFlow 可观测性平台在 eBPF 和 oTel 层面有深入的探索,在云原生场景下获取应用指标,网络指标和系统指标,得到整个链路情况,为业务的深入洞察做赋能。

如果需要查看具体详细指标,可以打开 指标中心-指标查看 选择你需要查看的指标信息。

日志中心可以查看到具体应用、资源的日志信息,收集具体应用的详细日志信息有助于补全 Logs 这块的缺失。

拨测中心有个实时拨测功能,在做日常调试的时候,可以很方便快捷的利用这套工具实现:

图片

目前支持的拨测工具有 ping 、 tcping 、 curl 、 dig 、 traceroute 等。

在告警管理中,是通过事件的方式触发告警事件的,对不同的告警做了事件分级:

  • 致命
  • 错误
  • 警告
  • 恢复
  • 无数据
  • 信息

通过这几个事件等级,来做分组和告警推送端点的。

场景适配

在和朋友深度体验后,我们简要总结了 DeepFlow 在可观测性、流量分析、链路追踪、问题定位上的以下突出优势:

  • 全栈可观测性

    • 不仅监控基础设施,还要覆盖容器、微服务、应用请求、API 调用等层面
    • 支持从流量、指标、日志、调用链多维度进行统一观测
    • 提供实时拓扑,能动态感知业务关系变化
  • 自动化问题定位能力

    • 当发生业务异常时,能够自动关联链路、找到异常点
    • 支持跨服务、跨节点的性能分析,帮助研发/运维快速定位根因
  • 数据闭环与可追溯性

    • 对采集到的 指标 、 日志 、 Trace 数据能统一管理、存储、查询
    • 具备历史回放能力,可在事后复盘问题、做性能优化
  • 告警与协同集成

    • 告警能与拓扑、链路追踪信息关联,减少噪音、精准通知
    • 可对接内部流程系统,让问题处理过程透明、可跟踪
  • 可扩展性与生态兼容

    • 兼容 Prometheus 、 OpenTelemetry 等开放标准
    • 支持未来与 AIOps 、 容量预测 、 智能调度 的结合

故我们可以总结为:

  • 流量可观测 → 实时全局拓扑
  • 应用性能分析 → 分布式追踪、根因定位
  • 数据统一 → 指标、日志、Trace、流量关联

可以完美的与现有监控体系配合,而不是简单替代。

以上就是云杉 DeepFlow 的基本介绍,其实还有更加深入的使用方法,可以满足云原生场景对可观测性的需求。


打赏

本文链接:https://kinber.cn/post/5921.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客