Esta página descreve como emitir métricas do lado do cliente gRPC para o Cloud Monitoring quando usa o gRPC para interagir com o Cloud Storage através de uma das seguintes interfaces suportadas:
Biblioteca cliente Java do Cloud Storage, versão 2.41.0 e posterior
- Conetor do Apache Beam no Dataflow, versão 2.2.26 e posterior
As métricas do lado do cliente podem ser usadas para monitorizar o desempenho da aplicação cliente que interage com o Cloud Storage através do gRPC. A métrica do lado do cliente difere das métricas do lado do servidor, que fornecem estatísticas sobre o desempenho do Cloud Storage na perspetiva do lado do servidor.
Como funciona
Pode optar por emitir métricas do lado do cliente para o Cloud Monitoring quando usar o gRPC para interagir com o Cloud Storage através de uma das interfaces suportadas. Pode ver as métricas do lado do cliente através do Explorador de métricas para ajudar a monitorizar e otimizar as interações entre o Cloud Storage e o cliente gRPC, gerir a utilização e resolver problemas técnicos e gargalos de desempenho.
Preços
As métricas do lado do cliente do Cloud Storage não são cobradas, o que significa que pode emitir, armazenar e aceder a métricas do lado do cliente do Cloud Storage sem incorrer em custos do Cloud Monitoring. Para mais informações sobre os preços, consulte os preços do Google Cloud Observability.
Antes de começar
Para usar métricas do lado do cliente, tem de concluir primeiro os seguintes passos:
Verifique se a biblioteca ou o conetor do cliente do Cloud Storage que quer usar suporta gRPC. As seguintes bibliotecas cliente e conetores do Cloud Storage suportam gRPC:
Ative a Cloud Monitoring API.
Ative a API Cloud Storage.
Defina as funções e as autorizações necessárias para emitir métricas do lado do cliente.
Funções necessárias
Para definir as autorizações necessárias para emitir métricas do lado do cliente gRPC para o Cloud Monitoring, conceda a função de IAM Monitoring Metric Writer (roles/monitoring.metricWriter
) na conta de serviço usada pelo cliente gRPC.
Esta função predefinida contém as autorizações necessárias para emitir métricas gRPC do lado do cliente para o Cloud Monitoring. Para ver as autorizações exatas necessárias, consulte a secção Autorizações necessárias:
Autorizações necessárias
monitoring.timeSeries.create
Esta autorização de IAM está incluída nas seguintes funções predefinidas do Cloud Storage:
- Administrador de armazenamento (
roles/storage.admin
) - Administrador de objetos de armazenamento (
roles/storage.objectAdmin
) - Utilizador de objetos de armazenamento (
roles/storage.objectUser
)
Também pode conseguir estas autorizações com outras funções personalizadas ou
funções predefinidas. Para mais informações sobre a função de escritor de métricas do Monitoring, consulte a documentação do IAM sobre roles/monitoring.metricWriter
.
Considerações
Se estiver a usar o conetor do Cloud Storage no Dataproc, tem de conceder a função do IAM de escritor de métricas de monitorização (
roles/monitoring.metricWriter
) à conta de serviço da máquina virtual (VM) do Dataproc.Se estiver a usar o conetor do Apache Beam no Dataflow, tem de conceder a função do IAM de escritor de métricas de monitorização (
roles/monitoring.metricWriter
) à conta de serviço do trabalhador do Dataflow.
Veja métricas no explorador de métricas
Siga estas instruções para ver as métricas do lado do cliente gRPC do Cloud Storage no explorador de métricas.
Na Google Cloud consola, aceda à página Explorador de métricas.
Selecione o projeto para o qual quer ver as métricas.
No menu pendente Métrica, clique em Selecionar uma métrica.
Na barra de pesquisa Filtrar por nome do recurso ou da métrica, introduza
storage.googleapis.com/Client
ou pesquise a métrica que quer aplicar por nome da métrica e clique em Aplicar. Para adicionar mais do que uma métrica, clique em Adicionar consulta.O Cloud Storage aplica as métricas ao seu projeto. Pode filtrar ou agregar as métricas através dos seguintes menus pendentes:
Para selecionar e ver um subconjunto dos seus dados com base em critérios especificados, use o menu pendente Filtro.
Para combinar vários pontos de dados num único valor e ver uma vista resumida das suas métricas, use o menu pendente Agregação.
Permita que a aplicação seja executada durante, pelo menos, um minuto antes de verificar se existem métricas publicadas.
Para ver as métricas que adicionou ao seu projeto através de um painel de controlo, consulte o artigo Vista geral dos painéis de controlo.
Descrições das métricas
As secções seguintes descrevem as métricas do lado do cliente do Cloud Storage que podem ser usadas para monitorizar o desempenho do cliente gRPC.
Métricas por tentativa do cliente
As métricas seguintes recolhem dados de desempenho sobre tentativas individuais feitas por um cliente para comunicar com um servidor. As métricas por tentativa do cliente podem ajudar a medir o comportamento de repetição, os 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 as que não foram concluídas. |
Contrapropor | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview . O tempo total necessário 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, comprimidos, mas não encriptados,
que são enviados em todas as mensagens de pedido, exceto metadados, por tentativa de RPC. Isto não inclui bytes de enquadramento de transporte nem gRPC. |
Histograma | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview . O total de bytes, comprimidos, mas não encriptados,
que são recebidos em todas as mensagens de resposta, exceto metadados por tentativa de RPC. Isto não inclui bytes de enquadramento de transporte nem gRPC. |
Histograma | By |
|
Para mais informações acerca dos instrumentos por tentativa do cliente, consulte a documentação de métricas do OpenTelemetry no GitHub.
Métricas por chamada do cliente
As seguintes métricas oferecem uma vista 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 de clientes, fornecem métricas de acompanhamento para compreender os padrões de chamadas e ajudam a identificar frequências nos erros.
Métrica completa | Descrição | Tipo de instrumento | Unidade | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview . Mede o tempo ponto a ponto que a biblioteca gRPC demora a concluir um RPC na perspetiva da aplicação. |
Histograma | s |
|
Para mais informações sobre os instrumentos por chamada do cliente, consulte a documentação de métricas do OpenTelemetry no GitHub.
Pedir métricas de deteção de carga
As seguintes métricas fornecem estatísticas sobre a eficácia da utilização da deteção de carga de pedidos pela aplicação do cliente. As métricas de deteção de carga de pedidos podem ajudar 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 a conetividade 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 na cache de deteção de
carga de pedidos. |
Indicador | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview . O tamanho atual da cache de deteção de carga do pedido. |
Indicador | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview . O número de seleções do equilibrador de carga (LB) enviadas para o destino predefinido. |
Contrapropor | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview . O número de seleções de LB enviadas para cada destino de deteção de carga
de pedidos. Se o destino predefinido também for devolvido pelo servidor de deteção de
carga de pedidos, os RPCs enviados para esse destino a partir da cache são contabilizados
nesta métrica e não em grpc.rls.default_target_picks . |
Contrapropor | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview . O número de seleções de LB que falharam devido a:
um pedido de deteção de carga de pedido falhado ou o canal de deteção de carga de pedido a ser limitado. |
Contrapropor | {pick} |
|
Métricas do cliente do serviço xDiscovery
As seguintes métricas fornecem estatísticas sobre a forma como a sua aplicação cliente interage com o plano de controlo do serviço xDiscovery (xDS) para descobrir e configurar ligações aos serviços de back-end. As métricas xDS podem ajudar a monitorizar a latência dos pedidos de serviço, monitorizar as atualizações de configuração e otimizar o desempenho geral do xDS.
As seguintes métricas só estão disponíveis com a conetividade 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 uma stream ADS funcional para o servidor xDS. Para um determinado servidor, esta métrica é
definida como 1 quando a stream é criada inicialmente. Se ocorrer uma falha de conetividade ou quando o fluxo ADS falha sem ver uma mensagem de resposta, conforme indicado em A57 , a métrica é definida como 0 . Quando definida como 0 , a métrica é reposta para 1 quando a primeira resposta é recebida num fluxo ADS. Esta métrica só está disponível para as
bibliotecas de cliente da nuvem para C++. |
Indicador | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview . O número de recursos recebidos que foram
considerados inválidos. Esta métrica só está disponível para as
bibliotecas de cliente da nuvem para C++. |
Contrapropor | {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.
Esta métrica só está disponível para as bibliotecas de cliente do Google Cloud para C++. |
Contrapropor | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview . O número de recursos xDS. Esta métrica só está disponível para as bibliotecas de cliente do Google Cloud para C++. |
Indicador | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview . O número de servidores xDS que já não estão a funcionar corretamente e que ficaram indisponíveis, sobrecarregados ou estão a fornecer dados de configuração incorretos ou inválidos. Esta métrica só está disponível para as bibliotecas de cliente do Google Cloud para C++. |
Contrapropor | {failure} |
|
Para mais informações sobre as métricas do cliente xDS, consulte a documentação Balanceamento de carga global baseado em xDS no GitHub.
Desative as métricas do lado do cliente
Se necessário, 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 Cloud Client Libraries for Java para métricas do cliente gRPC.
C++
Para desativar as métricas do lado do cliente para a API gRPC através das bibliotecas cliente da Google Cloud para C++, consulte Struct EnableGrpcMetricsOption
.
Se estiver a usar o Bazel para criar a sua aplicação e quiser desativar as métricas do lado do cliente, defina a opção enable_grpc_metrics
como false
no ficheiro de compilação da sua aplicação.
O que se segue?
Saiba mais acerca da observabilidade no Google Cloud.
Saiba como adicionar rastreios e métricas personalizadas à sua aplicação.