Suivi Kong API Gateway

Une fois l'agent hôte Instana installé, le capteur Kong API Gateway est automatiquement installé. Vous pouvez consulter les indicateurs associés à Kong API Gateway dans l'interface utilisateur d' Instana, une fois que vous avez configuré le capteur comme indiqué dans la section « Configuration ».

Informations de support

Pour vous assurer que le capteur Kong API Gateway est compatible avec votre configuration actuelle, consultez les sections d'informations d'assistance suivantes :

Systèmes d'exploitation pris en charge

Les systèmes d'exploitation pris en charge par le capteur Kong API Gateway correspondent aux exigences des agents hôtes, qui peuvent être consultées dans la section « Systèmes d'exploitation pris en charge » de chaque agent hôte, comme par exemple les systèmes d'exploitation pris en charge pour Unix.

Versions prises en charge et politique d'assistance

Le capteur prend en charge les versions suivantes d' Kong API Gateway :

  • Kong Passerelle (OSS) 2.6 ou version ultérieure
  • Kong Gateway 2.6 ou version ultérieure (en mode Gratuit ou Entreprise)

Le tableau suivant présente la dernière version prise en charge et la politique d'assistance :

Technologie Politique de support Dernière version technologique Dernière version prise en charge
Kong API Gateway A la demande 3.10.0.0 3.10.0.0

Pour plus d'informations sur la politique d'assistance, consultez la section « Stratégie d'assistance pour les capteurs ».

Prérequis

Vérifiez les conditions préalables avant de configurer le capteur « Kong » ( API Gateway ).

Mode autonome

Assurez-vous que l'adresse API de l'interface d'administration d' Kong est accessible depuis l'hôte sur lequel l'agent est installé. Dans le kong.conf fichier, modifiez le admin_listen paramètre comme indiqué dans l'exemple suivant :

admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 0.0.0.0:8444 http2 ssl reuseport backlog=16384

Dans la liaison d'interface, l'adresse IP 127.0.0.1 indique que le serveur écoute uniquement l'interface de bouclage. La liaison du serveur à l'adresse IP 0.0.0.0 permet au serveur d'accepter le trafic provenant de toutes les interfaces disponibles.

Mode hybride

Instana prend en charge l'architecture en mode hybride d' Kong. La surveillance hybride de l' Kong API Gateway s'effectue grâce à la détection automatique du processus Kong. Aucune entrée n'est nécessaire dans le fichier configuration.yaml . Par défaut, le port du plan de contrôle est 8001 et le port du plan de données est 8100.

Authentification de base

Le capteur Kong Instana prend en charge l'authentification de base. Pour configurer l'authentification de base d' Kong, consultez les instructions. Si l' API d'administration Kong ne requiert pas d'authentification de base, vous pouvez ignorer cette étape.

La configuration suivante s'applique uniquement si l'authentification de base est activée. Sinon, ne mettez pas à jour la configuration et ne la mettez pas en commentaire.

username: '' # Optional. Only for basic authentication otherwise keep it commented.
password: '' # Optional. Only for basic authentication otherwise keep it commented.
admin_api_route_path: '' # Optional.Only for basic authentication otherwise keep it commented.

Kong - Authentification par jeton d'administrateur

Kong - L'authentification par jeton d'administrateur suppose que Kong est sécurisé par un contrôle d'accès basé sur les rôles (RBAC) et que vous avez créé votre jeton d'administrateur Kong. Vous devez créer un jeton d'administrateur ( Kong -Admin-Token) avant d'effectuer des appels de gestion (admin API ). Pour créer et mettre à jour votre jeton dans la console Web Kong Enterprise Edition, cliquez sur Profil > Réinitialiser le jeton. Un jeton abc123 est créé dans l'exemple suivant : si l' Kong -admin API ne nécessite pas d'authentification via Kong -Admin-Token, vous pouvez ignorer cette étape.

La configuration suivante s'applique uniquement si l'authentification par jeton d'administration ( Kong -Admin-Token) est activée. Sinon, ne mettez pas à jour la configuration et conservez-la en commentaire.

admin_token: 'abc123' # Optional. Only for Kong-Admin-Token based authentication otherwise keep it commented.

Activation du plug-in « Kong » Prometheus

Le capteur Instana Kong s'appuie sur les données fournies par le plug-in Prometheus pour afficher les indicateurs relatifs à la latence, à la bande passante et à l'état de santé des applications. Vous devez activer le plug-in « Prometheus » pour que les indicateurs s'affichent sur le tableau de bord.

