v6.5 CE Release Notes

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

#1. 致谢社区贡献者

#2. v6.5.9 [2024/06/20]

#2.1 Stable Feature

  • eBPF AutoTracing
    • 新增 ZeroMQ ZMTP 协议的解析能力,文档见此
    • 支持采集 MySQL 登录用户名、当前数据库名,文档见此
    • 支持 gRPC Streaming 通信模式的调用日志采集和分布式追踪(感谢 ZhuoZhuoCrayonFR (opens new window))。
  • AutoTagging
    • 大幅提升 K8s 标签注入的实时性,优化前代码路径涉及 5 个独立的 1min 定时器,优化后只涉及到 1 个 10s 定时器和 1 个 1min 定时器,最极端情况下的时延从 5min 降低到 1m20s(agent 对 K8s 资源的 list/watch 最多可能跨越两个周期,因此最坏可能产生 20s 的时延)。
    • 解耦云资源和容器资源的同步,使得公有云 API 的错误不影响容器资源标签的同步。
  • Integration
  • Server
    • 增加 Agent 是否请求 Server NAT IP 的全局配置,适用于 Agent 全部通过公网请求 Server 的场景。
  • Agent
    • 支持采集 Open vSwitch Bond 子接口的流量,并正确聚合成流日志和调用日志。
    • eBPF 采集性能提升【测试数据待补充】。

#3. v6.5.8 [2024/06/06]

#3.1 Beta Feature

  • eBPF AutoTracing
    • 支持 gRPC Streaming 通信模式的调用日志采集和分布式追踪(感谢 ZhuoZhuoCrayonFR (opens new window))。
  • AutoTagging
    • 大幅提升 K8s 标签注入的实时性,优化前代码路径涉及 5 个独立的 1min 定时器,优化后只涉及到 1 个 10s 定时器和 1 个 1min 定时器,最极端情况下的时延从 5min 降低到 1m20s(agent 对 K8s 资源的 list/watch 最多可能跨越两个周期,因此最坏可能产生 20s 的时延)。
    • 解耦云资源和容器资源的同步,使得公有云 API 的错误不影响容器资源标签的同步。

#3.2 Stable Feature

  • AutoTagging
    • auto_service 标签自动将容器节点(pod_node)聚合为容器集群(pod_cluster),但 auto_instance 仍然不会做此聚合。
    • 当一个 K8s 工作负载(pod_group)关联了多个容器服务时,使用字典序最小的服务名标记容器服务(pod_service)标签。
  • Agent
    • 支持配置调用日志黑名单,降低存储消耗和指标干扰(感谢 chrisdamonnovohoolFR (opens new window))。
  • Server
    • Prometheus Remote Write 支持导出 flow_metrics.application*flow_metrics.network* 的指标。
    • 新增 Kafka Exporter 数据导致方式,文档见此,支持导出如下观测信号:
      • 指标:flow_metrics.application*(应用性能指标/访问关系)、flow_metrics.network*(网络性能指标/访问关系)。
      • 日志:flow_log.l4_flow_log(网络流日志)、flow_log.l7_flow_log(应用调用日志)。
      • 事件:event.perf_event(文件读写事件)。

#4. v6.5.7 [2024/05/23]

#4.1 Backward Incompatible Change

#4.2 Beta Feature

  • Integration
    • 支持集成 Vector 采集的日志数据,并支持日志数据的 AutoTagging,文档见此
  • AutoTagging
    • auto_service 标签自动将容器节点(pod_node)聚合为容器集群(pod_cluster),但 auto_instance 仍然不会做此聚合。
    • 当一个 K8s 工作负载(pod_group)关联了多个容器服务时,使用字典序最小的服务名标记容器服务(pod_service)标签。
  • Agent
    • 支持配置调用日志黑名单,降低存储消耗和指标干扰(感谢 chrisdamonnovohoolFR (opens new window))。

#4.3 Stable Feature

  • eBPF AutoMetrics
  • eBPF AutoTracing
  • Server
    • flow_logevent 数据库中的数据支持使用 _id 字段精确搜索。
  • Agent

#5. v6.5.6 [2024/05/10]

#5.1 Backward Incompatible Change

  • Server
    • Prometheus Remote Write 配置方式调整,文档见此
    • OpenTelemetry Exporter 配置方式调整,文档见此

#5.2 Beta Feature

  • eBPF AutoMetrics
  • Server
    • Prometheus Remote Write 支持导出 flow_metrics.application*flow_metrics.network* 的指标。
    • 新增 Kafka Exporter 数据导致方式,文档见此,支持导出如下观测信号:
      • 指标:flow_metrics.application*(应用性能指标/访问关系)、flow_metrics.network*(网络性能指标/访问关系)。
      • 日志:flow_log.l4_flow_log(网络流日志)、flow_log.l7_flow_log(应用调用日志)。
      • 事件:event.perf_event(文件读写事件)。

