Como monitorar o uso da API

A maioria das APIs do Cloud envia telemetria detalhada sobre o uso da API. Isso pode ser útil para acompanhar o consumo geral, monitorar o desempenho e ajudar a descobrir interações negativas entre seu software e os serviços do Google. Elas também podem informar se os serviços do Google Cloud estão se comportando de forma anormal e diminuir drasticamente os tempos de resolução caso você precise de suporte do Google ao solucionar problemas.

As métricas fornecidas por essas APIs são os "sinais dourados" que os engenheiros de Confiabilidade de Site do Google usam para avaliar a integridade de um serviço. Essas métricas são o tráfego geral, a taxa de erros e a latência (em vários percentis). As métricas que você vê são específicas para o uso da API pelo seu projeto e não refletem necessariamente o uso ou o desempenho de qualquer outro usuário.

É possível ver as métricas da API em dois locais: no Painel de APIs ou no Stackdriver.

  • O Painel de APIs oferece uma visão básica do seu uso, com gráficos pré-criados em cada página de detalhes da API. As métricas usadas nesta página também são publicadas no Stackdriver.
  • O Stackdriver permite configurar um monitoramento robusto para seu aplicativo adicionando essas métricas a painéis personalizados, fazendo referência cruzada com outras estatísticas disponíveis (incluindo métricas personalizadas enviadas pelo aplicativo e métricas específicas do serviço fornecidas pelo GCP, como informações de fila para Pub/Sub ou dados de consulta para Spanner) e configurando alertas para notificá-lo de um comportamento incomum do aplicativo.

Você pode encontrar uma referência detalhada para as métricas da API na documentação do Stackdriver Monitoring.

Como usar o Painel de APIs

A maneira mais simples de ter uma visualização rápida das métricas da API é usar o Painel de APIs do Console do Cloud Platform. Você pode ter uma visão geral de todas as métricas de uso da API ou detalhar o uso de uma API específica.

Para uma visão geral das métricas de uso no console, acesse a seção APIs e serviços do projeto do Google Cloud. Por padrão, é exibido o Painel de APIs principal. Nesta página, você pode ver todas as APIs ativadas no momento para seu projeto, bem como gráficos de visão geral das seguintes métricas:

  • Tráfego: o número de solicitações por segundo feitas pelo projeto para todas as APIs ativadas.
  • Erros: a porcentagem de suas solicitações para as APIs ativadas que resultaram em erros.

Se você tem APIs ativadas compatíveis com métricas de latência, também verá o seguinte:

  • Latência média: a latência média das solicitações

Para ver os detalhes de uso de uma API específica:

  1. Selecione a API que você quer visualizar na lista de APIs principal do Painel de APIs. A página Visão geral da API mostra um gráfico de tráfego mais esmiuçado com um detalhamento por código de resposta.
  2. Para informações de uso ainda mais detalhadas, selecione Ver métricas. Por padrão, os seguintes gráficos pré-criados são exibidos, embora outros estejam disponíveis:

    • Tráfego por código de resposta
    • Erros por método da API

    Se a API for compatível com métricas de latência, você também verá os seguintes gráficos:

    • Latência geral no percentis 50º, 95º e 99º
    • Latência por método da API (média)
  3. Se quiser adicionar mais gráficos aos gráficos exibidos, você pode selecionar outros gráficos pré-criados no menu suspenso Selecionar gráficos.

Como usar o Stackdriver

Se você usa o Stackdriver, pode se aprofundar nos dados de métricas disponíveis usando o Metrics Explorer para conseguir mais informações sobre o uso da API. O Stackdriver é compatível com uma ampla variedade de métricas, que você pode combinar com filtros e agregações para conseguir visualizações novas e interessantes do desempenho de seu aplicativo. Por exemplo, você pode combinar uma métrica de contagem de solicitações com um filtro na classe Código de resposta HTTP para criar um painel que mostre as taxas de erro ao longo do tempo ou observar a latência do percentil 95º de solicitações à API Cloud Pub/Sub.

Vá para o Metrics Explorer

Para ver as métricas da API no Metrics Explorer, selecione API utilizada como o tipo de recurso e use as opções de filtro e agregação para refinar seus dados. Depois de encontrar as informações de uso da API desejadas, use o Stackdriver para criar painéis personalizados e alertas que ajudarão você a continuar monitorando e mantendo um aplicativo robusto. Você pode descobrir como fazer isso nas seguintes páginas:

