Nesta página, descrevemos como emitir métricas do lado do cliente do 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 Java do Cloud Storage, versão 2.41.0 e mais recentes
- Conector do Apache Beam no Dataflow, versão 2.2.26 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 o 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 emitir métricas do lado do cliente para o Cloud Monitoring ao usar o gRPC para interagir com o Cloud Storage usando uma das interfaces compatíveis. É possível conferir as métricas do lado do cliente usando o Metrics Explorer para ajudar você a 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, o que significa que é possível emitir, armazenar e acessar as métricas do lado do cliente do Cloud Storage sem incorrer em cobranças do Cloud Monitoring. Para mais informações sobre preços, consulte Preços do Google Cloud Observability.
Antes de começar
Para usar as 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 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 Storage do Cloud Storage.
Defina os papéis e as permissões necessários 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 do gRPC para o
Cloud Monitoring, conceda o papel do IAM de Gravador de métricas do Monitoring
(roles/monitoring.metricWriter) na conta de serviço
usada pelo cliente do 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 de objetos do Storage (
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.
Considerações
Se você estiver usando o conector do Cloud Storage no Serviço Gerenciado para Apache Spark, será necessário conceder o papel do IAM de Gravador de métricas do Monitoring (
roles/monitoring.metricWriter) à conta de serviço da máquina virtual (VM) do Serviço Gerenciado para Apache Spark.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 de 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 do Google Cloud , acesse a página do Metrics Explorer.
Selecione o projeto com as métricas que você quer ver.
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/Clientou pesquise 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 dos seus dados com base em critérios específicos, use o menu suspenso Filtro.
Para combinar vários pontos de dados em um único valor e ver uma visualizaçã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 a performance 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 framing de transporte ou gRPC. |
Histograma | By |
|
Para mais informações sobre instrumentos por tentativa do cliente, consulte a documentação de métricas do OpenTelemetry no GitHub.
Métricas por chamada do cliente
As métricas a seguir fornecem uma visualização agregada de todo o ciclo de vida de uma chamada de cliente para um servidor. As métricas por chamada do cliente fornecem dados de alto nível sobre as chamadas do cliente, métricas de rastreamento para entender os padrões de chamada e ajudam a identificar frequências de erros.
| Métrica completa | Descrição | Tipo de instrumento | Unidade | Atributos |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview: mede o tempo total que a biblioteca gRPC
leva para concluir uma RPC do ponto de vista do aplicativo. |
Histograma | s |
|
Para mais informações sobre instrumentos de cliente por chamada, consulte a documentação de métricas do OpenTelemetry no GitHub.
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 a equilibrar as cargas do servidor, otimizar a utilização de recursos e melhorar os tempos de resposta do cliente. As métricas a seguir estão disponíveis apenas 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
da 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 seleções do balanceador de carga (LB) enviadas ao
destino padrão. |
Contador | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview. O número de seleções de LB enviadas para 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 seleções de LB que falharam devido a uma falha na solicitação de detecção de carga de solicitação ou à limitação do canal de detecção de carga de solicitação. |
Contador | {pick} |
|
Métricas do cliente do serviço xDiscovery
As métricas a seguir fornecem insights sobre como o aplicativo cliente interage com o plano de controle do serviço xDiscovery (xDS) para descobrir e configurar conexões com serviços de back-end. As métricas do xDS podem ajudar a rastrear a latência de solicitações de serviço, monitorar atualizações de configuração e otimizar o desempenho geral do xDS.
As seguintes métricas estão disponíveis apenas 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 em funcionamento 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 fluxo 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 fluxo de 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 as 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 as 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 só está disponível para as bibliotecas de cliente do Cloud para C++. |
Contador | {failure} |
|
Para mais informações sobre métricas de cliente xDS, consulte a documentaçã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
Método da classe GrpcStorageOptions.Builder das 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 seu 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 no Google Cloud.
Saiba como adicionar rastreamentos e métricas personalizados ao seu aplicativo.