#5.3 Stable Feature

#6. v6.5.5 [2024/04/24]

#6.1 Beta Feature

  • eBPF AutoTracing
    • 新增 ZeroMQ ZMTP 协议的解析能力,文档见此
    • Distributed Tracing 中 NET Span 的父子逻辑优化。
  • Agent
    • 支持远程升级 K8s 中的 deepflow-agent,文档见此

#6.2 Stable Feature

  • eBPF AutoTracing
    • 新增 ActiveMQ OpenWire 协议的解析能力,文档见此
    • 新增 NATS 协议的解析能力,文档见此
    • 支持解析 Dubbo 协议的 Kryo 序列化格式,文档见此

#7. v6.5.4 [2024/04/10]

#7.1 Backward Incompatible Change

  • Agent
    • 静态配置项 src-interfaces 合并至动态配置项 tap_interface_regex,降低 MACVlan、华为云 CCE Turbo 等场景下的配置复杂度。

#7.2 Beta Feature

  • AI Copilot
  • eBPF AutoTracing

#7.3 Stable Feature

  • Agent
    • HTTP2 哈夫曼解码性能提升,在限定 deepflow-agent 1 逻辑核的情况下,极限 TPS 采集性能提升 5 ~ 25 倍,测试数据见下表。
随机 Header 数 版本 Agent CPU Agent Memory TPS
3 OLD 96% 34 MB 10K
NEW 97% 94 MB 50K
12 OLD 89% 9 MB 1.2K
NEW 93% 112 MB 30K

#8. v6.5.3 [2024/03/26]

#8.1 Beta Feature

  • eBPF AutoTracing

#8.2 Stable Feature

  • eBPF AutoMetrics
    • 网络指标改名:建连-客户端 SYN 结束(client_syn_repeat)改名为建连-服务端 SYN 缺失(server_syn_miss),并被算入服务端异常
    • 网络指标改名:建连-服务端 SYN 结束(server_syn_repeat)改名为建连-客户端 ACK 缺失(client_ack_miss),并被算入客户端异常
  • AutoTagging
    • 支持自定义采集 HTTP/HTTP2/gRPC 头部字段并存储于调用日志的 attribute.$field_name 字段中,详见文档
  • Server
    • SQL API:加速 Delay 和 BoundedGauge 类型指标量的 Percentile 算子,将编译后的 ClickHouse SQL 层数降低到一层。
  • Agent
    • 默认开启系统负载熔断机制,当系统负载与 CPU 核数的比例超过 system_load_circuit_breaker_threshold 时 Agent 触发熔断机制自动进入禁用状态,详见 Agent 配置样例。当 Agent 进入熔断状态时,从 deepflow-ctl agent list 结果中中可以看到 SYSTEM_LOAD_CIRCUIT_BREAKER 的异常码。
[xy@node100 ~]# deepflow-ctl agent list
ID  NAME                        TYPE     CTRL_IP      CTRL_MAC          STATE  GROUP   EXCEPTIONS                  REVISION
100 lh-2-zqy-10.50.100.82-W1721 CHOST_VM 10.50.100.82 00:50:56:b3:2f:30 NORMAL default SYSTEM_LOAD_CIRCUIT_BREAKER B_LC_RELEASE_v6_4 4575
109 master100-V2                K8S_VM   10.1.20.100  00:16:3e:36:cb:79 NORMAL default                             B_LC_RELEASE_v6_4 4611
1
2
3
4

#9. v6.5.2 [2024/03/12]

#9.1 Beta Feature

  • eBPF AutoMetrics
    • 网络指标改名:建连-客户端 SYN 结束(client_syn_repeat)改名为建连-服务端 SYN 缺失(server_syn_miss),并被算入服务端异常
    • 网络指标改名:建连-服务端 SYN 结束(server_syn_repeat)改名为建连-客户端 ACK 缺失(client_ack_miss),并被算入客户端异常