Solução de problemas com métricas de API

As métricas de API podem ser especialmente úteis se você precisar entrar em contato com o Google quando algo der errado e até mesmo mostrar que você não precisa entrar em contato com o suporte. Exemplo:

  • Se todas as suas chamadas para um serviço estiverem falhando para um único código de credencial, mas nenhum outro, provavelmente há algo errado com essa conta que você pode corrigir sem abrir um tíquete.
  • Você está solucionando um problema com seu aplicativo e percebe uma correlação entre o desempenho prejudicado do aplicativo e um aumento contínuo na latência do percentil 50º de um serviço crítico do GCP. Não deixe de entrar em contato conosco e nos indicar esses dados para que comecemos a trabalhar na solução do problema o quanto antes.
  • As latências de um relatório de serviços do GCP parecem boas e sem sofrer alterações, mas as métricas no aplicativo informam que a latência nas chamadas ao serviço está alta demais. Isso indica que há algum problema na rede. Entre em contato com o provedor de rede (em alguns casos, o Google) para iniciar o processo de depuração.

Práticas recomendadas

Embora as métricas da API sejam uma ferramenta muito proveitosa, pense em algumas questões para garantir que elas forneçam informações úteis, principalmente ao configurar alertas com base em valores de métricas. As práticas recomendadas a seguir ajudarão você a aproveitar ao máximo os dados das métricas da API.

A latência está causando um problema?

Embora alguns serviços sejam bastante sensíveis à latência, para outros, a escala e a confiabilidade são mais importantes. Algumas APIs, como a do Cloud Storage ou a do BigQuery, podem ter alguns segundos de alta latência sem que os clientes percebam. Com os dados das métricas da API, você sabe o que seus usuários demandam de um determinado serviço.

Procurar alterações da norma

Antes de decidir criar um alerta para um determinado valor de métrica, observe o que realmente deve ser considerado um comportamento incomum. Observar suas métricas de API pode mostrar que os resultados de latência para a maioria dos serviços estão dentro de uma distribuição normal: um valor alto no meio e valores baixos nas pontas. Com as métricas, você entende a distribuição normal e desenvolve seu aplicativo para funcionar bem na curva de distribuição. As métricas também podem ajudar a correlacionar as alterações de distribuição com os horários em que o aplicativo não está funcionando conforme o esperado. Isso ajuda a encontrar a causa principal de um problema. Nossa expectativa é que o percentil 99º tenha uma aparência muito diferente da média. Não contamos com mudanças drásticas nesses percentis ao longo do tempo.

Além disso, você pode ver que alguns tipos de solicitações demoram mais do que outros. Se o tamanho médio de uma foto enviada para o Google Fotos for 4 MB, mas você normalmente carrega 20 MB de arquivos RAW, é provável que o tempo médio para enviar 20 fotos seja substancialmente pior do que o da maioria dos usuários, embora ainda seja seu comportamento normal.

Tudo isso significa que não é particularmente útil criar um alerta na primeira vez em que é detectada uma chamada RPC de mais de um segundo ou uma chamada HTTP 5xx. Em vez disso, ao investigar um serviço do Google como possível causa de um problema que seu aplicativo está enfrentando, compare os códigos de retorno e as taxas de latência ao longo do tempo e procure alterações contínuas da norma relacionadas aos problemas observados em seu aplicativo.

Taxa de tráfego

As métricas de API são mais úteis quando você tem um volume alto de tráfego indo para a API. Se você chamar um serviço apenas de forma intermitente, suas métricas de API não serão válidas do ponto de vista estatístico e não fornecerão informações significativas de triagem.

Por exemplo, se você quiser acompanhar a latência do percentil 99,5º para um serviço e fizer somente 100 chamadas por hora, observar a medição durante duas horas forneceria apenas um ponto de dados para representar o percentil 99,5º, que não dirá muito sobre o comportamento normal da API ou do aplicativo. Certifique-se de que a taxa de tráfego, o percentil que você está acompanhando e o intervalo que está considerando geram muitos pontos de dados de interesse. Do contrário, os dados de monitoramento não serão úteis.

APIs compatíveis

As APIs a seguir são compatíveis com todas as nossas métricas de uso da API, incluindo métricas de latência. Outras APIs fornecem apenas métricas de tráfego e erro.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…