v6.5 CE Release Notes
创建时间:2024-07-05 最近修改时间:2024-08-08
#1. 致谢社区贡献者
eltociear
PR-#6880 (opens new window): [DOC] add Japanese READMEimroc
PR-#6843 (opens new window): add agent plugins Cargo.lock to gitignorejeffrey4l
PR-#6631 (opens new window): fix LE_IPV4_PROTO_TYPE_I varible value in commentrosenlo
PR-#6445 (opens new window): [Server] improve the recognition rate of the vinterface of the EKS nodeasdfsx
PR-#6385 (opens new window): [Server] update go.mod & set ip_info.py encodingrosenlo
PR-#6368 (opens new window): fix: missing string format parametertestwill
PR-#6316 (opens new window): fix: typoszhangzujian
PR-#6301 (opens new window): bump golang.org/x/net to v0.24.0CherishCai
PR-#6259 (opens new window): [Agent] Typo: flow_id -> acl_gidsCherishCai
PR-#6148 (opens new window): [Agent] Typo: namespaces -> servicesdzy176
PR-#6110 (opens new window): [Agent] fix mongo header parserZhuoZhuoCrayon
PR-#5903 (opens new window): [Agent] Support invoking wasm_hook after parsing HTTP2 and gRPCzhangzujian
PR-#5744 (opens new window): bump go modulesDrAuYueng
PR-#5558 (opens new window): Fix typo in commentsjeffrey4l
PR-#5561 (opens new window): [Libs]Use spaces instead of tabs for ip_info.py filedenglouping
PR-#5412 (opens new window): fix compile agent errorcrazytaxii
PR-#5260 (opens new window): [Server] Add a Dockerfile for building serverzhangzujian
PR-#5121 (opens new window): [Server] fix log formatzhangzujian
PR-#5108 (opens new window): [Server] bump golang.org/x/crypto to v0.17.0chenjiandongx
PR-#5109 (opens new window): chore: promwriter 细节优化xiaoziv
PR-#4620 (opens new window): [Agent] optimize agent standalone mode
#2. v6.5.9 [2024/06/20]
#2.1 Stable Feature
- eBPF AutoTracing
- 新增 ZeroMQ ZMTP 协议的解析能力,文档见此。
- 支持采集 MySQL 登录用户名、当前数据库名,文档见此。
- 支持 gRPC Streaming 通信模式的调用日志采集和分布式追踪(感谢
ZhuoZhuoCrayon
:FR (opens new window))。
- AutoTagging
- 大幅提升 K8s 标签注入的实时性,优化前代码路径涉及 5 个独立的 1min 定时器,优化后只涉及到 1 个 10s 定时器和 1 个 1min 定时器,最极端情况下的时延从 5min 降低到 1m20s(agent 对 K8s 资源的 list/watch 最多可能跨越两个周期,因此最坏可能产生 20s 的时延)。
- 解耦云资源和容器资源的同步,使得公有云 API 的错误不影响容器资源标签的同步。
- Integration
- 支持集成 Datadog Vector (opens new window) 采集的应用日志。
- 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 通信模式的调用日志采集和分布式追踪(感谢
ZhuoZhuoCrayon
:FR (opens new window))。
- 支持 gRPC Streaming 通信模式的调用日志采集和分布式追踪(感谢
- 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
- 支持配置调用日志黑名单,降低存储消耗和指标干扰(感谢
chrisdamon
和novohool
:FR (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
(文件读写事件)。
- 指标:
- Prometheus Remote Write 支持导出
#4. v6.5.7 [2024/05/23]
#4.1 Backward Incompatible Change
- eBPF AutoProfiling
- API
profile/ProfileTracing
返回的self_value
、total_value
单位修改为微秒(us),文档见此,修改历史见此 (opens new window)。
- API
- AutoTagging
- 不再同步云资源中的安全组信息
#4.2 Beta Feature
- Integration
- 支持集成 Vector 采集的日志数据,并支持日志数据的 AutoTagging,文档见此。
- AutoTagging
auto_service
标签自动将容器节点(pod_node
)聚合为容器集群(pod_cluster
),但auto_instance
仍然不会做此聚合。- 当一个 K8s 工作负载(
pod_group
)关联了多个容器服务时,使用字典序最小的服务名标记容器服务(pod_service
)标签。
- Agent
- 支持配置调用日志黑名单,降低存储消耗和指标干扰(感谢
chrisdamon
和novohool
:FR (opens new window))。
- 支持配置调用日志黑名单,降低存储消耗和指标干扰(感谢
#4.3 Stable Feature
- eBPF AutoMetrics
- 支持解析预编译 SQL 语句
COM_STMT_EXECUTE
中的变量值,文档见此。 - 调用日志增加采集包长指标
captured_request_byte
、captured_response_byte
,文档见此 (opens new window)。
- 支持解析预编译 SQL 语句
- eBPF AutoTracing
- 新增 Pulsar 协议的解析能力,文档见此。
- 支持使用 Wasm Plugin 增强 Dubbo 协议的解析,Demo 见此 (opens new window)。
- Kafka 协议解析增强,增加对 Partition、Offset、GroupID 字段以及 JoinGroup、LeaveGroup、SyncGroup 消息的解析能力,文档见此(感谢
andyidea
:FR (opens new window))。
- Server
flow_log
和event
数据库中的数据支持使用_id
字段精确搜索。
- Agent
- 支持远程升级 K8s 中的 deepflow-agent,文档见此。
- 支持通过 agent-group-config 自动配置 deepflow-agent K8s Daemonset 的 CPU、Memory Limit,配置参数见此 (opens new window)。
#5. v6.5.6 [2024/05/10]
#5.1 Backward Incompatible Change
#5.2 Beta Feature
- eBPF AutoMetrics
- 支持解析预编译 SQL 语句
COM_STMT_EXECUTE
中的变量值,文档见此。 - 调用日志增加采集包长指标
captured_request_byte
、captured_response_byte
,文档见此 (opens new window)。
- 支持解析预编译 SQL 语句
- 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
(文件读写事件)。
- 指标:
- Prometheus Remote Write 支持导出
#5.3 Stable Feature
- eBPF AutoTracing
- 新增 bRPC 协议的解析能力,文档见此。
- Distributed Tracing 中 NET Span 的父子逻辑优化。
- Agent
- 增加
flow-count-limit
配置参数,避免突发流量下 agent 消耗过多内存,防止触发 OOM Killer。
- 增加
- Docs
- 新增 Agent 性能调优文档。
- 新增 不允许 deepflow-agent 请求 apiserver 场景下的部署方案。
- 新增 使用非 root 用户运行 deepflow-agent 的指导文档。
#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
#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 ✨
- 在 Grafana 中为 DeepFlow Topo 、DeepFlow Tracing Panel 增加
AskGPT
Copilot:Demo1 (opens new window)、Demo2 (opens new window),目前支持的大模型有 GPT4、通义千问、文心一言、ChatGLM。
- 在 Grafana 中为 DeepFlow Topo 、DeepFlow Tracing Panel 增加
- eBPF AutoTracing
- 新增 bRPC 协议的解析能力,文档见此。
#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
#8.2 Stable Feature
- eBPF AutoMetrics
- 网络指标改名:建连-客户端 SYN 结束(
client_syn_repeat
)改名为建连-服务端 SYN 缺失(server_syn_miss
),并被算入服务端异常
。 - 网络指标改名:建连-服务端 SYN 结束(
server_syn_repeat
)改名为建连-客户端 ACK 缺失(client_ack_miss
),并被算入客户端异常
。
- 网络指标改名:建连-客户端 SYN 结束(
- AutoTagging
- 支持自定义采集 HTTP/HTTP2/gRPC 头部字段并存储于调用日志的
attribute.$field_name
字段中,详见文档。
- 支持自定义采集 HTTP/HTTP2/gRPC 头部字段并存储于调用日志的
- 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
的异常码。
- 默认开启系统负载熔断机制,当系统负载与 CPU 核数的比例超过
[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
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
),并被算入客户端异常
。
- 网络指标改名:建连-客户端 SYN 结束(
#9.2 Stable Feature
- AutoTracing、AutoMetrics
- 新增 RabbitMQ AMQP 协议的解析能力,文档见此。
- 将 MySQL 单向消息(
CLOSE
、QUIT
)的日志类型直接标记为会话。 - 支持提取 Kafka 协议头中的
correlation_id
为x_request_id_0/1
,自动追踪 Request-Response 模式的 Kafka 调用链(感谢h453693821
:FR (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_map
、flow_metrics.application_map
)中不再将广域网服务端聚合为 0.0.0.0。 - 指标(
flow_metrics.network_map
、flow_metrics.application_map
)中不再将无任何标签的私有 IP 地址(192.168/172.16/10/169.254)标记为广域网。
- 增强 Kafka 解析能力:支持将
- 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 单向消息(
CLOSE
、QUIT
)的日志类型直接标记为会话。 - 支持提取 Kafka 协议头中的
correlation_id
为x_request_id_0/1
,自动追踪 Request-Response 模式的 Kafka 调用链(感谢h453693821
:FR (opens new window))。
- AutoTagging
- 增强 Kafka 解析能力:支持将
topic_name
提取为endpoint
。 - 网络流日志中增加
request_domain
字段,与应用指标、调用日志自动关联。 - 所有数据增加容器节点主 IP(
pod_node_ip
)和主机名(pod_node_hostname
)标签。 - 所有数据增加云服务器主 IP(
chost_ip
)和主机名(chost_hostname
)标签。
- 增强 Kafka 解析能力:支持将
- 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
。
- FastCGI、MQTT、DNS 协议支持提取
- 部署
#11. v6.5.0 [2024/02/06]
N/A