v6.6 EE Release Notes

创建时间:2024-11-05 最近修改时间:2024-12-16

#1. 零侵扰

#1.1 追踪

  • AutoTracing
    • ⭐ 新增调用链拓扑(TraceMap)能力,实时计算搜索条件命中的所有 Trace 的聚合拓扑图,帮助用户快速梳理软件架构、全局定位性能瓶颈。
    • ⭐ 支持使用 Wasm Plugin 增强 HTTP2/gRPC 调用日志(目前尚不支持对 eBPF uprobe 数据的增强),文档
    • ⭐ 文件读写事件支持采集文件名的全路径,支持采集读写文件的 offset。
    • 支持 Memcached 协议的采集和追踪,文档
    • 支持 Tars 协议的采集和追踪(目前仅 cBPF),文档
    • 支持 Some/IP 协议的采集和追踪。
    • 新增 HTTP 协议 URL 脱敏能力、默认开启 Redis 协议脱敏,文档
    • 优化网络 Span 追踪所使用的 NTP 时钟偏差(host_clock_offset_us)和网络传输时延(network_delay_us)配置参数默认值,降低误匹配概率。
    • 优化 OTel Span 中 schema/target 等字段到 l7_flow_log 的映射,文档
    • 支持解析听云 TraceID 和 SpanID。
  • AutoMetrics
    • 支持同会话中的请求和响应指标时间戳对齐,帮助 AIOps 系统更好的实现根因定位。
  • AutoTagging
    • 支持聚合采集 Open vSwitch bond interface 的多个成员物理网卡的流量,文档
    • 正确标记 K8s Node 上 loopback 网卡流量的 Universal Tag。
  • 搜索能力
    • 新增应用搜索模式,可快速点选服务(app_service)和实例(app_instance),可快速输入端点(endpoint)和 TraceID。
    • 优化搜索框的布局,优化快速点选框的显示样式。
  • 性能提升
    • 优化调用链追踪 API 性能。
  • 易用性提升
    • ⭐ 调用链追踪增加后端分析能力,智能引导用户在 eBPF AutoTracing 断链的情况下快速追踪到对后端的请求。
    • ⭐ 支持快速查看系统 Span 对应的持续剖析和实时剖析数据。
    • ⭐ 调用链追踪支持瀑布列表的显示模式。
    • ⭐ deepflow-agent 支持直接接收 SkyWalking、Datadog 的追踪数据,无需经过 otel-collector 转发。
    • ⭐ 调用链追踪火焰图自动校正不同机器的细微时钟偏差。
    • ⭐优化网络路径右滑页的易用性。
    • 优化开启 eBPF uprobe 功能的进程配置能力,文档
    • 优化调用链追踪页面:左侧快速过滤框顺序调整、增加趋势分析折线图、优化调用日志详情表格。
    • 资源分析、路径分析、拓扑分析页面支持自动选择最合适的指标时间粒度进行查询,以优化查询速度。
    • 资源分析、路径分析、拓扑分析页面支持快速过滤指标量的值域。
    • 右滑页面中的调用日志默认仅展示异常条目。
    • 优化拓扑图中 Tip 的展示位置。
    • 优化标签分类的中英文展示。
    • 丰富页面左侧快速过滤框。
    • 优化搜索框候选项的显示顺序。

#1.2 剖析

  • AutoProfiling
    • ⭐ 支持 eBPF 零侵扰采集 Java、Rust 进程的内存剖析数据,文档
    • ⭐ 支持利用 DWARF 实现 Frame Pointer 缺失情况下的栈回溯,文档
    • ⭐ 支持 Python 和 CUDA 的 CPU 性能剖析。
  • 性能提升
    • ⭐ Java 进程符号表同步机制优化,对业务进程引入的瞬时 CPU 消耗降低了约 50%。
    • ⭐ 函数栈合并效率提升,降低函数栈上报的资源开销,在同名线程较多的场景下有显著性能提升。
    • ⭐支持压缩传输 Profiling 数据,带宽消耗降低 30%。
  • 实时剖析
    • ⭐ 支持使用 JVM API 获取 Java 进程的函数栈、GC 统计信息、Heap 统计信息。
  • Grafana
    • 支持在 Grafana Panel 中查看 DeepFlow eBPF On-CPU Profiling 数据。
  • 易用性提升
    • 优化开启 Profile 功能的进程配置能力,文档
    • 优化火焰图中函数类型的展示。
    • 优化内存剖析火焰图的文案。
    • 丰富页面左侧快速过滤框。
    • 优化搜索框候选项的显示顺序。

