Service Topology Diagram
本文旨在帮助您快速掌握查看服务拓扑的流程。
目录
前提条件
要查看服务拓扑,您需要满足以下任一条件:
- 对于 Istio 服务:确保服务已注入 Sidecar。详情请参见 Add ServiceMesh Service。
- 对于 OpenTelemetry 服务:确保服务已注入 OpenTelemetry Java Agent。详情请参见 Add OpenTelemetry Service。
快速开始
在左侧导航栏中,点击 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 Service、Ingress Gateway 和 Egress Gateway 节点
- 对于 OpenTelemetry:支持 OpenTelemetry 服务 及 中间件 节点(如数据库和消息队列)
若点击不支持的节点类型或包含不支持节点的连接线,将无法跳转至 Tracing 页面。
查看服务流量监控
点击 ServiceMesh Service、OpenTelemetry Service、Ingress Gateway 或 Egress Gateway 节点,在详情面板点击 View Traffic Monitoring,可跳转至 Monitoring 页面查看当前服务的详细监控数据。
查看流量信息
注意:
- 流量信息面板仅汇总 Sidecar 管理的流量数据,不包含与 Unknown 客户端(非 Sidecar 管理流量)的通信流量。您可访问 Service Details 或 Monitoring 页面查看完整流量数据。
- 平台采集流量数据时,若客户端注入了 Sidecar,流量采样率与服务网格配置的调用链采样率相同;否则采样率为 100%。
- 流量数据查询时间范围受服务网格集成的监控系统数据保留配置影响。例如,若监控系统(如 Prometheus)配置保留最近 7 天数据,查询时间范围超过 7 天时,系统仅能展示最近 7 天的流量数据。
点击 节点 或 连接线 时,详情面板展示当前 服务 或 调用关系 的流量图表。不同协议的图表说明如下:
HTTP/HTTP2/gRPC 协议
TCP 协议
中间件信息
点击连接 OpenTelemetry 服务 与 中间件服务 的 连接线 时,可查看以下信息:
节点信息
注意:支持的中间件类型完整列表,请参见 Node Types。
流量信息
指 OpenTelemetry 服务在查询时间范围内对中间件发起的请求总数。