v6.2 EE Release Notes

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

#1. 应用、网络、指标、事件

  • AutoTracing
    • 支持零插码的 Golang 应用分布式追踪
    • 增加文件 IO 事件性能数据,并与调用日志关联
  • 全景服务拓扑 / Universal Service Map
    • 支持零插码自动展现进程粒度的全景应用拓扑
    • 支持利用 TOA(TCP Option Address)机制计算 NAT 前、后的真实访问关系
    • 将 OpenTelemetry Span 数据预聚合为服务和路径指标
    • 使用操作系统的 Socket 信息校正路径数据的方向
    • 增加方向得分指标,得分越高时客户端、服务端方向的准确性越高,得分为 255 时方向一定是正确的。
    • 支持按 Custom Tag(如 k8s.label.xxx)作为分组条件展示应用拓扑
  • 私有协议解析、业务字段解析
    • 新增 WebAssembly Plugin 机制,支持添加私有协议的解析,以及增强标准协议的字段解析能力,具体文档见此
  • 新增持续剖析功能
    • 支持 Java、Golang Native Profile 的采集和展示
  • 网络 NAT 追踪、流日志、流量下载
    • PCAP 策略关联的流日志不做限速
    • 支持查看指定 PCAP 策略的流日志
    • 非 TCP 的流日志,将其状态统一设置为正常
    • PCAP 下载的最小时间跨度降低至 1s
    • 支持基于 PCAP 策略直接下载流量
  • 云网流量分发
    • 支持使用 TCP 隧道分发流量
    • 按分发点分别显示分发策略匹配的流量大小
    • 支持在分发策略中预配置尚未创建的工作负载和容器服务
  • 易用性改进
    • 数据关联
      • 右滑框指标页卡中支持切换分组条件,便于下钻
    • 页面操作
      • 扩大模板变量支持的字段类型
      • 表格页面增加左侧快速过滤功能
      • 指标量高级配置下拉框支持搜索过滤
      • 提升表格列选择的易用性
      • 支持从 TCP 时序图页面直接下载 PCAP 文件
      • 支持配置指标模板,在子视图中快速选择常用指标集
      • 增强子视图 Tip 显示的控制能力
      • 右滑页面、流日志调用日志详情页面中的标签支持快捷复制,支持快速过滤
      • 优化右滑框流量关系页卡中的过滤逻辑,避免歧义
      • 支持将历史搜索条件设置为页面默认加载内容
      • 所有子视图的全屏显示改为弹窗显示
      • 支持在搜索框中直接修改路径选项
      • 优化调用链追踪火焰图的操作和展示,并支持过滤展示 APP/SYS/NET Span
    • 新增页面
      • 调用链追踪增加拓扑图展现形式
      • 增加服务列表页面,汇总展现 OTel、eBPF、Packet 信号源的服务粒度的指标数据
      • 增加端点监控页面,支持从服务列表页关联展开
    • 精简页面
      • 合并路径、流日志/调用日志页面
    • 页面展示
      • 优化显示网络路径中采集网卡对应的资源,当找不到对应的资源时显示未采集器
      • 优化右滑页面中知识图谱信息的展示
      • NAT 追踪页面使用瀑布拓扑的呈现方式,并加入物理拓扑的展示
      • 优化右滑页面中网络路径的展示,支持默认展示物理网络路径
      • 流日志、调用日志等页面的空值标签不显示
      • 支持为历史搜索条件添加描述信息
      • 优化搜索框字段的文案展示,提供更多帮助信息
      • 展示数据表中,枚举值字段的取值及描述信息
      • 预判目标页面无数据时,提前将跳转按钮置灰
      • 调整优化页面排布,空间利用更加合理,增大展示的信息量
      • 使用 auto_instance、auto_service 替代难以理解的 resource_gl0/gl1/gl2

#2. 视图、告警、报表

  • 优化告警事件中触发值的展示,展示为当前值而非触发值
  • 梳理所有系统告警的文案
  • 采集器、数据节点的所有丢包环境均阈值告警策略

