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
- Conector do Apache Beam no Dataflow, versão 2.2.26 e mais recente
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. É possível conferir métricas do lado do cliente usando o Metrics Explorer para monitorar e otimizar as interações entre o Cloud Storage e o cliente gRPC, gerenciar o uso e resolver gargalos de desempenho e problemas técnicos.
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
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
.
Considerações
Se você estiver usando o conector do Cloud Storage no Dataproc, conceda o papel Gravador da métrica de monitoramento (
roles/monitoring.metricWriter
) do IAM à conta de serviço da máquina virtual (VM) do Dataproc.Se você estiver usando o conector do Apache Beam no Dataflow, conceda o papel do IAM de gravador de métricas do Monitoring (
roles/monitoring.metricWriter
) à conta de serviço do worker do Dataflow.
Visualizar métricas no Metrics Explorer
Use as instruções a seguir para conferir as métricas do lado do cliente gRPC do Cloud Storage no Metrics Explorer.
No console Google Cloud , acesse a página Metrics Explorer.
Selecione o projeto para o qual você quer ver as métricas.
No menu suspenso Métrica, clique em Selecionar uma métrica.
Na barra de pesquisa Filtrar por nome do recurso ou da métrica, digite
storage.googleapis.com/Client
ou procure a métrica que você quer aplicar por nome da métrica e clique em Aplicar. Para adicionar mais de uma métrica, clique em Adicionar consulta.O Cloud Storage aplica as métricas ao seu projeto. É possível filtrar ou agregar suas métricas usando os seguintes menus suspensos:
Para selecionar e visualizar um subconjunto de dados com base em critérios especificados, use o menu suspenso Filtro.
Para combinar vários pontos de dados em um único valor e ver uma visão resumida das suas métricas, use o menu suspenso Agregação.
Deixe o aplicativo ser executado por pelo menos um minuto antes de verificar se há métricas publicadas.
Para conferir as métricas adicionadas ao projeto usando um painel, consulte Visão geral dos painéis.
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, você pode 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.
A seguir
Saiba mais sobre observabilidade em Google Cloud.
Saiba como adicionar rastreamentos e métricas personalizados ao seu aplicativo.