Pour plus d'informations et pour consulter la liste des indicateurs disponibles, consultez la documentation d' Kong Prometheus.

Configuration

Le capteur Kong API Gateway permet la surveillance à la fois locale et à distance de l' Kong.

Surveillance locale

La surveillance locale de l' Kong API Gateway s'effectue grâce à la détection automatique du processus Kong. Vous devez activer le capteur Kong API Gateway pour lancer la surveillance locale. Pour activer le capteur, réglez le paramètre enabled sur true dans le fichier configuration.yaml.

#Kong API Gateway
com.instana.plugin.kong:
  enabled: false # To enable the sensor, set its value to ‘true’.
  dataset_size: 10 # Maximum number of rows to be fetched as part of the metrics collection related to services or routes.
  disabled_metrics: 'TOTAL_HTTP_REQUESTS,BANDWIDTH_UTILISATION,KONG_LATENCY,UPSTREAM_LATENCY,REQUEST_LATENCY' # Comma-separated list of metrics to be disabled. Remove these metrics to re-enable monitoring. To get the complete list, see Metric Names List.
  status_code_group: '2xx,3xx,4xx,5xx' # Comma-separated list of status codes to be monitored.

Surveillance à distance

Pour vous connecter à Kong API Gateway, configurez les paramètres suivants dans le fichier de configuration <agent_install_dir>/etc/instana/configuration.yaml de l'agent :

#Kong API Gateway
com.instana.plugin.kong:
  enabled: false # To enable the sensor, set its value to ‘true’.
  dataset_size: 10 # Maximum number of rows to be fetched as part of the metrics collection related to services or routes.
  disabled_metrics: 'TOTAL_HTTP_REQUESTS,BANDWIDTH_UTILISATION,KONG_LATENCY,UPSTREAM_LATENCY,REQUEST_LATENCY' # Comma-separated list of metrics to be disabled. Remove these metrics to re-enable monitoring. To get the complete list, see Metric Names List.
  status_code_group: '2xx,3xx,4xx,5xx' # Comma-separated list of status codes to be monitored.
  remote: # Multiple remote configurations can be specified.
    - host: '' # Kong Server Host or IP address.
      port: '' # Admin api port (default is 8444). In case of basic authentication, it is a proxy port.
      availabilityZone: '' # default is 'KongAZ'.
      poll_rate: 30 # Poll rate in seconds (minimum 30 seconds).
      protocol: 'https' # Protocol to access Kong Admin API.  Valid values: [‘https’ or ‘http’]. Default: ‘https’.
      username: '' # Optional. Only for basic authentication otherwise leave it commented.
      password: '' # Optional. Only for basic authentication otherwise leave it commented.
      admin_api_route_path: '' # Optional. Only for basic authentication otherwise leave it commented.
      admin_token: '' # Optional. Only for Token based authentication otherwise leave it commented.

Pour cesser de surveiller les métriques, ajoutez les noms des métriques en tant que valeurs du disabled_metrics paramètre. Utilisez des virgules pour séparer les valeurs. Pour commencer à surveiller ces mesures, supprimez les noms des mesures de la liste. Pour obtenir la liste complète, voir Liste des noms métriques.

Remarque : par défaut, le nombre maximal de lignes affichées dans les tableaux liés aux services ou aux itinéraires est fixé à 10. Vous pouvez modifier cette valeur par défaut en attribuant une valeur au dataset_size paramètre.

L'exemple suivant illustre la configuration sans authentification de base:

