监控联邦图
了解操作指标和监控策略
与任何分布式架构一样,联邦图图比其单体对等体引入了更多的复杂性。为了解决这种复杂性并提高可靠性,您应该确保您的联邦图具有适当的可观察性、监控和自动化。
本文介绍了 Apollo 托管联邦的功能,这些功能可以帮助您监控和调试您的图。
指标和可观察性
联邦图可以将操作指标推送到GraphOS Studio,从而启用许多强大的工具,包括:
在使用联邦图的情况下,您的子图会在每次操作中将跟踪数据(每个解析模式字段的时间信息和错误信息)传递到网关。然后网关将数据推送到工作室:
ⓘ 注意
单个子图不会直接将跟踪数据推送到工作室。
跟踪数据在工作室中以查询计划的形式显示,每个唯一的从子图获取都会报告时间信息和错误数据。
操作客户端发送的操作仍在收集级别统计信息,并且这些操作在模式检查部分进行验证。
设置
要启用联邦跟踪,您需要在网关环境中设置APOLLO_KEY
环境变量
如果其他功能需要您在子图服务器中设置APOLLO_KEY
,请在这些服务器中禁用使用报告。
同时确保您的图中的所有Apollo 服务器都使用 @apollo/server
库的最新版本。
检查您的子图
使用Rover CLI's rover subgraph list
命令查看组成您的联邦图的基本信息:
$ rover subgraph list docs-example-graph@productionListing subgraphs for docs-example-graph@production using credentials from the default profile.┌──────────┬───────────────────────────────┬────────────────────────────┐│ Name │ Routing Url │ Last Updated │├──────────┼───────────────────────────────┼────────────────────────────┤│ products │ https://127.0.0.1:4001/graphql │ 2020-12-18 10:29:14 -08:00 │├──────────┼───────────────────────────────┼────────────────────────────┤│ reviews │ https://127.0.0.1:4002/graphql │ 2020-12-18 10:28:59 -08:00 │└──────────┴───────────────────────────────┴────────────────────────────┘View full details at https://studio.apollographql.com/graph/docs-example-graph/service-list
此命令包括一个指向提供有关您子图额外信息的GraphOS Studio页面的链接。
如果您正在使用Apollo CLI,则运行apollo service:list
代替。