本页介绍了当您使用以下某个受支持的接口通过 gRPC 与 Cloud Storage 交互时,如何将 gRPC 客户端指标发送到 Cloud Monitoring:
客户端指标可用于监控使用 gRPC 与 Cloud Storage 交互的客户端应用的性能。客户端指标不同于服务器端指标,后者可从服务器端视角深入了解 Cloud Storage 性能。
工作原理
当您使用 gRPC 通过某个受支持的接口与 Cloud Storage 交互时,可以选择将客户端指标发送到 Cloud Monitoring。您可以使用 Metrics Explorer 查看客户端指标,以帮助您监控和优化 Cloud Storage 与 gRPC 客户端之间的互动、管理使用情况,以及排查性能瓶颈和技术问题。
价格
Cloud Storage 客户端指标无需付费,这意味着您可以发出、存储和访问 Cloud Storage 客户端指标,而不会产生 Cloud Monitoring 费用。如需详细了解价格,请参阅 Google Cloud Observability 价格。
准备工作
如需使用客户端指标,您必须先完成以下步骤:
验证您要使用的 Cloud Storage 客户端库或连接器是否支持 gRPC。以下 Cloud Storage 客户端库和连接器支持 gRPC:
启用 Cloud Storage API。
设置发出客户端指标所需的角色和权限。
所需的角色
如需设置向 Cloud Monitoring 发送 gRPC 客户端指标所需的权限,请向 gRPC 客户端使用的服务账号授予 Monitoring Metric Writer (roles/monitoring.metricWriter
) IAM 角色。
此预定义角色包含将 gRPC 客户端指标发送到 Cloud Monitoring 所需的权限。如需查看所需的确切权限,请参阅所需权限部分:
所需权限
monitoring.timeSeries.create
您也可以使用其他自定义角色或预定义角色来获取这些权限。如需详细了解“监控指标写入器”角色,请参阅 有关 roles/monitoring.metricWriter
的 IAM 文档。
注意事项
如果您在 Dataproc 上使用 Cloud Storage 连接器,则需要向 Dataproc 虚拟机 (VM) 服务账号授予 Monitoring Metric Writer (
roles/monitoring.metricWriter
) IAM 角色。如果您在 Dataflow 上使用 Apache Beam 连接器,则需要向 Dataflow 工作器服务账号授予 Monitoring Metric Writer (
roles/monitoring.metricWriter
) IAM 角色。
在 Metrics Explorer 中查看指标
请按照以下说明在 Metrics Explorer 中查看 Cloud Storage gRPC 客户端指标。
在 Google Cloud 控制台中,转到 Metrics Explorer 页面。
选择要查看指标的项目。
在指标下拉菜单中,点击选择指标。
在按资源或指标名称进行过滤搜索栏中,输入
storage.googleapis.com/Client
或按指标名称搜索要应用的指标,然后点击应用。如需添加多个指标,请点击添加查询。Cloud Storage 会将这些指标应用于您的项目。您可以使用以下下拉菜单过滤或汇总指标:
如需根据指定条件选择并查看部分数据,请使用过滤下拉菜单。
如需将多个数据点合并为一个值,并查看指标的汇总视图,请使用汇总下拉菜单。
请让应用运行至少 1 分钟,然后再检查是否有任何已发布的指标。
如需查看您使用信息中心向项目添加的指标,请参阅信息中心概览。
指标说明
以下部分简要介绍了可用于监控 gRPC 客户端性能的 Cloud Storage 客户端指标。
客户端每次尝试指标
以下指标会收集有关客户端尝试与服务器通信的各次尝试的性能数据。客户端每次尝试指标可帮助您衡量重试行为、瓶颈问题,并优化客户端和服务器之间的通信。
完整指标 | 说明 | 付款方式类型 | 单位 | 属性 |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview 。已启动的 RPC 尝试总数,包括尚未完成的 RPC 尝试。 |
计数器 | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview 。完成 RPC 尝试所需的端到端时间(包括选择子通道所需的时间)。 |
直方图 | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview 。每次 RPC 尝试在所有请求消息(元数据除外)中发送的总字节数(压缩,未加密)。不包括 gRPC 或传输封装字节。 |
直方图 | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview 。每次 RPC 尝试在所有响应消息(元数据除外)中收到的总字节数(压缩,未加密)。不包括 gRPC 或传输封装字节。 |
直方图 | By |
|
如需详细了解客户端每次尝试插桩,请参阅 GitHub 中的 OpenTelemetry 指标文档。
客户端每次调用指标
以下指标提供了对客户端调用服务器的整个生命周期的汇总视图。客户端每次调用指标可提供有关客户端调用的概要数据,提供跟踪指标以了解调用模式,并帮助您确定错误的频率。
完整指标 | 说明 | 付款方式类型 | 单位 | 属性 |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview 。衡量 gRPC 库从应用的角度完成 RPC 所需的端到端时间。 |
直方图 | s |
|
如需详细了解客户端每次调用插桩,请参阅 GitHub 中的 OpenTelemetry 指标文档。
请求负载感知指标
以下指标可让您深入了解客户端应用使用请求负载感知功能的效果。请求负载感知指标可帮助您平衡服务器负载、优化资源利用率并缩短客户端响应时间。以下指标仅在使用直接连接时可用。
完整指标 | 说明 | 付款方式类型 | 单位 | 属性 |
---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview 。请求加载感知缓存中的条目数。 |
仪表盘 | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview 。请求负载感知缓存的当前大小。 |
仪表盘 | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview 。发送到默认目标的负载均衡器 (LB) 选择次数。 |
计数器 | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview 。发送到每个请求负载感知目标的 LB 选择数量。如果请求负载感知服务器也返回默认目标,则从缓存发送到该目标的 RPC 会计入此指标,而不会计入 grpc.rls.default_target_picks 。 |
计数器 | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview 。由于请求负载感知请求失败或请求负载感知通道被节流而导致 LB 选择失败的次数。 |
计数器 | {pick} |
|
xDiscovery 服务客户端指标
以下指标可帮助您深入了解客户端应用如何与 xDiscovery Service (xDS) 控制平面交互,以发现和配置与后端服务的连接。xDS 指标可帮助您跟踪服务请求延迟时间、监控配置更新,以及优化整体 xDS 性能。
以下指标仅适用于直接连接。
完整指标 | 说明 | 付款方式类型 | 单位 | 属性 |
---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview 。衡量 xDS 客户端是否有可用的 ADS 流向 xDS 服务器。对于给定服务器,此指标在最初创建数据流时会设置为 1 。如果发生连接故障,或者 ADS 数据流失败且未看到 A57 中的响应消息,则该指标会设为 0 。设置为 0 后,当 ADS 数据流收到第一个响应时,该指标将重置为 1 。此指标仅适用于 C++ 版 Cloud 客户端库。 |
仪表盘 | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview 。系统判定为无效的收到资源的数量。此指标仅适用于 C++ 版 Cloud 客户端库。 |
计数器 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview 。系统认为有效(即使未更改)的收到资源的数量。
此指标仅适用于 C++ 版 Cloud 客户端库。 |
计数器 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview 。xDS 资源的数量。此指标仅适用于 C++ 版 Cloud 客户端库。 |
仪表盘 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview 。不再正常运行且已变为不可用、过载或提供不正确或无效配置数据的 xDS 服务器的数量。此指标仅适用于 C++ 版 Cloud 客户端库。 |
计数器 | {failure} |
|
如需详细了解 xDS 客户端指标,请参阅 GitHub 中的 基于 xDS 的全局负载均衡文档。
停用客户端指标
如果需要,您可以停用客户端指标。
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
如需了解详情,请参阅 Java 版 Cloud 客户端库类 GrpcStorageOptions.Builder
方法(适用于 gRPC 客户端指标)。
C++
如需使用 C++ 版 Cloud 客户端库为 gRPC API 停用客户端指标,请参阅结构体 EnableGrpcMetricsOption
。
后续步骤
详细了解 Google Cloud 中的可观测性。
了解如何向应用添加自定义跟踪记录和指标。