#Kong API Gateway
com.instana.plugin.kong:
  enabled: false # To enable the sensor, set its value to ‘true’.
  dataset_size: 10 # Maximum number of rows to be fetched as part of the metrics collection related to services or routes.
  disabled_metrics: 'TOTAL_HTTP_REQUESTS,BANDWIDTH_UTILISATION,KONG_LATENCY,UPSTREAM_LATENCY,REQUEST_LATENCY' # Comma-separated list of metrics to be disabled. Remove these metrics to re-enable monitoring. To get the complete list, see Metric Names List.
  status_code_group: '2xx,3xx,4xx,5xx' # Comma-separated list of status codes to be monitored.
  remote: # Multiple configurations can be specified
    - host: 'host-1' # Kong Server Host or IP address.
      port: '8444' # Admin api port(default is 8444). In case of basic authentication, it is a proxy port.
      availabilityZone: 'KongAZ-DC1' # default is 'KongAZ'
      poll_rate: 30 # Poll rate in seconds. It can not be less than 30 seconds.
      protocol: 'https' # ['https' or 'http']. Default is 'https'. Protocol to access Kong Admin API.
    - host: 'host-2' # Kong Server Host or IP address.
      port: '8444' # Admin api port(default is 8444). In case of basic authentication, it is a proxy port.
      availabilityZone: 'KongAZ-DC2' # default is 'KongAZ'
      poll_rate: 30 # Poll rate in seconds. It can not be less than 30 seconds.
      protocol: 'https' # ['https' or 'http']. Default is 'https'. Protocol to access Kong Admin API.

L'exemple suivant illustre la configuration de avec l'authentification de base activée:

#Kong API Gateway
com.instana.plugin.kong:
  enabled: false # To enable the sensor, set its value to ‘true’.
  dataset_size: 10 # Maximum number of rows to be fetched as part of the metrics collection related to services or routes.
  disabled_metrics: 'TOTAL_HTTP_REQUESTS,BANDWIDTH_UTILISATION,KONG_LATENCY,UPSTREAM_LATENCY,REQUEST_LATENCY' # Comma-separated list of metrics to be disabled. Remove these metrics to re-enable monitoring. To get the complete list, see Metric Names List.
  status_code_group: '2xx,3xx,4xx,5xx' # Comma-separated list of status codes to be monitored.
  remote: # Multiple configurations can be specified
    - host: 'host-1' # Kong Server Host or IP address.
      port: '8444' # Admin api port(default is 8444). In case of basic authentication, it is a proxy port.
      availabilityZone: 'KongAZ-DC1' # default is 'KongAZ'
      poll_rate: 30 # Poll rate in seconds. It can not be less than 30 seconds.
      protocol: 'https' # ['https' or 'http']. Default is 'https'. Protocol to access Kong Admin API.
      username: 'user-1' # Optional. Only for basic authentication otherwise keep it commented.
      password: 'password-1' # Optional. Only for basic authentication otherwise keep it commented.
      admin_api_route_path: 'admin-api-1' # Optional.Only for basic authentication otherwise keep it commented.
    - host: 'host-2' # Kong Server Host or IP address.
      port: '8444' # Admin api port(default is 8444). In case of basic authentication, it is a proxy port.
      availabilityZone: 'KongAZ-DC2' # default is 'KongAZ'
      poll_rate: 30 # Poll rate in seconds. It can not be less than 30 seconds.
      protocol: 'https' # ['https' or 'http']. Default is 'https'. Protocol to access Kong Admin API.
      username: 'user-2' # Optional. Only for basic authentication otherwise keep it commented.
      password: 'password-2' # Optional. Only for basic authentication otherwise keep it commented.
      admin_api_route_path: 'admin-api-2' # Optional.Only for basic authentication otherwise keep it commented.

Liste des noms métriques

Nom de fournisseur personnalisé Noms de tables de l'interface utilisateur désactivés
NOMBRE_TOTAL_DE_DEMANDES_HTTP Services les plus demandés sur HTTP
UTILISATION DE LA BANDE PASSANTE Principaux services par utilisation de la bande passante, bande passante pour tous les services
DICTIONNAIRE_PARTAGÉ Slabs alloués au dictionnaire partagé
KONG_LATENCE Principaux services par latence Kong, Principaux itinéraires par latence Kong, Latence Kong pour tous les services, Latence Kong pour tous les itinéraires
LATENCE_EN_AMONT Principaux services par latence en amont, principales routes par latence en amont, latence en amont pour tous les services, latence en amont pour toutes les routes
LATENCE_DE_LA_DEMANDE Principaux services en fonction de la latence des requêtes, principales routes en fonction de la latence des requêtes, latence des requêtes pour l'ensemble des services, latence des requêtes pour l'ensemble des routes
OCTETS_ALLOUÉS_TRAVAILLEUR_LUA Octets alloués dans la machine virtuelle Lua worker
NGINX_TOTAL_REQUESTS Nombre total de demandes Kong NGINX
NGINX_CURRENT_CONNECTIONS Nombre total de connexions

Affichage des mesures

Pour afficher les métriques, procédez comme suit:

  1. Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
  2. Cliquez sur un hôte surveillé spécifique.

