Criar relatórios personalizados

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

Os relatórios personalizados permitem detalhar as métricas específicas da API e ver os dados exatos. Nos painéis do API Monitoring, é possível criar um relatório personalizado com o filtro e as métricas predefinidos com base nas condições configuradas no momento da criação. Além disso, um conjunto de dimensões e métricas padrão é configurado no relatório.

Criar um relatório personalizado com base no contexto

Crie relatórios personalizados rapidamente com base no contexto, conforme resumido na tabela a seguir. Na página "Relatórios personalizados", os relatórios personalizados criados usando o API Monitoring são nomeados de forma exclusiva (por padrão), conforme indicado na tabela. É possível mudar o nome ao editar o relatório personalizado.

Contexto do relatório personalizado Convenção de nomenclatura padrão para relatório personalizado
Painel "Recente" API Monitoring Recent Generated
Painel "Cronograma" API Monitoring Timeline Generated
Painel "Investigar" API Monitoring Investigate Generated
Condição de alerta API Monitoring Generated: alert-name

Dimensão e métricas padrão

O relatório personalizado vai incluir as dimensões e métricas listadas na tabela a seguir para todos os relatórios gerados pelo API Monitoring, por padrão.

Componente Padrões
Dimensões URI da solicitação
Métricas
  • Tempo total de resposta
  • Tempo de resposta do destino
  • Erros de proxy
  • Erros de destino

Editar o relatório personalizado

Como mencionado na seção anterior, um conjunto predefinido de dimensões e métricas padrão do API Monitoring default dimensions and metrics é pré-configurado em relatórios personalizados. Depois de criado, é possível editar o relatório personalizado para adicionar ou excluir métricas e dimensões, conforme necessário. Por exemplo, você pode limitar a investigação a um determinado token de acesso, app do desenvolvedor, proxy de API ou ID da solicitação.

No relatório personalizado a seguir, você adiciona a dimensão predefinida Gateway Flow ID, em que Gateway Flow ID contém o UUID exclusivo de cada solicitação de API feita para o Edge. O relatório já usa a dimensão Request URI:

O exemplo a seguir adiciona a dimensão Client ID ao relatório personalizado. A dimensão Client ID contém o token do cliente (chave de API) do desenvolvedor que faz a chamada de API, transmitida na solicitação como uma chave de API ou incluída em um token OAuth:

O relatório personalizado contém informações para todos os valores de Client ID. O exemplo a seguir adiciona um filtro para que você possa criar um relatório personalizado para um Client ID específico:

Para mais informações sobre todas as dimensões e métricas predefinidas que podem ser adicionadas a um relatório, consulte a referência de métricas, dimensões e filtros de análises.

No exemplo a seguir, você adiciona um filtro a um relatório personalizado que captura as métricas e dimensões padrão para o código de falha policies.ratelimit.QuotaViolation e os códigos de status 5xx:

Para detalhes completos sobre como editar um relatório personalizado, consulte Gerenciar relatórios personalizados.

Exemplo: usar relatórios personalizados para diagnosticar problemas de implantação

Anexe a política StatisticsCollector aos proxies de API para coletar dados de análise personalizados, como ID do usuário ou produto, preço, ação REST, versão de destino, URL de destino e tamanho da mensagem. Os dados podem ter origem em variáveis de fluxo predefinidas pela Apigee, cabeçalhos de solicitação, parâmetros de consulta ou variáveis personalizadas que você define.

Por exemplo, as solicitações ao proxy de API incluem cabeçalhos para o ID do produto, o ID do usuário e a versão do servidor de destino. Essa solicitação pode estar no formato:

curl -H "prodid:123456" -H "userid:98765" -H "targetversion:beta" http://myapi.com/myapi

Em seguida, use as informações nos cabeçalhos para ajudar a diagnosticar problemas de execução com o proxy de API.

Para criar um relatório personalizado para esses cabeçalhos:

  1. Adicione a política StatisticsCollector à API para capturar o valor dos cabeçalhos personalizados:

    <StatisticsCollector name="publishPurchaseDetails">
      <Statistics>
        <Statistic name="prodid" ref="request.header.prodid" type="integer">0</Statistic>
        <Statistic name="userid" ref="request.header.userid" type="integer">0</Statistic>
        <Statistic name="targetversion" ref="request.header.targetversion" type="string">alpha</Statistic>
      </Statistics>
    </StatisticsCollector>
  2. Implante o proxy e aguarde o acesso.

  3. Clique em Análise > API Monitoring > Recentes na IU do Edge para conferir problemas com a API. Você está recebendo erros 4xx e 5xx para o proxy myapi:

  4. Selecione a linha do proxy myapi para conferir mais detalhes no painel direito do painel "Recente".

  5. No painel direito do painel "Recente", selecione Menu &quot;Mais&quot; > Exibir em "Investigar" para acessar o painel "Investigar":

  6. Filtre o painel "Investigar" pelo proxy myapi e confira o código de status no gráfico superior. Você está recebendo erros 403 e 501:

  7. Na IU do Edge, selecione Analytics > Relatórios personalizados > Relatórios para criar um relatório personalizado que inclua os valores dessas métricas personalizadas como uma dimensão.

  8. Selecione + Relatório personalizado para criar um relatório personalizado chamado myapi_errors.

  9. Selecione Erros de proxy para a métrica e defina a função de agregação como Soma. É possível adicionar mais métricas, se quiser.

  10. Selecione a dimensão predefinida Código de status da resposta e adicione as três estatísticas personalizadas prodid, targetersion e userid a "Dimensões":

  11. Defina o filtro para incluir apenas dados do proxy de API myapi (apiproxy eq 'myapi'):

  12. Salve o relatório.

  13. Execute o relatório das últimas 24 horas. Quando o relatório é aberto pela primeira vez, um gráfico de erros HTTP 403 e 501 é exibido:

  14. Em Resumo, clique em 403 ou 510 para conferir qual produto está gerando os erros. Por exemplo, selecione 403:

  15. Clique em um ID do produto em Resumo para conferir os erros por versão de destino (alfa ou beta):

  16. Clique em uma versão de destino em Resumo para conferir os erros por usuário: