Vous consultez la documentation sur Apigee Edge.
Consultez la documentation sur Apigee X.
Utilisez les API décrites ci-dessous pour obtenir des métriques de surveillance des API. Les métriques sont les valeurs de données agrégées par API Monitoring à partir des données brutes contenues dans les journaux Monitoring d'API.
Les sections suivantes décrivent comment gérer les métriques à l'aide de l'API.
- API de métriques
- Obtenir des informations sur l'erreur
- Collecter des métriques sur le trafic et la latence
- Collecter des métriques pour les alertes
Consultez la section API Metrics pour en savoir plus sur l'API Metrics.
Pour en savoir plus sur les options cURL utilisées dans ces exemples, consultez Utiliser cURL.
API de métriques
L'URL de base que vous utilisez pour envoyer une requête GET à l'API de métriques est la suivante:
https://apimonitoring.enterprise.apigee.com/metrics/resource
Où resource correspond à une métrique spécifique. Le tableau suivant répertorie les ressources de métriques:
Ressource | Description |
/traffic
|
Obtenez des métriques sur le trafic. Spécifiez les filtres tels que le nom du proxy, l'intervalle, la fenêtre temporelle, la cible, le code d'état, etc. |
/latency
|
Obtenir des métriques de latence pour les requêtes
à la périphérie et aux cibles de backend. Spécifiez les filtres tels que le nom du proxy, l'intervalle, la cible, le code d'état, etc. |
/targets
|
Obtenez tous les domaines cibles pour une organisation et un environnement spécifiques. |
/alerthistory
|
Obtenez des métriques sur l'historique des alertes pour une organisation et une période spécifiques. |
/alertinstance/instanceid
|
Obtenez les métriques d'historique des alertes pour l'ID d'instance d'alerte spécifique. |
/alertsummary
|
Obtenez le nombre total d'alertes pour une organisation et une période. |
/faultcodenames
|
Obtenez tous les noms de code d'erreur. |
/faultcodes
|
Obtenez des codes d'erreur. |
/faultcodecategories
|
Obtenir les catégories de code d'erreur. |
/faultcodesubcategories
|
Obtenir les sous-catégories de code d'erreur. |
/faultcodedetails
|
Obtenez tous les codes d'erreur avec les détails. |
Obtenir des informations sur les pannes
Les ressources /fault*
renvoient toutes des métadonnées sur les pannes possibles sur Edge.
Par exemple, pour afficher la liste de toutes les catégories d'erreur possibles:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Définissez $ACCESS_TOKEN
sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0.
La réponse se présente comme suit:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
Vous pouvez ensuite déterminer la liste des codes d'erreur pour la catégorie API Protocol
:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Pour plus d'options, consultez l'API Metrics.
Capturer les métriques de trafic et de latence
L'API Metrics comporte des filtres que vous pouvez appliquer à l'API pour spécifier des plages de temps personnalisées, des proxys, des régions, des environnements et d'autres filtres pour les métriques calculées. Par exemple, pour afficher la métrique "Transactions par seconde (tps)" toutes les 10 minutes pour l'heure précédente pour tous les environnements:
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"
Définissez $ACCESS_TOKEN
sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0.
Cet appel renvoie les résultats au format suivant:
{
"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],
…
]
},
…
}
}]
}
Notez que la propriété columns
spécifie le format de values
. La propriété values
contient les tps calculés toutes les 10 minutes pour l'intervalle précédent de 10 minutes.
Le paramètre de requête interval
définit la fréquence à laquelle la métrique est enregistrée dans les résultats et la fenêtre d'échantillonnage pour la valeur dans les résultats. Dans l'exemple ci-dessus, la métrique est calculée sur les 10 dernières minutes et écrite dans les résultats toutes les 10 minutes.
Utilisez les paramètres de requête from
et to
pour spécifier une période au format ISO.
La durée maximale spécifiée par from
et to
est de 24 heures.
Le format de la date peut être l'un des suivants:
yyyy-mm-ddThh:mm:ssZ
yyyy-mm-ddThh:mm:ss+00:00
Exemple :
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"
Vous pouvez également utiliser les paramètres de requête from
et to
pour spécifier une période relative, par exemple pour la dernière heure:
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"
Une autre option consiste à utiliser le paramètre de requête proxy
afin d'afficher le nombre de transactions par seconde (tps) pour un seul 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"
Pour les métriques de latence, spécifiez un grand nombre de critères identiques aux métriques de trafic. Toutefois, pour la ressource /latency
:
- Vous devez spécifier le paramètre de requête
percentile
comme50
,90
,95
ou99
. Par exemple, si vous spécifiez90
, l'API renvoie la valeur de latence totale de la réponse au 90e centile. - Correction de
windowsize
à une minute.
Par exemple, pour afficher les métriques de la latence totale au 90e centile pour une fenêtre d'une minute:
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"
Pour plus d'options, consultez API Metrics.
Capturer des métriques pour les alertes
L'API de métriques renvoie des métriques pour toutes les alertes, pour une alerte spécifique ou pour un résumé des alertes. Par exemple, pour obtenir l'historique des alertes d'une organisation pour la dernière heure:
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"
Définissez $ACCESS_TOKEN
sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0.
Cet appel d'API renvoie une réponse au format suivant:
[
{
"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"
},
…
]
Vous pouvez ensuite utiliser id
dans le tableau renvoyé pour obtenir des informations sur une alerte spécifique:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Pour plus d'options, consultez l'API Metrics.