Vous pouvez voir un tableau de bord hôte avec toutes les métriques collectées et les processus surveillés.

Les indicateurs suivants sont disponibles pour chaque serveur Kong API Gateway :

Métrique Description Granularité
Magasin de données Kong accessible Affiche l'état de la connexion au magasin de données d' Kong. Renvoie « Non » si Kong ne parvient pas à se connecter au magasin de données; sinon, renvoie « Oui ». 30 secondes
Prometheus Activé Affiche l'état du plugin Prometheus. Renvoie « Non » si le plugin n'est pas activé dans Kong, sinon renvoie « Oui ». 30 secondes
Base de données Kong Affiche le nom de la base de données à laquelle Kong est connecté. 30 secondes
Nombre total d'entités de base de données Affiche le nombre total d'entités dans la base de données « Kong ». 30 secondes
Erreurs de nombre d'entités de base de données Kong Mesure le nombre d'erreurs rencontrées lors du comptage du nombre total d'entités dans la base de données « Kong ». 30 secondes
Erreurs dans la collecte des informations de licence Affiche le nombre total d'erreurs rencontrées lors de la collecte des informations de licence. 30 secondes
Erreurs de métrique Nginx Kong Incrémente les erreurs de métrique rencontrées lors de l'utilisation de la bibliothèque nginx-lua-prometheus . Cette bibliothèque Lua est utilisée avec Nginx pour suivre les métriques et les afficher sur une page Web distincte à extraire par Prometheus. 30 secondes
Cohérence de l'agent Indique si ce noeud doit régénérer son état de manière synchrone ou asynchrone. Les valeurs acceptées sont strictes et éventuelles. 30 secondes
Fréquence de mise à jour de l'état de l'agent Définit la fréquence à laquelle les changements d'état de l'agent sont vérifiés avec un travail en arrière-plan. La valeur par défaut est 5 secondes. 30 secondes
Temporisateurs Kong Nginx Indique le nombre total de temporisateurs d' NGINX s en cours d'exécution et en attente. 30 secondes
Trafic total Affiche le nombre de tous les codes de statut regroupés par classe de code de statut (par exemple, 2xx, 3xx, 4xxet 5xx) 30 secondes
Slabs alloués au dictionnaire partagé Présente les tranches allouées en octets dans un dictionnaire à mémoire partagée pour stocker de grandes quantités de données. 30 secondes
Utilisation de la mémoire du dictionnaire partagé Présente la mémoire totale consommée par les dictionnaires partagés 30 secondes
Octets alloués dans la machine virtuelle Lua worker Affiche la mémoire allouée en octets dans la machine virtuelle Worker Lua. 30 secondes
Nombre total de demandes Kong NGINX Affiche le nombre total de requêtes par sous-système, comme « HTTP » ou «stream». 30 secondes
Bande passante pour tous les services Affiche le débit total (sortant ou entrant) transitant par Kong, en octets, pour l'ensemble des services 30 secondes
Slabs alloués au dictionnaire partagé Présente les tranches allouées en octets dans un dictionnaire à mémoire partagée pour stocker de grandes quantités de données. 30 secondes
Nombre total de demandes HTTP Affiche le nombre total de requêtes « HTTP » par service, par route et par code d'état HTTP. 30 secondes
Kong Latence par service et par route Affiche la latence introduite par Kong et les plug-ins activés pour chaque service et chaque route. 30 secondes
Latence des requêtes par service et par route Affiche le temps total mis par Kong pour recevoir une requête concernant un service ou un itinéraire et pour répondre au client. 30 secondes
Latence en amont par service et par route Affiche le temps mis par le service en amont pour traiter une requête et renvoyer la réponse à Kong pour un service ou une route. 30 secondes
Kong Latence sur l'ensemble des services et des routes Affiche la latence totale de l' Kong ation pour l'ensemble des services et des routes 30 secondes
Latence des requêtes sur l'ensemble des services et des itinéraires Affiche la latence totale de la demande pour tous les services et toutes les routes 30 secondes
Latence en amont pour tous les services et toutes les routes Affiche le temps de latence total en amont pour tous les services et toutes les routes 30 secondes

Kong Exemple de traçage

Instana propose un dépôt public permettant de prévisualiser la fonction de traçage du capteur Kong API Gateway. Pour plus d'informations, consultez kong-otel-tracing.