Nesta página, descrevemos como emitir métricas do lado do cliente gRPC para o Cloud Monitoring ao usar o gRPC para interagir com o Cloud Storage usando uma das seguintes interfaces compatíveis:
Biblioteca de cliente do Cloud Storage para Java, versão 2.41.0 e mais recentes
As métricas do lado do cliente podem ser usadas para monitorar o desempenho do aplicativo cliente que interage com o Cloud Storage usando gRPC. A métrica do lado do cliente é diferente das métricas do lado do servidor, que fornecem insights sobre a performance do Cloud Storage do ponto de vista do servidor.
Como funciona
É possível ativar a emissão de métricas do lado do cliente para o Cloud Monitoring ao usar gRPC para interagir com o Cloud Storage usando uma das interfaces compatíveis.
Preços
As métricas do lado do cliente do Cloud Storage não são cobradas. Isso significa que você pode emitir, armazenar e acessar essas métricas sem incorrer em custos do Cloud Monitoring. Para mais informações sobre preços, consulte Preços do Google Cloud Observability.
Antes de começar
Para usar métricas do lado do cliente, primeiro conclua as seguintes etapas:
Verifique se a biblioteca de cliente ou o conector do Cloud Storage que você quer usar é compatível com o gRPC. As seguintes bibliotecas de cliente e conectores do Cloud Storage são compatíveis com gRPC:
Ative a API Cloud Monitoring.
Ative a API Cloud Storage.
Defina os papéis e as permissões necessárias para emitir métricas do lado do cliente.
Funções exigidas
Para definir as permissões necessárias para emitir métricas do lado do cliente gRPC no
Cloud Monitoring, conceda o papel do IAM Gravador de métricas do Monitoring
(roles/monitoring.metricWriter
) na conta de
serviço usada pelo cliente gRPC.
Esse papel predefinido contém as permissões necessárias para emitir métricas do lado do cliente gRPC para o Cloud Monitoring. Para conferir as permissões exatas necessárias, consulte a seção Permissões necessárias:
Permissões necessárias
monitoring.timeSeries.create
Essa permissão do IAM está incluída nos seguintes papéis predefinidos do Cloud Storage:
- Administrador do Storage (
roles/storage.admin
) - Administrador do objeto do Storage (
roles/storage.objectAdmin
) - Usuário do objeto de armazenamento (
roles/storage.objectUser
)
Essas permissões também podem ser concedidas com outros papéis personalizados ou papéis predefinidos. Para mais informações sobre o papel de gravador de métricas do Monitoring, consulte a documentação do IAM sobre roles/monitoring.metricWriter
.
Descrições das métricas
As seções a seguir descrevem as métricas do lado do cliente do Cloud Storage que podem ser usadas para monitorar o desempenho do cliente gRPC.
Métricas por tentativa do cliente
As métricas a seguir coletam dados de performance sobre tentativas individuais feitas por um cliente para se comunicar com um servidor. As métricas de cliente por tentativa podem ajudar você a medir o comportamento de novas tentativas, gargalos e otimizar a comunicação entre um cliente e um servidor.
Métrica completa | Descrição | Tipo de instrumento | Unidade | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview . O número total de tentativas de RPC iniciadas,
incluindo aquelas que não foram concluídas. |
Contador | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview . O tempo completo para concluir uma tentativa de RPC, incluindo o tempo necessário para escolher um subcanal. |
Histograma | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview . O total de bytes, compactados, mas não criptografados, enviados em todas as mensagens de solicitação, exceto metadados, por tentativa de RPC. Isso não inclui bytes de enquadramento de transporte ou gRPC. |
Histograma | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview . O total de bytes, compactados, mas não criptografados, recebidos em todas as mensagens de resposta, exceto metadados, por tentativa de RPC. Isso não inclui bytes de enquadramento de transporte ou gRPC. |
Histograma | By |
|
Para mais informações sobre instrumentos de cliente por tentativa, consulte a documentação de métricas do OpenTelemetry no GitHub.
Métricas por chamada do cliente
As métricas a seguir fornecem uma visão agregada de todo o ciclo de vida de uma chamada de cliente para um servidor. As métricas de chamadas por cliente fornecem dados de alto nível sobre as chamadas do cliente, métricas de rastreamento para entender os padrões de chamadas e ajudam a identificar frequências em erros.
Métrica completa | Descrição | Tipo de instrumento | Unidade | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview . Mede o tempo completo que a biblioteca gRPC leva para concluir uma RPC do ponto de vista do aplicativo. |
Histograma | s |
|
Para mais informações sobre instrumentos por chamada do cliente, consulte a documentação de métricas do OpenTelemetry no GitHub.
Solicitar métricas de detecção de carga de solicitação
As métricas a seguir fornecem insights sobre a eficácia do uso da detecção de carga de solicitação pelo aplicativo cliente. As métricas de detecção de carga de solicitação podem ajudar você a equilibrar as cargas do servidor, otimizar a utilização de recursos e melhorar os tempos de resposta do cliente. As seguintes métricas só estão disponíveis com conectividade direta.
Métrica completa | Descrição | Tipo de instrumento | Unidade | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview . O número de entradas no cache de detecção de carga de solicitação. |
Medidor | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview . O tamanho atual do cache de detecção de carga de solicitação. |
Medidor | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview . O número de escolhas de balanceador de carga (LB) enviadas para a meta padrão. |
Contador | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview . O número de escolhas de balanceamento de carga enviadas a cada destino de detecção de carga de solicitação. Se o destino padrão também for retornado pelo servidor de detecção de carga de solicitação, os RPCs enviados a esse destino do cache serão contados nessa métrica, não em grpc.rls.default_target_picks . |
Contador | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview . O número de escolhas de LB que falharam devido a uma solicitação de detecção de carga com falha ou à limitação do canal de detecção de carga da solicitação. |
Contador | {pick} |
|
xDiscovery Service client metrics
As métricas a seguir fornecem insights sobre como o aplicativo cliente interage com o plano de controle do xDiscovery Service (xDS) para descobrir e configurar conexões com serviços de back-end. As métricas do xDS ajudam a rastrear a latência de solicitação de serviço, monitorar atualizações de configuração e otimizar o desempenho geral do xDS.
As seguintes métricas só estão disponíveis com conectividade direta.
Métrica completa | Descrição | Tipo de instrumento | Unidade | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview . Mede se o cliente xDS tem ou não um
stream ADS funcionando para o servidor xDS. Para um determinado servidor, essa métrica é definida como 1 quando o fluxo é criado inicialmente. Se houver uma falha de conectividade ou quando o stream do ADS falhar sem uma mensagem de resposta conforme A57 , a métrica será definida como 0 . Depois de definida como 0 , a métrica será redefinida como 1 quando a primeira resposta for recebida em um stream do ADS. Essa métrica está disponível apenas para as bibliotecas de cliente do Cloud para C++. |
Medidor | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview . O número de recursos recebidos que foram considerados inválidos. Essa métrica está disponível apenas para as bibliotecas de cliente do Cloud para C++. |
Contador | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview . O número de recursos recebidos que foram considerados válidos, mesmo que não tenham sido alterados.
Essa métrica está disponível apenas para bibliotecas de cliente do Cloud para C++. |
Contador | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview . O número de recursos xDS. Essa métrica está disponível apenas para bibliotecas de cliente do Cloud para C++. |
Medidor | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview . O número de servidores xDS que não estão mais funcionando corretamente e ficaram indisponíveis, sobrecarregados ou estão fornecendo dados de configuração incorretos ou inválidos. Essa métrica está disponível apenas para bibliotecas de cliente do Cloud para C++. |
Contador | {failure} |
|
Para mais informações sobre métricas de cliente xDS, consulte a documentação sobre o balanceamento de carga global baseado em xDS no GitHub.
Desativar as métricas do lado do cliente
Se necessário, é possível desativar as métricas do lado do cliente.
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
Para mais informações, consulte o
método GrpcStorageOptions.Builder
da classe bibliotecas de cliente do Cloud para Java para métricas de cliente gRPC.
C++
Para desativar as métricas do lado do cliente para a API gRPC usando
as bibliotecas de cliente do Cloud para C++, consulte
Struct EnableGrpcMetricsOption
.
Se você estiver usando o Bazel para criar o aplicativo e quiser desativar
as métricas do lado do cliente, defina a opção enable_grpc_metrics
como false
no
arquivo de build do aplicativo.