Visão geral da API Analytics

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Este tópico apresenta a análise de APIs do Edge.

Vídeo : assista a um vídeo curto para uma visão geral dos serviços do Edge API Analytics.

Melhore sua API com análises

O Edge API Analytics coleta e calcula diversas informações que fluem por meio de proxies da API. É possível visualizar esses dados com gráficos na interface do Edge ou fazer o download dos dados brutos para análise off-line usando as APIs de gerenciamento do Edge.

O Analytics ajuda você a responder a perguntas comuns, como as mostradas a seguir:

  • Qual é a tendência do tráfego da API ao longo do tempo?
  • Quais métodos de API são mais conhecidos?
  • Quem são meus principais desenvolvedores?
  • Quando o tempo de resposta da API é mais rápido? Mais lento?
  • Geograficamente, onde estou vendo a maior parte do tráfego de APIs?

As respostas a perguntas como essas ajudam a melhorar as APIs, resolver problemas e tomar decisões de negócios melhores relacionadas ao programa da API.

A APIs Analytics ajuda todos a melhorar

Por meio de um processo contínuo de coleta, análise e visualização de dados, o Edge API Analytics ajuda sua equipe a melhorar as APIs e os desenvolvedores a melhorar os apps:

alt_text
  • Equipe de API: usa os sistemas internos para criar APIs interessantes. Essa equipe quer saber como está o desempenho do programa e das APIs individuais. Além disso, eles têm interesse em melhorar as APIs.
  • Desenvolvedores de aplicativos: ao compartilhar informações de análise com esses desenvolvedores, você recebe aplicativos melhores. Eles estão inovando com sua API e gerando apps criativos que ajudam a gerar receita para sua empresa. Com o Analytics, os desenvolvedores sabem o desempenho dos apps e quanto estão contribuindo para os resultados da sua empresa. Os desenvolvedores querem saber como eles podem melhorar seus aplicativos.
  • Equipe de operações: essa equipe quer entender os padrões de tráfego e prever quando adicionar recursos de back-end ou fazer outros ajustes importantes.
  • Proprietário da empresa: o proprietário quer ver se o investimento na API é válido e onde investir o dinheiro no futuro.

Quais tipos de dados são coletados e analisados?

O Edge API Analytics coleta e analisa uma ampla variedade de dados que fluem entre proxies da API, como estes:

  • Tempo de resposta
  • Latência da solicitação
  • Tamanho da solicitação
  • Erros de destino
  • Nome do produto da API
  • Endereço de e-mail do desenvolvedor
  • Nome do app
  • Muitos outros

Para ver uma lista completa dos dados coletados pelo API Analytics, consulte Referência de métricas, dimensões e filtros do Analytics.

Como faço para coletar dados de análise personalizados?

O Edge coleta muitos dados nativamente. Também é possível coletar dados de análise personalizados específicos para seus proxies, apps, produtos ou desenvolvedores de API. Por exemplo, pode ser útil coletar dados de análise com base parâmetros de consulta e solicitações de cabeçalhos, corpos ou gerais, ou variáveis definidas em suas APIs.

Você coleta dados de análise personalizados usando a política StatisticsCollector. Depois que os dados personalizados são extraídos, é possível usar a interface ou a API Analytics para examinar os dados. Consulte Analisar o conteúdo das mensagens da API usando análises personalizadas para ver um exemplo completo que demonstra como coletar dados de análises personalizadas.

Diferenças entre os dados do Analytics e os dados do monitoramento de APIs

Esta seção descreve algumas pequenas diferenças entre os dados coletados pelo Edge Analytics e pelo monitoramento de APIs. Como o monitoramento de APIs e o Analytics usam pipelines de dados diferentes, você pode notar pequenas diferenças entre os relatórios personalizados gerados pelo monitoramento e os relatórios gerados pelo Analytics. Por exemplo, você pode notar discrepâncias nos resultados informados para erros de tempo limite: tempos limite de back-end (código de status HTTP 504 na solicitação) e tempos limite do cliente (código de status HTTP 499). Eles podem aparecer com o código de status 200 nos relatórios personalizados do Analytics, mas vão aparecer com o código de status 504 ou 499 nos relatórios personalizados do monitoramento.

Quando e por quanto tempo meus dados de análise estarão disponíveis?