#9.2 Stable Feature

  • AutoTracing、AutoMetrics
    • 新增 RabbitMQ AMQP 协议的解析能力,文档见此
    • 将 MySQL 单向消息(CLOSEQUIT)的日志类型直接标记为会话。
    • 支持提取 Kafka 协议头中的 correlation_idx_request_id_0/1,自动追踪 Request-Response 模式的 Kafka 调用链(感谢 h453693821FR (opens new window))。
  • AutoTagging
    • 增强 Kafka 解析能力:支持将 topic_name 提取为 endpoint
    • 网络流日志中增加 request_domain 字段,与应用指标、调用日志自动关联。
    • 所有数据增加容器节点主 IP(pod_node_ip)和主机名(pod_node_hostname)标签。
    • 所有数据增加云服务器主 IP(chost_ip)和主机名(chost_hostname)标签。
    • 应用指标和调用日志增加业务类型(biz_type)标签,可配合 Wasm Plugin 使用标识业务类型。
    • 指标(flow_metrics.network_mapflow_metrics.application_map)中不再将广域网服务端聚合为 0.0.0.0。
    • 指标(flow_metrics.network_mapflow_metrics.application_map)中不再将无任何标签的私有 IP 地址(192.168/172.16/10/169.254)标记为广域网。
  • Agent
    • 优化 Redis 和 MySQL 协议解析性能:优化后 Agent 1CPU 300MB 内存可采集 5W TPS MySQL 或 Redis 流量。
  • Server
    • ClickHouse 表名和字段名修改,见下表(废弃名依然可使用,但将会在一年后的大版本中停用)。

flow_metrics 中数据表名称修改:

旧名称 新名称 数据作用
vtap_app_port application 所有服务的应用性能指标
vtap_app_edge_port application_map 所有应用访问关系及其性能指标
vtap_flow_port network 所有服务的网络性能指标
vtap_flow_edge_port network_map 所有网络访问关系及其性能指标
vtap_acl traffic_policy 网络策略指标(仅企业版)

字段名的修改:

旧名称 新名称 数据作用
vtap agent Agent
vtap_id agent_id Agent ID
tap_side observation_point 观测点
tap capture_network_type 网络位置(仅企业版)
tap_port capture_nic 采集网卡标识
tap_port_name capture_nic_name 采集网卡名称
tap_port_type capture_nic_type 采集网卡类型
tap_port_host capture_nic_host 采集网卡所属宿主机(仅企业版)
tap_port_chost capture_nic_chost 采集网卡所属云服务器
tap_port_pod_node capture_nic_pod_node 采集网卡所属容器节点

#10. v6.5.1 [2024/02/27]

#10.1 Beta Feature

  • AutoTracing、AutoMetrics
    • 新增 RabbitMQ AMQP 协议的解析能力,文档见此
    • 新增 ActiveMQ OpenWire 协议的解析能力,文档见此
    • 将 MySQL 单向消息(CLOSEQUIT)的日志类型直接标记为会话。
    • 支持提取 Kafka 协议头中的 correlation_idx_request_id_0/1,自动追踪 Request-Response 模式的 Kafka 调用链(感谢 h453693821FR (opens new window))。
  • AutoTagging
    • 增强 Kafka 解析能力:支持将 topic_name 提取为 endpoint
    • 网络流日志中增加 request_domain 字段,与应用指标、调用日志自动关联。
    • 所有数据增加容器节点主 IP(pod_node_ip)和主机名(pod_node_hostname)标签。
    • 所有数据增加云服务器主 IP(chost_ip)和主机名(chost_hostname)标签。
  • ClickHouse 表名和字段名修改,见下表(废弃名依然可使用,但将会在未来版本中停用)。

flow_metrics 中数据表名称修改:

旧名称 新名称 数据作用
vtap_app_port application 所有服务的应用性能指标
vtap_app_edge_port application_map 所有应用访问关系及其性能指标
vtap_flow_port network 所有服务的网络性能指标
vtap_flow_edge_port network_map 所有网络访问关系及其性能指标
vtap_acl traffic_policy 网络策略指标(仅企业版)

字段名的修改:

旧名称 新名称 数据作用
vtap agent Agent
vtap_id agent_id Agent ID
tap_side observation_point 观测点
tap capture_network_type 网络位置(仅企业版)
tap_port capture_nic 采集网卡标识
tap_port_name capture_nic_name 采集网卡名称
tap_port_type capture_nic_type 采集网卡类型
tap_port_host capture_nic_host 采集网卡所属宿主机(仅企业版)
tap_port_chost capture_nic_chost 采集网卡所属云服务器
tap_port_pod_node capture_nic_pod_node 采集网卡所属容器节点

#10.2 Stable Feature

  • AutoTracing
    • 增强对位于 SQL 语句注释中 TraceID、SpanID 的提取能力,文档见此
  • AutoTagging
    • FastCGI、MQTT、DNS 协议支持提取 endpoint 字段,文档见此
    • A/AAAA 类型的 DNS 调用日志中,将 QNAME 提取为 request_domain
  • 部署
    • Server:支持通过 Docker Compose 部署 All-in-One 节点,文档见此
    • Agent:支持通过 Docker Compose 部署,文档见此

#11. v6.5.0 [2024/02/06]

N/A