#1.3 网络

  • AutoTagging
    • 支持聚合采集 Open vSwitch bond interface 的多个成员物理网卡的流量,文档
    • 正确标记 K8s Node 上 loopback 网卡流量的 Universal Tag。
  • PCAP
    • ⭐ 支持在线分析 PCAP 包数据。
  • 分发
    • ⭐ 流量分发支持 ZMQ 协议。
  • 性能提升
    • 优化 NAT 追踪 API 性能。
  • 易用性提升
    • ⭐优化网络路径右滑页的易用性。
    • 资源分析、路径分析、拓扑分析页面支持自动选择最合适的指标时间粒度进行查询,以优化查询速度。
    • 资源分析、路径分析、拓扑分析页面支持快速过滤指标量的值域。
    • 专属采集器采集网卡=其他网卡的流量计入资源指标量中。
    • 支持隧道流量与非隧道流量聚合,解决非对称路径流量聚合问题。
    • 开启 TCP 包头或 PCAP 数据的采集时,自动开启网络流日志的采集。
    • 优化 NAT 追踪页面信息栏的展示。
    • 优化拓扑图中 Tip 的展示位置。
    • 右滑页面中的流日志默认仅展示异常条目。
    • 优化标签分类的中英文展示。
    • 提供流日志结束类型(close_type)的图形化释义。
    • 丰富页面左侧快速过滤框。
    • 优化搜索框候选项的显示顺序。

#1.4 拨测

  • 实时拨测
    • ⭐ deepflow-agent 进程内部内置拨测能力,无需安装拨测命令的二进制文件。
    • 支持的命令包括:ping、tcpping、curl、dig、traceroute。
    • 支持进入业务 Pod 执行拨测命令。

#2. 自定义

#2.1 视图

  • 子视图增强
    • ⭐ 聚合指标和概览图支持 PromQL 查询,以增强 Prometheus 指标在视图中的展示能力。
    • 优化子视图 Tip 显示,在有多个查询条件时显示查询名,在仅有单个指标时紧凑(忽略)显示指标名。
    • 拓扑图支持设置路径指标的(相邻两跳的)差量的阈值。
    • 表格支持更丰富的颜色设置。
    • 子视图支持设置图例的颜色。
    • 优化饼图的自定义能力。
    • 增加放大查看的能力。
    • 指标单位设置方式统一。
  • 易用性提升
    • 简化子视图指标别名、单位、阈值的设置方式。
    • 资源变更事件、文件读写事件的右滑详情页优化。
    • 优化右滑页面的 Tab 页展示。
    • 支持为视图添加标签。
    • 支持复制整个视图。
    • 优化图例展示。

#2.2 全景图

  • 数据关联
    • ⭐ 全景图支持展示告警事件。
  • 易用性提升
    • 优化拓扑样式。

#3. 集成

#3.1 日志

  • 性能提升
    • ⭐ 应用日志数据支持压缩传输,带宽消耗降低 95%(CPU 消耗增加 3%)。
  • 易用性提升
    • 优化搜索框,固定选中应用服务(app_service)过滤条件。

#4. 运营

#4.1 告警

  • 告警策略
    • ⭐ Email 推送内容支持 Markdown 格式,支持 Jinja2 语法引用标签。
    • 搜索模块支持设置指标别名、查看单位。
  • 告警事件
    • ⭐ 丰富告警事件的 Tag,与所有可观测性数据拉齐。
    • 增加事件分析页面,统计分析告警事件。
  • 推送端点
    • 推送至 Kafka 时支持 SCRAM-SHA-256 认证方式。
  • 易用性提升
    • 优化系统告警事件,展示 DeepFlow 进程异常的详细内部模块名称。
    • 优化告警事件右滑框的时间范围展示。
  • 性能提升
    • 页面加载时间优化。

#4.2 报表

#5. 管理

#5.1 资源

  • AutoTagging
    • ⭐ 支持同步火山引擎资源标签,文档
    • 支持同步 LoadBalancer 类型的容器服务。
    • 增强进程同步能力,文档
      • ⭐ 支持仅同步容器内的进程。
      • 支持不同步 Socket 信息(仅同步进程信息)。
  • 管理能力
    • 录入 K8s 集群时支持指定 ClusterID,使得集群重新录入时可复用旧 ClusterID。
    • 支持利用 Lua Plugin 自定义 K8s 工作负载抽象规则,文档
    • 限制同一组织同一区域内仅支持一个采集器同步类型的云平台。
    • 支持通过普通账号的 AK/SK、携带 ResourceGroupId 完成阿里云资源同步。
    • 预置资源同步滞后、资源关联关系异常的系统告警。
  • 性能提升
    • 取消同步 K8s Evicted 状态的 Pod,减少资源开销。
    • 优化 genesis* 相关 MySQL 表的存储性能。
  • 适配性优化
    • 当云平台(Domain)配置了区域白名单时,不再需要调用 Region API。
    • 阿里云、腾讯云的 NAT 网关、路由表、负载均衡器获取失败时不影响其他资源信息的同步。

