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.
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:
- Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
- 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.