Você está visualizando 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 com base nos 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 sobre falhas
- Capturar métricas de tráfego e latência
- Capturar métricas de alertas
Consulte a API Metrics para saber mais.
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 muito mais. |
/latency
|
Conferir métricas de latência para solicitações
para destinos de back-end e Edge. Especifique filtros, como nome do proxy, intervalo, destino, código de status e muito mais. |
/targets
|
Receba todos os domínios de destino de uma organização e um ambiente específicos. |
/alerthistory
|
Receba métricas do histórico de alertas para uma organização e janela de tempo específicas. |
/alertinstance/instanceid
|
Receba métricas do histórico de alertas para o ID da instância de alerta específico. |
/alertsummary
|
Receba a contagem total de alertas para uma organização e uma janela de tempo. |
/faultcodenames
|
Conferir todos os nomes de faultcode. |
/faultcodes
|
Receber códigos de falha. |
/faultcodecategories
|
Receber categorias de código de falha. |
/faultcodesubcategories
|
Receber subcategorias de códigos de falha. |
/faultcodedetails
|
Receba 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 ver a lista de todas as categorias de falha 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, você pode 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 mais opções, consulte a API Metrics.
Capturar métricas de tráfego e latência
A API Metrics tem filtros que podem ser aplicados a ela para especificar intervalos de tempo, proxies, regiões, ambientes e outros filtros personalizados às 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 os 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 os tps calculados a cada 10 minutos, para o intervalo anterior de 10 minutos.
O parâmetro de consulta interval
define a frequência com que a métrica é salva nos resultados e a janela de amostragem do 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 período formatado em ISO.
A duração máxima especificada por from
e to
é de 24 horas.
O formato da data pode ser:
yyyy-mm-ddThh:mm:ssZ
yyyy-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 período relativo, por exemplo, 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 transações por segundo (tps) para 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 as métricas de latência, especifique muitos dos mesmos critérios das métricas de tráfego. No entanto, para o recurso /latency
:
- É necessário especificar o parâmetro de consulta
percentile
como50
,90
,95
ou99
. Por exemplo, se você especificar90
, a API vai retornar o valor da latência de resposta total no percentil 90. - O
windowsize
é fixado em um minuto.
Por exemplo, para conferir as métricas da latência total no 90º percentil em um período 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 mais opções, consulte a API Metrics.
Capturar métricas para alertas
A API Metrics retorna métricas para todos os alertas, para um alerta específico ou para um resumo de alertas. Por exemplo, para conferir o histórico de alertas de uma organização nas últimas horas:
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 seguinte 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, use 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 mais opções, consulte a API Metrics.