v6.6 EE Release Notes
#1. 业务和应用
#1.1 业务观测
- 数据关联
- ⭐ 全景图支持展示告警事件。
- 易用性提升
- 优化拓扑样式。
#1.2 应用观测
- AutoTracing
- ⭐ 新增调用链拓扑(
TraceMap
)能力,实时计算搜索条件命中的所有 Trace 的聚合拓扑图,帮助用户快速梳理软件架构、全局定位性能瓶颈。 - ⭐ 支持使用 Wasm Plugin 增强 HTTP2/gRPC 调用日志(目前尚不支持对 eBPF uprobe 数据的增强),文档。
- ⭐ 文件读写事件支持采集文件名的全路径,支持采集读写文件的 offset。
- 支持 Memcached 协议的采集和追踪,文档。
- 支持 Tars 协议的采集和追踪,文档。
- 支持 Ping 协议的采集和追踪,文档。
- 支持 Dubbo 协议使用 Fastjson 序列化时的采集和追踪,文档。
- 支持解析 MySQL 的 Login Response 语句,支持解析被截断的 MySQL 协议内容。
- 优化 unary 类型 gRPC 调用的解析,文档。
- 支持解析 TCP Payload 中的多个 DNS 请求,支持解析 SRV 类型的 DNS 调用日志,文档 (opens new window)。
- 支持 Some/IP 协议的采集和追踪。
- 新增 HTTP 协议 URL 脱敏能力、默认开启 Redis 协议脱敏,文档。
- 优化网络 Span 追踪所使用的 NTP 时钟偏差(
host_clock_offset_us
)和网络传输时延(network_delay_us
)配置参数默认值,降低误匹配概率。 - 优化 OTel Span 中 schema/target 等字段到
l7_flow_log
的映射,文档。 - 支持采集 Unix Socket 的调用日志,支持 TCP/UDP Socket 调用日志与 Unix Socket 调用日志之间的自动追踪。
- 丰富文件读写事件采集的 eBPF Hook 点,提升适配性。
- 支持解析博睿、听云、云智慧 APM 的 TraceID 和 SpanID。
- 支持跨线程分析当前 Span(客户端进程位置的系统 Span)的父 Span。
- ⭐ 新增调用链拓扑(
- AutoMetrics
- 支持同会话中的请求和响应指标时间戳对齐,帮助 AIOps 系统更好的实现根因定位。
- AutoTagging
- 支持聚合采集 Open vSwitch bond interface 的多个成员物理网卡的流量,文档。
- 正确标记 K8s Node 上 loopback 网卡流量的 Universal Tag。
- ⭐ 优化调用日志、文件读写事件数据中
process_kname
字段的含义,从内核线程名
优化为系统进程
名,提升易读性。 - ⭐ 优化调用日志的响应状态(
response_status
)字段含义,并优化页面提示信息。- 正常:响应码正常。
- 客户端异常:响应码表示的含义为客户端侧的异常,例如 HTTP 4XX。
- 服务端异常:响应码表示的含义为服务端侧的异常,例如 HTTP 5XX。
- 超时:在一定时间内未采集到响应时,请求会标记为超时。
- 采集器
应用会话合并超时设置
配置:DNS 和 TLS 默认 15s,其他协议默认 120s,文档。
- 采集器
- 未知:并发请求量超出采集器缓存能力时,最老的请求会标记为未知。
- 采集器
会话聚合最大条目数
配置:默认缓存 64K 条请求,文档。
- 采集器
- 解析失败:采集到了响应,但由于内容被截断或被压缩等原因,未能解析到响应码。
- 采集器
Payload 截取
配置:默认解析 Payload 前 1024 字节,文档。
- 采集器
- 搜索能力
- 新增
应用搜索
模式,可快速点选服务(app_service
)和实例(app_instance
),可快速输入端点(endpoint
)和 TraceID。 - 优化搜索框的布局,优化快速点选框的显示样式。
- 新增
- 性能提升
- 优化调用链追踪 API 性能。
- 易用性提升
- ⭐ 调用链追踪增加
后端分析
能力,智能引导用户在 eBPF AutoTracing 断链的情况下快速追踪到对后端的请求。 - ⭐ 支持快速查看系统 Span 对应的持续剖析和实时剖析数据。
- ⭐ 调用链追踪支持
瀑布列表
的显示模式。 - ⭐ deepflow-agent 支持直接接收 SkyWalking、Datadog 的追踪数据,无需经过 otel-collector 转发。
- ⭐ 调用链追踪火焰图自动校正不同机器的细微时钟偏差。
- ⭐优化
网络路径
右滑页的易用性。 - 优化开启 eBPF uprobe 功能的进程配置能力,文档。
- 优化调用链追踪页面:左侧快速过滤框顺序调整、增加趋势分析折线图、优化调用日志详情表格。
- 资源分析、路径分析、拓扑分析页面支持自动选择最合适的指标时间粒度进行查询,以优化查询速度。
- 资源分析、路径分析、拓扑分析页面支持快速过滤指标量的值域。
- 右滑页面中的调用日志默认仅展示异常条目。
- 优化拓扑图中 Tip 的展示位置。
- 优化标签分类的中英文展示。
- 丰富页面左侧快速过滤框。
- 优化搜索框候选项的显示顺序。
- ⭐ 调用链追踪增加
#1.3 代码观测
- AutoProfiling
- 性能提升
- ⭐ Java 进程符号表同步机制优化,对业务进程引入的瞬时 CPU 消耗降低了约 50%。
- ⭐ 函数栈合并效率提升,降低函数栈上报的资源开销,在同名线程较多的场景下有显著性能提升。
- ⭐ 支持压缩传输 Profiling 数据,带宽消耗降低 30%。
- ⭐ 支持压缩发送调用日志和流日志,测试环境下调用日志压缩率可达 8:1,文档。
- 实时剖析
- ⭐ 支持使用 JVM API 获取 Java 进程的函数栈、GC 统计信息、Heap 统计信息。
- Grafana
- 支持在 Grafana Panel 中查看 DeepFlow eBPF On-CPU Profiling 数据。
- 易用性提升
- 优化开启 Profile 功能的进程配置能力,文档。
- 优化火焰图中函数类型的展示。
- 优化内存剖析火焰图的文案。
- 丰富页面左侧快速过滤框。
- 优化搜索框候选项的显示顺序。
- 默认采集
Java/Python
的 OnCPU 剖析数据。 - 默认采集
deepflow-*
的 OnCPU 剖析数据。
#2. 基础设施
#2.1 资产观测
- ⭐ 新增资产观测功能,支持以云主机和容器资源的视角查看观测数据。
#2.2 网络观测
- AutoTagging
- 支持聚合采集 Open vSwitch bond interface 的多个成员物理网卡的流量,文档。
- 正确标记 K8s Node 上 loopback 网卡流量的 Universal Tag。
- PCAP
- ⭐ 支持在线分析 PCAP 包数据。
- 性能提升
- 优化 NAT 追踪 API 性能。
- 易用性提升
- ⭐优化
网络路径
右滑页的易用性。 - 页面上所有流量速率的默认单位从字节每秒(
Bps
)修改为比特每秒(bps
)。 - 网络流日志(
l4_flow_log
)中的非 TCP 流量,将其结束状态(close_type
)从超时调整为正常结束(1)。 - 资源分析、路径分析、拓扑分析页面支持自动选择最合适的指标时间粒度进行查询,以优化查询速度。
- 资源分析、路径分析、拓扑分析页面支持快速过滤指标量的值域。
- 专属采集器
采集网卡=其他网卡
的流量计入资源指标量中。 - 支持隧道流量与非隧道流量聚合,解决非对称路径流量聚合问题。
- 开启 TCP 包头或 PCAP 数据的采集时,自动开启网络流日志的采集。
- 优化 NAT 追踪页面信息栏的展示。
- 优化拓扑图中 Tip 的展示位置。
- 右滑页面中的流日志默认仅展示异常条目。
- 优化标签分类的中英文展示。
- 提供流日志结束类型(
close_type
)的图形化释义。 - 丰富页面左侧快速过滤框。
- 优化搜索框候选项的显示顺序。
- ⭐优化
#2.3 流量分发
- ⭐ 流量分发支持 ZMQ 协议。
- 分发策略支持指定采集器组。
#3. 集成
#3.1 拨测中心
- 实时拨测
- ⭐ deepflow-agent 进程内部内置拨测能力,无需安装拨测命令的二进制文件。
- 支持的命令包括:ping、tcpping、curl、dig、traceroute。
- 支持进入业务 Pod 执行拨测命令。
#4. 自定义
#4.1 视图
- 子视图增强
- ⭐ 聚合指标和概览图支持 PromQL 查询,以增强 Prometheus 指标在视图中的展示能力。
- 优化子视图 Tip 显示,在有多个查询条件时显示查询名,在仅有单个指标时紧凑(忽略)显示指标名。
- 拓扑图支持设置路径指标的(相邻两跳的)差量的阈值。
- 表格支持更丰富的颜色设置。
- 子视图支持设置图例的颜色。
- 优化饼图的自定义能力。
- 增加放大查看的能力。
- 指标单位设置方式统一。
- 易用性提升
- 简化子视图指标别名、单位、阈值的设置方式。
- 资源变更事件、文件读写事件的右滑详情页优化。
- 优化右滑页面的 Tab 页展示。
- 支持为视图添加标签。
- 支持复制整个视图。
- 优化图例展示。
#5. 集成
#5.1 日志中心
- 性能提升
- ⭐ 应用日志数据支持压缩传输,带宽消耗降低 95%(CPU 消耗增加 3%)。
- 易用性提升
- 优化搜索框,固定选中应用服务(
app_service
)过滤条件。
- 优化搜索框,固定选中应用服务(
#6. 运营
#6.1 告警管理
- 告警策略
- ⭐ Email 推送内容支持 Markdown 格式,支持 Jinja2 语法引用标签。
- 搜索模块支持设置指标别名、查看单位。
- 告警事件
- ⭐ 丰富告警事件的 Tag,与所有可观测性数据拉齐。
- 增加
事件分析
页面,统计分析告警事件。
- 推送端点
- 推送至 Kafka 时支持
SCRAM-SHA-256
认证方式。
- 推送至 Kafka 时支持
- 易用性提升
- 优化系统告警事件,展示 DeepFlow 进程异常的详细内部模块名称。
- 优化告警事件右滑框的时间范围展示。
- 性能提升
- 页面加载时间优化。
#6.2 报表管理
N/A
#7. 管理
#7.1 资源列表
- AutoTagging
- ⭐ 支持同步火山引擎资源标签,文档。
- 支持同步 LoadBalancer 类型的容器服务。
- 增强进程同步能力,文档。
- ⭐ 支持仅同步容器内的进程。
- 支持不同步 Socket 信息(仅同步进程信息)。
- 进程资源
- ⭐ 自动将 gprocess 名称记录为 jar/py 文件名,避免均展示为 java/python。
- 将同一个云主机、或同一个 K8s 工作负载中
cmdline
相同的进程聚合为唯一的 gprocess,减少冗余的进程信息。 - 优化进程匹配器的默认值,文档。
- 默认忽略
sleep/sh/bash/pause/runc
进程信息的采集。 - 默认采集
Java/Python
的进程信息。 - 默认采集
deepflow-*
的进程信息。 - 默认采集容器中的进程信息。
- 默认忽略
- 管理能力
- 录入 K8s 集群时支持指定 ClusterID,使得集群重新录入时可复用旧 ClusterID。
- 支持利用 Lua Plugin 自定义 K8s 工作负载抽象规则,文档。
- 限制同一组织同一区域内仅支持一个
采集器同步
类型的云平台。 - 支持通过普通账号的 AK/SK、携带 ResourceGroupId 完成阿里云资源同步。
- 预置资源同步滞后、资源关联关系异常的系统告警。
- 性能提升
- 取消同步 K8s Evicted 状态的 Pod,减少资源开销。
- 优化
genesis*
相关 MySQL 表的存储性能。
- 适配性优化
- 当云平台(Domain)配置了区域白名单时,不再需要调用 Region API。
- 阿里云、腾讯云的 NAT 网关、路由表、负载均衡器获取失败时不影响其他资源信息的同步。
#7.2 系统管理
- Server
- ⭐ 支持使用 OceanBase 替换 MySQL。
- ⭐ 支持使用 ByConity 替换 ClickHouse,文档。
- ⭐ 支持使用 ClickHouse 企业版(目前仅支持阿里公有云),文档 (opens new window)。
- 支持终止采集器远程升级,优化升级时 Server 的 CPU 资源开销。
- 默认聚合生成粒度为 1h、1d 的网络性能指标和应用性能指标。
- 数据导出(Kafka/Promtheus/OTel)的过滤器(
tag-filters-groups
)支持填写多组,以实现逻辑或的语义。 - 统一 deepflow-server 中各模块的日志格式。
- 支持设置最长查询时长,避免大时间尺度的查询消耗过多资源。
- 性能提升
- ClickHouse 通过代理访问 MySQL 获取字典数据,降低 MySQL 连接数、优化跨 Region 带宽消耗。
- Agent
- ⭐ OneAgent:支持使用 deepflow-agent 采集应用日志、主机系统指标、K8s 容器系统指标。
- ⭐ OneAgent:支持使用 deepflow-agent 进行持续拨测。
- ⭐ 安全性:支持限制 deepflow-agent 使用的 Socket 数量,文档。
- ⭐ 配置重构,大幅提升易用性,文档。
- ⭐ 支持采集非 Open vSwitch 的 DPDK KVM 宿主机上的虚拟和物理网卡流量,文档。
- 支持采集 Pod 内部网卡的流量,适用于 Root 网络命名空间下无法直接采集 Pod 网卡流量的场景(例如华为云 CCE Turbo CNI (opens new window)),文档。
- 适配同主机上虚拟网卡 MAC 地址相同的 K8s CNI。
- 支持通过环境变量指定和禁用 K8s List & Watch,文档。
- 支持解封装 VXLAN 类型的远程镜像流量,文档。
- 专属采集器支持设置为忽略 PCP 处理镜像流量,文档。
- 专属采集器支持按 QinQ 内层 VLAN 计算网络位置(
capture_network_type
),文档。 - 专属采集器默认不限制并发流数量与策略模块的内存开销,文档。
- 空闲内存熔断机制支持使用 available 内存指标,文档。
- 限制 agent 发送数据的带宽消耗,默认允许发送 100Mbps 的数据,文档。
- Agent 发送流量达到限速时,支持选择
丢弃
或等待
的应对策略,默认行为丢弃,可配置为等待以提升数据发送成功率,文档。 - 优化应用协议识别失败时的资源开销保护机制,避免误禁止应用协议的解析,文档。
- 新增 Agent 运行环境磁盘空闲量的熔断机制,文档。
- 支持禁止 Agent 使用 Swap 内存,文档。
- 优化:减少 Agent 在禁用状态所做的工作。
- 减少 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 机制提升采集性能,文档。
⭐ 性能:优化 Agent 中用于应用性能指标的 Cache 的内存占用,通过及时清理失效的 LRU 条目,测试环境下可见整体内存消耗降低 43%。
⭐ 性能:聚合存储 LB 探活产生的流日志,某生产环境下降低了将近 50% 的流日志存储开销,文档。
⭐ 性能:提升调用日志在 agent 侧的合并成功率,显著降低
response_status = Unknown
的调用日志比例,测试环境下可见 50% 的未知比例降低。当协议头中存在 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 页面右滑框的激活状态。
- 采集器列表中展示所属容器集群。
- 优化导航栏的中英文展示。
#7.3 账号
- 多租户支持
- ⭐ 支持设置租户可见的页面、资源、数据库/数据表/数据字段/字段枚举值。
- ⭐ 支持单独指定云平台某个附属容器集群的所属团队,使得不同团队可管理自己的容器集群。
- 管理员对组织内租户不可见。
- 普通管理员加入租户组织时默认为访客身份。
- 不允许租户创建组织。
#8. 不兼容修改
- AutoTracing
- 为了降低资源开销并避免误识别,agent 默认仅会解析如下应用协议(如需开启其他协议的解析请配置
l7-protocol-enabled
):- HTTP、HTTP2/gRPC、MySQL、Redis、Kafka、DNS、TLS。
- 提醒:当使用 Wasm 解析私有协议时,请将 Custom 添加到
l7-protocol-enabled
中。
- 为了降低资源开销并避免误识别,agent 默认仅会解析如下应用协议(如需开启其他协议的解析请配置
- Agent
- 原有的环境变量
ONLY_WATCH_K8S_RESOURCE
已被替代为K8S_WATCH_POLICY
,文档。
- 原有的环境变量
- API
- Profiling API 使用 Dataframe 返回格式压缩响应体积,提升 API 性能,PR (opens new window),文档。
#Functions | Response Size (Byte) | Download Time | |
---|---|---|---|
Before | 450,000 | 21.9M | 6.16s |
After | 450,000 | 3.07M | 0.78s |