Suivre les KPI, monitoring business
Pour chaque requête traitée par l'API gateway, un événement contenant diverses métriques est généré et indexé dans Elasticsearch.
Ces données sont persistées pour une durée de 2 mois ; elles font l'objet de diverses restitutions graphiques et agrégations dans les différents dashboards (developpeur / fournisseur), ainsi que dans Kibana à des fins de monitoring business et supervision par le staff Okapi.
Données collectées par défaut {#données-collectées-par-défaut}
Les métriques, qui permettent d'alimenter les différents dashboards, sont constituées des données suivantes :
- timestamp : date et heure de la requête au format ISO 8601
- server : ID du serveur (
admin
pour le serveur d'admin API ouapi
pour l'API gateway) - type : type d'événement (seule valeur actuellement renseignée :
request
) - ip : adresse IP du client
- originPort : port d'origine du client
- method : méthode de la requête
- url : URL de la requête
- statusCode : code statut de la requête
- hostname : nom du serveur demandé
- userAgent : User Agent de la requête
- lang : langue de la requête
- duration : durée du cycle de vie complet de la requête (hors mis le réseau entre le consommateur et Okapi), temps écoulé entre la réception de la requête par Okapi et l'envoi de la réponse
- providerDuration : temps écoulé entre l'envoi par Okapi de la requête au fournisseur et la réponse reçue par Okapi
- sandbox :
true
si la requête souhaite utiliser un endpoint alternatif (sandbox),false
sinon - resourceId : ID de la ressource d'API consommée (dans le SI Okapi)
- resourceName : nom de la ressource d'API consommée
- apiId : ID de l'API consommée (dans le SI Okapi)
- apiName : nom de l'API consommée
- apiVersion : version de l'API consommée
- appId : ID de l'app consommatrice (dans le SI Okapi)
- appName : nom de l'app consommatrice
- subscriptionId : ID de la souscription (dans le SI Okapi)
- subscriptionPlan : nom du plan souscrit
- userId : ID de l'utilisateur propriétaire de l'app consommatrice (dans le SI Okapi)
- username : pseudo de l'utilisateur propriétaire de l'app consommatrice
- requestSize : taille de la requête (en octets)