Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
Use as APIs descritas abaixo para receber métricas da API Monitoring. As métricas são os valores de dados agregados pela API Monitoring dos dados brutos contidos nos registros da API Monitoring.
As seções a seguir descrevem como gerenciar métricas usando a API.
- APIs Metrics
- Receber informações de falha
- Capturar métricas de tráfego e latência
- Capturar métricas de alertas
Consulte a API Metrics para mais informações sobre a API Metrics.
Para informações sobre as opções de cURL usadas nesses exemplos, consulte Usar cURL.
APIs Metrics
O URL base usado para fazer uma solicitação GET à API Metrics é:
https://apimonitoring.enterprise.apigee.com/metrics/resource
Em que resource corresponde a uma métrica específica. A tabela a seguir lista os recursos de métricas:
| Recurso | Descrição |
/traffic
|
Receber métricas de tráfego. Especifique filtros como nome do proxy, intervalo, janela de tempo, destino, código de status e muitos outros. |
/latency
|
Receber métricas de latência para solicitações
para o Edge e para destinos de back-end. Especifique filtros como nome do proxy, intervalo, destino, código de status e muitos outros. |
/targets
|
Receber todos os domínios de destino de uma organização e ambiente específicos. |
/alerthistory
|
Receber métricas do histórico de alertas de uma organização e janela de tempo específicas. |
/alertinstance/instanceid
|
Receber métricas do histórico de alertas para o ID da instância de alerta específica. |
/alertsummary
|
Receber a contagem total de alertas de uma organização e janela de tempo. |
/faultcodenames
|
Receber todos os nomes de faultcode. |
/faultcodes
|
Receber códigos de falha. |
/faultcodecategories
|
Receber categorias de códigos de falha. |
/faultcodesubcategories
|
Receber subcategorias de códigos de falha. |
/faultcodedetails
|
Receber todos os códigos de falha com detalhes. |
Receber informações de falha
Todos os recursos /fault* retornam metadados sobre as possíveis falhas no Edge.
Por exemplo, para conferir a lista de todas as categorias de falhas possíveis:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Defina $ACCESS_TOKEN como token de acesso do OAuth 2.0, conforme descrito em
Receber um token de acesso do OAuth 2.0.
A resposta aparece como:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
Em seguida, é possível determinar a lista de códigos de falha para a categoria API Protocol:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Para outras opções, consulte a API Metrics.
Capturar métricas de tráfego e latência
A API Metrics tem filtros que podem ser aplicados à API para especificar intervalos de tempo personalizados, proxies, regiões, ambientes e outros filtros para as métricas calculadas. Por exemplo, para conferir a métrica de transações por segundo (tps) a cada 10 minutos da hora anterior para todos os ambientes:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Defina $ACCESS_TOKEN como token de acesso do OAuth 2.0, conforme descrito em
Receber um token de acesso do OAuth 2.0.
Essa chamada retorna resultados no formato:
{
"results":[
{
"series":[
{
"name":"proxy",
"tags":
{
"env":"prod",
"intervalSeconds":"60",
"org":"myorg",
"region":"myregion"
},
"columns":["time","tps"],
"values":[
["2018-08-15T13:10:00Z",5.03],
["2018-08-15T13:20:00Z",5.01],
["2018-08-15T13:30:00Z",5.81],
["2018-08-15T13:40:00Z",5.95],
…
]
},
…
}
}]
}
Observe como a propriedade columns especifica o formato de values. A propriedade values contém o tps calculado a cada 10 minutos, para o intervalo de 10 minutos anterior.
O parâmetro de consulta interval define a frequência com que a métrica é salva nos resultados e a janela de amostragem para o valor nos resultados. No exemplo acima, a métrica é calculada nos 10 minutos anteriores e gravada nos resultados a cada 10 minutos.
Use os parâmetros de consulta from e to para especificar um intervalo de tempo formatado em ISO.
A duração máxima especificada por from e to é de 24 horas.
O formato de data pode ser:
yyyy-mm-ddThh:mm:ssZyyyy-mm-ddThh:mm:ss+00:00
Exemplo:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Ou use os parâmetros de consulta from e to para especificar um intervalo de tempo relativo, por exemplo, para a última hora:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Outra opção é usar o parâmetro de consulta proxy para mostrar as transações por segundo (tps) de um único proxy:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Para métricas de latência, especifique muitos dos mesmos critérios que para métricas de tráfego. No entanto, para o recurso /latency:
- É necessário especificar o parâmetro de consulta
percentilecomo50,90,95ou99. Por exemplo, se você especificar90, a API retornará o valor total de latência de resposta no 90º percentil. - O
windowsizeé fixo em um minuto.
Por exemplo, para conferir as métricas da latência total no 90º percentil de uma janela de 1 minuto:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Para outras opções, consulte a API Metrics.
Capturar métricas de alertas
A API Metrics retorna métricas para todos os alertas, para um alerta específico ou um resumo de alertas. Por exemplo, para receber o histórico de alertas de uma organização na última hora:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Defina $ACCESS_TOKEN como token de acesso do OAuth 2.0, conforme descrito em
Receber um token de acesso do OAuth 2.0.
Essa chamada de API retorna uma resposta no formato:
[
{
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
\"reportUUID\":\"\",
\"reportEnabled\":false,
\"organization\":\"myorg\",
\"name\":\"Public Api 5xx error rate\",
\"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
\"description\":\"\",
\"conditions\":[
{
\"comparator\":\"\u003e\",
\"metric\":\"rate\",
\"durationSeconds\":3600,
\"name\":\"\",
\"description\":\"\",
\"threshold\":0.01,
\"dimensions\":
{
\"proxy\":\"myAPI\",
\"org\":\"myorg\",
\"env\":\"prod\",
\"region\":\"myRegion\",
\"statusCode\":\"5xx\"
}
}],
\"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
\"playbook\":\"This is a test alert.\"
}",
"time":"2018-08-14T12:45:28Z"
},
…
]
Em seguida, é possível usar o id na matriz retornada para receber informações sobre um alerta específico:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Para outras opções, consulte a API Metrics.