Há dois intervalos de tempo que controlam quando e por quanto tempo é possível visualizar seus dados de análise:

  • Intervalo de atraso de dados : após uma chamada ser feita a um proxy de API, pode levar até 10 minutos para que os dados fiquem acessíveis para exibição ou por chamadas de API de gerenciamento.
  • Retenção de dados - o período em que os dados do Analytics são retidos depende do seu plano de assinatura:
    • Padrão: 30 dias
    • Enterprise: 3 meses
    • Enterprise Plus: 14 meses
    Consulte Preços do gerenciamento de APIs da Apigee para mais informações.

Como faço para acessar meus dados de análise?

O Edge API Analytics fornece ferramentas de visualização de dados incorporadas à interface do Edge. Essas ferramentas incluem painéis de análise predefinidos e relatórios personalizados que exibem dados em gráficos e permitem que você analise os dados agrupados em diferentes dimensões de forma detalhada, por exemplo, proxy de API, endereço IP ou código de status HTTP.

Além disso, é possível fazer o download dos dados de análise usando a API de gerenciamento do Edge. Depois de fazer o download, é possível importar esses dados para suas próprias ferramentas de visualização ou sistema de análise.

Painéis de análise

A interface do Edge fornece um conjunto de painéis predefinidos usados para visualizar os dados de análise. Por exemplo, as imagens a seguir mostram o painel de desempenho do Proxy Performance:

Esse painel inclui os seguintes gráficos:

  • Tráfego total : o número total de solicitações de API recebidas pelo Edge para um ambiente de API em uma organização.
  • Sucesso do tráfego : o número total de solicitações que resultaram em uma resposta bem-sucedida. As respostas de erro não são contabilizadas.
  • Erros de tráfego: o número total de todas as solicitações da API que não foram bem-sucedidas, ou seja, a solicitação não fornece uma resposta. A contagem inclui erros de proxy (lado da Apigee) e erros de destino (os serviços de back-end).
  • TPS médio: é o número médio de solicitações de API e respostas resultantes por segundo.

Veja outros painéis predefinidos:

Para mais informações sobre esses painéis predefinidos, consulte Como usar os painéis de análise.

Relatórios personalizados

Com os relatórios personalizados, é possível visualizar detalhes de métricas específicas da API e os dados exatos que desejar. É possível criar um relatório personalizado usando qualquer um dos dados de análise integrados ao Edge ou dados de análise personalizados coletados pela política StatisticsCollector.

Ao criar um relatório personalizado, você seleciona os dados que quer ver (métricas), agrupando os dados de formas significativas (dimensões) e, se quiser, limitando os dados retornados com base em características específicas (filtro).

Também é possível definir o tipo de gráfico exibido no relatório personalizado como uma coluna ou gráfico de linhas. As imagens a seguir mostram exemplos de gráficos para transações por segundo agrupadas pelo proxy de API:

  • Coluna: cada proxy de API é representado por uma coluna diferente:

    Gráfico de colunas personalizado

  • Linha: cada proxy de API é representado por uma linha diferente:

    Gráfico de linhas personalizado

Para saber mais, consulte Criar e gerenciar relatórios personalizados.

Analytics API

Use a API de gerenciamento do Edge para fazer o download dos dados de análise. Por exemplo, é possível usar a API para criar suas próprias ferramentas de visualização que podem ser incorporadas em portais ou aplicativos personalizados.

Veja um exemplo de chamada de API para recuperar dados de análise para proxies da API:

curl  https://api.enterprise.apigee.com/v1/o/org_name/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \
-u email:password

O resultado da chamada é este:

  • Ela retorna a soma das solicitações (contagem de mensagens) por proxy de API.
  • Isso é feito por um período de 24 horas
  • O agrupamento é feito por hora.

O parâmetro de consulta timeRange especifica o período no formato:

?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

Observe o %20 antes de HH:MM. O parâmetro timeRange requer um caractere de espaço codificado por URL antes de HH:MM, ou um caractere +, como em: MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM.

Para mais informações, consulte Usar as APIs de métricas para medir o desempenho do programa de API.

Exportar dados de análise para o Google Cloud