#3. 资源

  • AutoTagging
    • 支持同步容器节点、云服务器上的进程信息,并作为 Universal Tag 注入到所有数据中,支持过滤与分组
    • 支持为进程、云服务器、K8s Namespace 增加自定义元数据
    • 支持自动同步 AWS 和阿里云账号下的 K8s 集群信息
    • 支持同步百度云云智能网(CSN)资源信息
    • Custom Tag 字段 k8s.label 增加对 K8s Service 的支持
    • 当 K8s Pod 作为多个 K8s Service 的后端时,所有标签中仅关联字典序最小的服务
  • 易用性
    • 支持批量录入负载均衡器及其监听器的信息
    • 支持批量录入 Gateway 类型的宿主机及其网卡
    • 支持统一设置公有云账号下所有托管 K8s 集群的额外对接路由接口
  • 兼容性
    • 适配 K8s 1.18、1.20 的资源信息同步
    • 华为公有云增加域名和 IAM 授权地址两项配置,以适配 HCSO 场景

#4. 系统

  • API
    • Querier 新增支持 PromQL
      • 支持通过 PromQL 查询 DeepFlow 原生指标
      • 支持通过 PromQL 查询 Prometheus RemoteWrite 的指标
      • 查询 Prometheus 原生指标时,支持使用 DeepFlow AutoTagging 自动注入的标签
    • Ingester 新增支持 OTLP Export
    • Querier SQL API
      • 提供 Trace 补齐 API tracing-completion-by-external-app-spans:调用者传入一组 APP Span(无需存储于 DeepFlow 中),获取它们上下游的 SYS/NET Span,为传统 APM 增加基础设施、未插码服务的追踪能力,具体文档见此
      • 补齐对 AS 关键词的支持,并在结果中返回 AS 之前的原始字段名
      • 获取 enum 类型 Tag 字段的可选值时,返回取值对应的描述信息
      • 新增 SLIMIT 参数以限制返回结果中的 Series 数量
      • 自定义类型的 Tag(k8s.label/cloud.tag/os.app)的 Category 统一为 map_item
      • 增加三个 Universal Tag:tap_port_host、tap_port_chost、tap_port_pod_node,分别表示采集网卡所属的宿主机、云服务器、容器节点
  • Grafana
    • Prometheus Dashboard 无需修改即可使用 DeepFlow 作为数据源
    • Query Editor 中,对于 Math 算子支持引用 $__interval 变量
    • 优化 Enum 类型的 Variable,避免选择 All 时在 SQL 中将所有候选值全部展开
    • 增加 Grafana backend 插件模块,支持标准的 Grafana 告警策略配置
    • 支持定义 Variable 时引用另一个 Variable 变量
    • 编辑 Query Editor 内容时实时展示对应的 SQL 语句
  • eBPF
    • 当应用进程仅作为客户端时,避免 eBPF 将所有请求关联至同一个 Trace
    • 简化 eBPF 代码中的协议识别逻辑
  • 兼容性
    • 采集器支持运行于低于 3.0 的 Linux Kernel 环境中
    • 支持指定采集器所在环境的 Hostname,适用于主机名冲突的环境
    • 提供两种 deepflow-agent 二进制包:动态链接、静态链接,前者依赖 glibc 动态链接库,后者在多线程下 malloc/free 锁竞争明显
    • eBPF 程序支持利用 BTF 文件自动适配内核偏移量
  • 控制器与数据节点管理
    • 支持 ClickHouse 节点数大于 deepflow-server 副本数
    • 支持为 deepflow-agent 指定域名形式的 controller 或 ingester 地址
    • 支持配置小时粒度的数据存储时长
    • 数据时长的配置 API 修改为异步,避免超时
    • 增加报表服务的自监控
  • 采集器管理
    • 支持创建采集器组(agent-group)时指定 Group ID
    • 支持 deepflow-agent 以普通进程(而非 Pod)形态运行于 K8s Node 上
    • 当 agent 运行环境的 ctrl_ip 或 ctrl_mac 发生变化时,支持自动更新 agent 的相应信息,避免失联
    • 远程升级云服务器上的 deepflow-agent 可完全通过 deepflow-ctl 完成,无需为 deepflow-server 手动挂载 hostPath
    • 支持配置 Agent list k8s 资源的时间间隔,降低对 apiserver 的压力
    • 仅有网络监控授权时,增加支持应用菜单下的 HTTP、DNS 查看能力
    • 自动删除失联时间超过 vtap_auto_delete_interval 的 Agent,默认在失联超过 1 小时后进行删除
  • Debug
    • 所有 DeepFlow 自监控指标的采集间隔调低到 10s
    • 在 tap_port 字段中嵌入 eBPF 数据来源信息(syscall、go-tls、go-http2、openssl、io-event),增强 Debug 能力
    • deepflow-server 支持通过 continue profile 监控自身
  • 各个软件组件的一系列性能优化