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
Les métriques, qui permettent d'alimenter les différents dashboards, sont constituées des données suivantes :
sur la requête
- lang : langue de la requête
- lp_csid : ID du cookie (si utilisé)
- method : méthode de la requête
- originPort : port d'origine, se base sur l'entête
X-Origin-Port - remoteMethod : méthode remote de la requête, n'apparaît que si utilisé
- requestId : ID de la requête
- requestSize : taille de la requête (en octets)
- statusCode : code statut de la requête
- timestamp : date et heure de la requête au format ISO 8601
- type : type d'événement (seule valeur actuellement renseignée :
request) - url : URL de la requête
- userAgent : User Agent de la requête
sur la réponse
- responseSize : taille du body de la réponse (en octets)
sur le consommateur
- appKeyId : ID de la clé consommatrice
- appId : ID de l'app consommatrice (dans le SI Okapi)
- appName : nom de l'app consommatrice
- ip : adresse IP du client
- originPort : port d'origine du client
- projectId : ID du projet consommateur (dans le SI Okapi)
- projectName : nom du projet consommateur
- subscriptionId : ID de la souscription (dans le SI Okapi)
- 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
sur le service consommé
- apiId : ID de l'API consommée (dans le SI Okapi)
- apiName : nom de l'API consommée
- apiUrlContext : URL context de l'API consommée
- apiVersion : version de l'API consommée
- environmentId : ID de l'environnement consommé
- environment : nom technique de l'environnement consommé
- hostname : nom du serveur demandé
- instanceId : ID de l'instance Okapi
- resourceId : ID de la ressource d'API consommée (dans le SI Okapi)
- resourceName : nom de la ressource d'API consommée
- sandbox :
truesi la requête souhaite utiliser un endpoint alternatif (sandbox),falsesinon - server : ID du serveur (
apipour l'API gateway) - subscriptionPlan : nom du plan souscrit
sur la performance
- 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
- gatewayDuration : temps de traitement de la requête par l'API gateway
- gatewayHandleDuration : temps écoulé entre la récéption de la requête et l'envoi de la requête au fournisseur
- gatewayPluginsAfterDuration : temps d'exécution du plugin after
- gatewayPluginsBeforeDuration : temps d'exécution du plugin before
- gatewaySendDuration : temps écoulé entre la réception de la réponse de l'API fournisseur par Okapi et l'envoi de la réponse au consommateur
- providerDuration : temps écoulé entre l'envoi par Okapi de la requête au fournisseur et la réponse reçue par Okapi