#5.2 系统

  • Server
    • ⭐ 支持使用 OceanBase 替换 MySQL。
    • ⭐ 支持使用 ByConity 替换 ClickHouse,文档
    • ⭐ 支持使用 ClickHouse 企业版(目前仅支持阿里公有云),文档 (opens new window)
    • 默认聚合生成粒度为 1h、1d 的网络性能指标和应用性能指标。
    • 数据导出(Kafka/Promtheus/OTel)的过滤器(tag-filters-groups)支持填写多组,以实现逻辑或的语义。
    • 统一 deepflow-server 中各模块的日志格式。
    • 性能提升
      • ClickHouse 通过代理访问 MySQL 获取字典数据,降低 MySQL 连接数、优化跨 Region 带宽消耗。
  • Agent
    • ⭐ 配置重构,大幅提升易用性,文档
    • ⭐ 支持使用 eBPF 采集 DPDK 网卡的流量。
    • 支持通过环境变量指定和禁用 K8s List & Watch,文档
    • 支持解封装 VXLAN 类型的远程镜像流量,文档
    • 专属采集器支持设置为忽略 PCP 处理镜像流量,文档
    • 专属采集器支持按 QinQ 内层 VLAN 计算网络位置(capture_network_type),文档
    • 专属采集器默认不限制并发流数量与策略模块的内存开销,文档
    • 空闲内存熔断机制支持使用 available 内存指标,文档
    • 减少 deepflow-agent 发送数据时使用的 Socket 数量:
      • 合并集成 OpenTelemetry 时,传输 open_telemetry 和 open_telemetry_compressed 数据使用的 Socket。
      • 合并用于 agent 自监控的、传输 deepflow_stats 和 agent_log 数据使用的 Socket。
      • 合并集成 Prometheus 和 Telegraf 时,传输 prometheus 和 telegraf 指标使用的 Socket。
    • 性能提升
      • ⭐ 降低 Agent 的 eBPF 内核内存开销,默认配置下可降低 60% 的内存消耗。
      • ⭐ 支持利用 BPF FANOUT 机制提升采集性能,文档
      • 当协议头中存在 TraceID 时,支持关闭 eBPF syscall_trace_id 计算,以降低对业务性能的影响,文档
      • 支持完全关闭 cBPF 数据采集(通过配置 inputs.cbpf.af_packet.interface_regex 为空字符串),以降低内存开销,文档
      • 支持 deepflow-agent 使用一个 Socket 传输所有观测数据,文档
      • 在 Linux 启用了 BTF(BPF Type Format)的情况下,当 X86 架构下内核大于等于 5.5 (opens new window)、ARM 架构下内核大于等于 6.0 (opens new window) 时,agent 将会自动使用 fentry/fexit 替代 kprobe/kretprobe,此时可获得约 15% 的性能提升。
  • 易用性改进
    • 大幅度缩减 Web 页面的 URL 长度,在 URL 中记忆 Web 页面右滑框的激活状态。
    • 采集器列表中展示所属容器集群。
    • 优化导航栏的中英文展示。

#5.3 账号

  • 多租户支持
    • ⭐ 支持设置租户可见的页面、资源、数据库/数据表/数据字段/字段枚举值。
    • ⭐ 支持单独指定云平台某个附属容器集群的所属团队,使得不同团队可管理自己的容器集群。
    • 管理员对组织内租户不可见。
    • 普通管理员加入租户组织时默认为访客身份。
    • 不允许租户创建组织。

#6. 不兼容修改

  • AutoTracing
    • 为了降低资源开销并避免误识别,agent 默认仅会解析如下应用协议(如需开启其他协议的解析请配置 l7-protocol-enabled):
      • HTTP、HTTP2/gRPC、MySQL、Redis、Kafka、DNS、TLS。
      • 提醒:当使用 Wasm 解析私有协议时,请将 Custom 添加到 l7-protocol-enabled 中。
  • Agent
    • 原有的环境变量 ONLY_WATCH_K8S_RESOURCE 已被替代为 K8S_WATCH_POLICY文档
  • API
#Functions Response Size (Byte) Download Time
Before 450,000 21.9M 6.16s
After 450,000 3.07M 0.78s