Service Topology Diagram

本文旨在帮助您快速掌握查看服务拓扑的流程。

目录

前提条件

要查看服务拓扑,您需要满足以下任一条件:

快速开始

在左侧导航栏中,点击 Service Topology

基本页面展示

页面清晰展示服务之间的调用关系,每个节点和连接线均以不同颜色区分。

  • 连接线表示服务间的调用,颜色根据调用成功率调整。灰色线表示所选时间段内该调用无流量。
  • 节点表示单个服务,颜色由服务 Pod 的比例决定。

有关节点图标、节点和连接线颜色阈值及其含义的详细图例,请参见拓扑图左上角提供的图例。

当触发告警规则的服务(及其 Deployment、Pod)或 ingress gateway 发生告警时,拓扑图会用 Alarming () 标记告警的服务或 ingress gateway。点击服务上的 标记,将跳转至 Real-time Alarms 页面查看告警规则详情。

默认情况下,拓扑图每 5 秒自动刷新一次。您也可以手动刷新或设置自动刷新间隔:
手动刷新:点击拓扑图右下角的 图标手动刷新数据;
设置自动刷新间隔:点击拓扑图右下角 旁的时间间隔,设置自动刷新时间。

查看 Istio 跨集群拓扑

如果当前项目关联了由服务网格管理的多个集群,选择 Cross-Cluster Topology 可查看当前服务网格和项目内所有命名空间中已注入 Sidecar 的服务及 ingress gateway 的调用关系拓扑图,权限范围以内的内容均可见。

注意:可查看范围取决于用户账号的数据权限;仅支持查看同一命名空间内的 Tracing。
例如:集群 A 和 B 均由当前服务网格管理,集群 A 下存在命名空间 an1,集群 B 下存在命名空间 bn1,且您拥有 an1 和 bn1 的查看权限。当您进入 an1 查看服务拓扑时,默认只能查看 an1 命名空间内所有服务的调用拓扑;选择 All Clusters 后,可查看 an1 和 bn1 命名空间内所有服务的调用拓扑,包括 an1 中服务调用 bn1 中服务的拓扑。

查看指定命名空间下服务的调用拓扑

点击拓扑图上方的 Namespace 下拉框,选择指定命名空间,即可查看当前集群中该命名空间内服务的调用拓扑。默认设置为 All Namespaces,显示集群内所有管理命名空间的调用关系。

查看局部拓扑图

您可以 双击 某个节点(中间件节点且标记为“Host Unknown”的除外),展开以该节点为中心的局部拓扑。这样可以快速查看目标节点上下游调用关系中所有节点的状态和数据,帮助您更聚焦地分析某个服务的调用情况。

查看详细信息

您可以 点击 节点或连接线,展开右侧详情面板,进行多种操作。

查看 Tracing

当您点击 节点连接线 时,详情面板会显示 View Tracing,您可以跳转至 Tracing 页面查看当前 服务调用关系 的 Tracing 数据。

  • 点击节点 > View Tracing:查询所选服务在拓扑图当前时间范围内上报的所有 span 数据。例如,点击名为 “client” 的服务节点并点击 View Tracing,系统将搜索当前时间范围内属于 client 服务的所有 span。
  • 点击连接线 > View Tracing:查询拓扑图当前时间范围内对应特定调用关系的 span 数据。例如,点击从 “client” 服务到 “server” 服务的连接线并点击 View Tracing,系统将搜索当前时间范围内 caller 为 “client”、callee 为 “server” 的所有 span。

注意:View Tracing 功能支持的服务类型取决于您的服务网格实现:

  • 对于 Istio:仅支持 ServiceMesh ServiceIngress GatewayEgress Gateway 节点
  • 对于 OpenTelemetry:支持 OpenTelemetry 服务中间件 节点(如数据库和消息队列)

若点击不支持的节点类型或包含不支持节点的连接线,将无法跳转至 Tracing 页面。

查看服务流量监控

当您点击 ServiceMesh ServiceOpenTelemetry ServiceIngress GatewayEgress Gateway 节点时,点击详情面板中的 View Traffic Monitoring,即可跳转至 Monitoring 页面,查看当前服务的详细监控数据。

查看流量信息

注意

  • 流量信息面板仅汇总 Sidecar 管理的流量数据,不包含与 Unknown 客户端(非 Sidecar 管理的流量)通信的流量数据。您可前往 Service DetailsMonitoring 页面查看完整流量数据。
  • 平台采集流量数据时,若客户端注入了 Sidecar,流量采样率与服务网格中配置的调用链采样率相同;否则采样率为 100%。
  • 流量数据的查询时间范围受服务网格集成的监控系统数据保留配置影响。例如,若监控系统(如 Prometheus)配置保留最近 7 天数据,查询时间范围超过 7 天时,系统仅能展示最近 7 天的流量数据。

当您点击 节点连接线 时,可在详情面板查看当前 服务调用关系 的流量图表。不同协议的图表说明如下:

HTTP/HTTP2/gRPC 协议

参数说明
Incoming/Outgoing Traffic查询时间范围内的总入站/出站请求量,以及按 HTTP 状态码(正常/2xx、3xx、4xx、5xx)划分的流量比例。
鼠标悬停柱状图可查看各类别的流量比例。
Incoming/Outgoing RPS查询时间范围内的总入站/出站流量 RPS(每秒请求数)及错误入站/出站流量 RPS。
RPS = 查询时间内请求数 / 查询时长(秒)
Traffic查询时间范围内服务间的请求总数,以及按 HTTP 状态码(正常/2xx、3xx、4xx、5xx)、NR(无响应)划分的请求数和比例。
鼠标悬停柱状图可查看各类别的请求数和比例。
RPS查询时间范围内的总流量 RPS 及错误流量 RPS。
Response Time服务间或服务内部的请求响应时间,显示平均值、TP 50、TP 95、TP 99。
TP(Top Percentile)xx 表示满足 xx% 网络请求所需的最小时长,常用于系统性能监控场景。
鼠标悬停曲线可查看特定时间段的响应时间。

TCP 协议

参数说明
Incoming/Outgoing Traffic查询时间范围内的入站/出站流量总字节数。
TCP Connections连接总数。
错误率 = 失败连接数 / 连接总数
成功率 = 成功连接数 / 连接总数
鼠标悬停柱状图可查看不同类别的连接数。
Traffic查询时间范围内服务间的流量总字节数。
Incoming/Outgoing (Bps)入站/出站服务网络流量的字节传输速率(字节/秒)。

中间件信息

当您点击连接 OpenTelemetry 服务中间件服务连接线 时,可查看以下信息:

节点信息

类型说明
Database类型:数据库类型,如 MySQL、Oracle 等。
Host:提供数据库主机地址
详情:提供数据库用户名、数据库名等信息
Message Queue类型:消息队列类型,如 RabbitMQ、Kafka 等。

注意 详细支持的中间件类型列表,请参见 Node Types

流量信息

指 OpenTelemetry 服务在查询时间范围内对中间件发起的请求总数。