DeepFlow 提供了用于可视化网络和应用性能指标的 Grafana 监控面板,以及基于 eBPF 技术的应用自动追踪功能。 要访问 DeepFlow 的 Grafana 监控面板,您需要从 Marketplace 安装 DeepFlow 插件。 安装完成后,您可以通过安装过程中配置的 Ingress 访问 Grafana Web UI。 访问 Grafana Web UI 需要登录凭据。
有关使用 Grafana 监控面板的更多信息,请参阅 Grafana documentation。
登录 Grafana Web UI 需要以下信息,这些信息在安装 DeepFlow 插件时配置:
首次登录后,强烈建议出于安全考虑更改密码。
在 Grafana Web UI 中导航至 Dashboards 部分,即可访问 DeepFlow 提供的各种预配置监控面板。 监控面板分布在两个文件夹中:DeepFlow System 和 DeepFlow Template。
该文件夹包含名为 DeepFlow Agent 的监控面板,提供部署了 DeepFlow 智能体节点的状态和性能信息。
关于网络可观测性,包含如下指标:
| 指标 | 面板 |
|---|---|
| 所有选定智能体的带宽统计 | 带宽 |
| 按平均带宽排序的 Top <agent, signal> | |
| 按总带宽排序的 Top 智能体 | |
| NIC 内核计数器(仅供参考) | 接口丢包 |
| 接口带宽(bps) | |
| 接口包速率(pps) | |
| [dispatcher] AF_PACKET/cBPF 收集器 | 每秒包数 |
| 🔥[CAUTION] 内核丢包(智能体无法处理) | |
| 内核时间戳倒退 > 1ms(仅供参考) | |
| TCP 性能量化 | 忽略的异常 TCP 标志包 |
| TCP 重传不合格包 | |
| 无法识别的 L7 协议包 |
注意:标有 🔥 的面板表示可能存在需要关注的问题。
该文件夹包含多种监控面板,包括网络/L4 指标、应用/L7 指标和自动追踪监控面板。
以下是与网络可观测性相关的监控面板:
| 分类 | 监控面板 | 描述 | 指标/面板 |
|---|---|---|---|
| Network/L4 | Network - Cloud Host | 提供集群主机的网络/L4 指标,包括带宽、包数、流量和 TCP 性能。 | 吞吐量(bps) |
| 重传率 | |||
| TCP 连接建立失败率 | |||
| TCP 连接建立延迟 | |||
| Network - Cloud Host Map | 可视化集群主机的网络拓扑,展示主机间的连接和流量。 | Cloud Host Map | |
| 吞吐量(bps) | |||
| TCP 重传率(%) | |||
| TCP 连接建立失败率(%) | |||
| TCP 连接建立延迟(ms) | |||
| Network - K8s Pod | 提供 Kubernetes Pod 的网络/L4 指标,包括带宽、包数、流量和 TCP 性能。 | 吞吐量(bps) | |
| 重传率 | |||
| TCP 连接建立失败率 | |||
| TCP 连接建立延迟 | |||
| Network - K8s Pod Map | 可视化 Kubernetes Pod 的网络拓扑,展示 Pod 间的连接和流量。 | Pod Map | |
| 吞吐量(bps) | |||
| TCP 重传率(%) | |||
| TCP 连接建立失败率(%) | |||
| TCP 连接建立延迟(ms) | |||
| Network - Flow Log | 展示 Kubernetes Pod 网络流量的详细流日志,包括源和目标 IP、端口、协议等。 | 汇总计数 | |
| 错误计数 | |||
| TCP 建立连接延迟分布 | |||
| TCP 数据延迟分布 | |||
| 流日志 | |||
| Network - Flow Log - Cloud | 展示集群主机网络流量的详细流日志,包括源和目标 IP、端口、协议等。 | 汇总计数 | |
| 错误计数 | |||
| TCP 建立连接延迟分布 | |||
| TCP 数据延迟分布 | |||
| 流日志 | |||
| Application/L7 | Application - Cloud Host | 提供集群主机的应用/L7 指标,包括 HTTP、DNS、MySQL、Redis 和 MongoDB 等协议的请求率、错误率和延迟。 | 请求数 |
| 服务器错误 | |||
| 延迟 | |||
| Application - Cloud Host Map | 可视化集群主机的应用拓扑,展示不同应用间的连接和流量。 | Cloud Host Map | |
| 请求数 | |||
| 服务器错误 | |||
| 延迟 | |||
| Application - K8s Pod | 提供 Kubernetes Pod 的应用/L7 指标,包括 HTTP、DNS、MySQL、Redis 和 MongoDB 等协议的请求率、错误率和延迟。 | 请求数 | |
| 服务器错误 | |||
| 延迟 | |||
| Application - K8s Pod Map | 可视化 Kubernetes Pod 的应用拓扑,展示不同应用间的连接和流量。 | Pod Map | |
| 请求数 | |||
| 服务器错误 | |||
| 延迟 | |||
| Application - Request Log | 展示 Kubernetes Pod 中运行的应用的详细请求日志,包括源和目标 IP、URL、响应码等。 | 汇总计数 | |
| 错误计数 | |||
| 延迟直方图 | |||
| 请求日志 | |||
| Application - Request Log - Cloud | 展示主机网络中运行的应用的详细请求日志,包括源和目标 IP、URL、响应码等。 | 汇总计数 | |
| 错误计数 | |||
| 延迟直方图 | |||
| 请求日志 | |||
| Application - K8s Ingress | 提供 Kubernetes Ingress 资源的应用/L7 指标,包括 HTTP 流量的请求率、错误率和延迟。 | 上游请求地图 | |
| 请求数 | |||
| 延迟 | |||
| 错误 | |||
| 吞吐量 | |||
| Application - DNS Monitoring | 监控 DNS 查询和响应,提供 DNS 性能和潜在问题的洞察。 | DNS 拓扑 | |
| 延迟 | |||
| 错误率 | |||
| 请求数 | |||
| 日志分析 | |||
| Application - SQL Monitoring - K8S | 监控 Kubernetes Pod 中运行的数据库(如 MySQL、PostgreSQL 和 MongoDB)的 SQL 查询和性能。 | SQL 拓扑 | |
| 连接数 | |||
| 延迟 | |||
| 错误 | |||
| 吞吐量 | |||
| SQL 分析 | |||
| Application - SQL Monitoring - Cloud | 监控主机网络中运行的数据库(如 MySQL、PostgreSQL 和 MongoDB)的 SQL 查询和性能。 | SQL 拓扑 | |
| 连接数 | |||
| 延迟 | |||
| 错误 | |||
| 吞吐量 | |||
| SQL 分析 | |||
| Application - Redis Monitoring - K8S | 监控 Kubernetes Pod 中运行的 Redis 实例的命令和性能。 | Redis 拓扑 | |
| 连接数 | |||
| 延迟 | |||
| 错误 | |||
| 吞吐量 | |||
| 日志分析 | |||
| Application - Redis Monitoring - Cloud | 监控主机网络中运行的 Redis 实例的命令和性能。 | Redis 拓扑 | |
| 连接数 | |||
| 延迟 | |||
| 错误 | |||
| 吞吐量 | |||
| 日志分析 | |||
| Application - Dubbo Monitoring - K8S | 监控 Kubernetes Pod 中运行的 Dubbo 服务的 RPC 调用和性能。 | Dubbo 拓扑 | |
| 连接数 | |||
| 延迟 | |||
| 错误 | |||
| 日志分析 | |||
| Auto Tracing | Distributed Tracing | 为 Kubernetes Pod 中运行的应用提供分布式追踪功能,允许您追踪请求在各服务和组件间的传播。 | 请求列表 |
| 火焰图 | |||
| Distributed Tracing - Cloud | 为主机网络中运行的应用提供分布式追踪功能,允许您追踪请求在各服务和组件间的传播。 | 请求列表 | |
| 火焰图 |
总之,DeepFlow 提供了一套全面的监控面板,用于监控和分析 Kubernetes Pod 及主机网络中的网络和应用性能。
DeepFlow 的分布式追踪功能允许您追踪请求在应用中各服务和组件间的传播过程。 这有助于识别性能瓶颈、理解服务交互并优化应用性能。
在分布式追踪监控面板中,您可以查看每个请求的详细信息,包括:
您可以根据命名空间、工作负载、trace ID、span ID、请求资源和时间范围等多种条件过滤和搜索特定请求。 以下是请求列表示例:

点击某个请求可在火焰图中查看其详细追踪信息:

火焰图由多个条形块组成,每个块代表一个 span。 x 轴表示时间,y 轴表示调用栈深度。span 按调用顺序从上到下显示。
具体说明如下:
DeepFlow 支持解析应用注入的唯一请求 ID(例如几乎所有网关都会注入 X-Request-ID),并将具有相同请求 ID 的不同请求关联为同一条追踪。 要添加您的请求 ID 头进行解析,可以在安装或更新 DeepFlow 插件时修改 DeepFlow 智能体组配置。
配置项为 processors.request_log.tag_extraction.tracing_tag.x_request_id,接受一个头名称列表。
示例配置片段如下:
有关 DeepFlow 智能体配置的更多详情,请参阅 DeepFlow Agent Configuration 文档。