É possível usar a API de gerenciamento do Edge para exportar todos os dados de análise de um dia inteiro do Edge para seu próprio repositório de dados, como o Google Cloud Storage ou o BigQuery. Em seguida, aproveite os recursos avançados de consulta e machine learning oferecidos pelo Google Cloud BigQuery e pelo TensorFlow para realizar sua própria análise de dados.

Para mais informações, consulte Exportar dados da análise.

Como posso compartilhar dados com desenvolvedores de apps?

Ao pensar nos desenvolvedores de aplicativos como clientes, certifique-se de que eles têm as ferramentas e as informações disponíveis para aproveitar ao máximo sua API.

alt_text

Os desenvolvedores não estão apenas preocupados com a qualidade dos aplicativos, eles também estão interessados nas APIs. Os portais do desenvolvedor baseados em Drupal incluem uma página opcional de desempenho do app, criada para dar aos desenvolvedores acesso a métricas importantes dos aplicativos. Esta página fornece aos desenvolvedores informações sobre os seguintes tópicos:

  • Erros:quais erros da API meu aplicativo está vendo?
  • Desempenho: a API está lenta no momento? Quais métodos de API costumam ser lentos ou estão lentos no momento?
  • Disponibilidade:a API está disponível ou inativa?
  • Cota: a API tem uma cota? Como desenvolvedor de apps, como estou indo contra a cota?

Para mais informações, consulte:

Além disso, é possível compartilhar análises com seus desenvolvedores das seguintes formas:

Como gerar dados de análise completos?

O que significa análise completa? É possível, por exemplo, criar um proxy de API para que o Edge colete dados de análise sobre esse proxy. Mas e as métricas para o desenvolvedor ou o aplicativo que chamaram o proxy de API? Se o Edge não souber quem fez uma chamada de API, ele não poderá coletar esses dados.

Algumas etapas são necessárias para permitir que o Edge descubra quais desenvolvedores e quais apps de desenvolvedor estão chamando seus proxies de API. Veja uma lista dessas etapas com links para informações mais detalhadas:

  1. Crie um ou mais produtos de API, que são um agrupamento de proxies de API com um plano de serviço. Consulte Gerenciar produtos de API.
  2. Registre desenvolvedores de apps com o Edge. Consulte Registrar desenvolvedores de apps.
  3. Registre apps e gere chaves de API para seus desenvolvedores. Consulte Registrar apps e gerenciar chaves de API.
  4. Adicione políticas de segurança aos seus proxies de API que verificam as chaves de API e/ou os tokens de segurança. Consulte os seguintes tópicos:política Verify API Key, política OAuthV2 e política Verify JWT.
  5. Se você estiver usando o Edge Microgateway, verifique se você ativou o plug-in de análise (que está ativado por padrão). Se o plug-in de análise estiver desativado, o Edge Microgateway não vai enviar dados de análise para o Edge Analytics.

Os seguintes tutoriais orientam você nas etapas necessárias que permitem ver as análises para desenvolvedores e aplicativos: Proteger uma API exigindo chaves de API e Proteger uma API com OAuth.

Comparação entre as APIs Analytics e Monitoring

É possível aproveitar o monitoramento de APIs do Edge e o API Analytics. O monitoramento de APIs examina os dados de análise para fornecer insights contextuais em tempo real sobre o desempenho da API, permitindo diagnosticar problemas rapidamente e facilitar ações corretivas para a continuidade de negócios. O monitoramento de APIs foi projetado para encontrar rapidamente pontos problemáticos nas APIs e nos back-ends. O API Analytics foi projetado para capturar uma ampla variedade de dados de análise para uso por várias equipes diferentes, mas os dados são normalmente usados para análise em cenários não em tempo real.

Uma das principais diferenças entre o monitoramento de APIs e o API Analytics é o mecanismo de alerta integrado ao monitoramento de APIs. Com os alertas, você especifica um código de status HTTP (2xx/4xx/5xx), latência ou limite de código de falha que, quando excedido, aciona uma notificação de alerta para sua equipe de operações. As notificações de alerta podem ser enviadas por vários canais, como e-mail, Slack, pagers ou webhooks, permitindo que você responda a problemas imediatamente.

Consulte Comparar o monitoramento de APIs com o Edge API Analytics para uma comparação mais detalhada entre esses serviços.

Mais informações