Keycloak de surveillance

Vous pouvez surveiller votre environnement Keycloak grâce au capteur Instana Keycloak. Une fois l'agent hôte d' Instana s installé, celui-ci déploie automatiquement le capteur Keycloak, qui collecte des métriques en temps réel. Vous pouvez consulter ces indicateurs dans l'interface utilisateur d' Instana.

Le capteur « Keycloak » offre des fonctionnalités complètes de surveillance pour votre environnement « Keycloak », notamment des indicateurs de performances, des événements utilisateur et la surveillance de l'état de santé.

Informations de support

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

Versions prises en charge et politique d'assistance

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

Tableau 1. Dernière version prise en charge et politique d'assistance
Technologie Politique de support Dernière version technologique Dernière version prise en charge
Keycloak (basé sur Quarkus ) A la demande 26.5 26.5

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

Configuration de la surveillance d' Keycloak

Une fois l'agent installé, le capteur « Keycloak » est activé par défaut. Pour lancer la surveillance d' Keycloak, activez les paramètres requis dans Keycloak.

Activation des métriques et de la surveillance de l'état de santé dans l' Keycloak

Pour collecter des indicateurs de performance, des événements utilisateur et des indicateurs d'intégrité à partir d' Keycloak, assurez-vous que les options de ligne de commande ou les variables d'environnement d' K8s suivantes sont configurées.

Tableau 2. Variables de ligne de commande et d'environnement pour activer la collecte de métriques d' Keycloak
Options de ligne de commande ou variables d'environnement Valeur
--metrics-enabled/ KC_METRICS_ENABLED true
--event-metrics-user-tags / KC_EVENT_METRICS_USER_TAGS realm ou clientId
--health-enabled/ KC_HEALTH_ENABLED true
--event-metrics-user-events / KC_EVENT_METRICS_USER_EVENTS login, logout, client_login, refresh_token, register, ou code_to_token

Pour plus d'informations, consultez la documentation relative aux événements utilisateur d' Keycloak.

Facultatif : configuration de la fréquence d'interrogation

Vous pouvez définir la fréquence à laquelle l' Instana interroge Keycloak pour collecter des données et des métriques en utilisant le poll_rate paramètre dans le fichier de configuration.yaml l'agent (*instanaAgentDir*/etc/instana/configuration.yaml) comme indiqué dans l'exemple suivant :

com.instana.plugin.keycloak:
  enabled: true # Default value is true
  poll_rate: 1 # values are in seconds. Default value is 1 second.
Remarque : si aucun intervalle de sondage n'est spécifié, l'intervalle par défaut est de 1 seconde.

Affichage des mesures

Pour consulter les métriques, sélectionnez « Infrastructure » dans le menu de navigation de l'interface utilisateur d' Instana, cliquez sur un hôte surveillé spécifique, puis vous verrez s'afficher un tableau de bord de l'hôte contenant toutes les métriques collectées et les processus surveillés.

Remarque : les données peuvent également être collectées via un capteur Prometheus. Vous pouvez créer des tableaux de bord personnalisés à partir des indicateurs collectés.

Le capteur « Keycloak » recueille les indicateurs de performance suivants :

Métriques de performance

Les indicateurs suivants sont collectés à partir de l'instance d' Keycloak :

Tableau 3. Indicateurs de performance recueillis
Métrique de performance Description Nom de la métrique Unité
Indicateurs d'événements utilisateur Enregistre les occurrences d'événements utilisateur associés aux balises : realm, client_id, event, ou error keycloak.user Nombre
HTTP Server Statistiques sur les requêtes Mesure la durée de traitement des requêtes pour les URI correspondant à /realms/{realm}/protocol/{protocol}, avec les balises (uri, method, status, ou outcome) http.server.requests Millisecondes

Indicateurs relatifs aux événements utilisateur

Keycloak Les événements utilisateur sont collectés et classés à l'aide de balises, et les données ainsi obtenues sont représentées sous forme de graphiques dans l'interface utilisateur d' Instana.

Tableau 4. Indicateurs d'événements utilisateur
Point de données Filtrer par étiquette Regrouper par indicateur Description
Connexions ayant abouti événement=login et erreur="" Nombre de tentatives de connexion réussies
Tentatives de connexion événement=login Nombre total de tentatives de connexion
Tentatives de connexion ayant échoué événement=login et erreur!="" Nombre d'échecs de tentatives de connexion
Connexions de client ayant abouti événement=login et erreur="" client_id Nombre de tentatives de connexion réussies par identifiant client
Connexions de client ayant échoué événement=login et erreur!="" client_id Nombre de tentatives de connexion infructueuses par identifiant client
Connexions au domaine ayant abouti événement=login et erreur="" realm Nombre de connexions réussies par royaume
Connexions au domaine ayant échoué événement=login et erreur!="" realm Nombre de tentatives de connexion infructueuses par royaume
Erreurs de connexion événement=login et erreur!="" error Échecs de connexion par type d'erreur
Erreurs d'enregistrement événement=register et erreur!="" error Inscription des utilisateurs par type d'erreur
Jetons d'actualisation événement=refresh_token et erreur="" client_id Nombre de demandes de jetons d'actualisation par identifiant client
Erreurs liées au jeton d'actualisation événement=refresh_token et erreur!="" client_id Nombre d'erreurs de jeton d'actualisation par identifiant client
Demandes d'inscription événement=register et erreur="" realm Nombre de demandes d'inscription par royaume
Erreurs d'enregistrement événement=register et erreur!="" realm Nombre d'erreurs d'enregistrement par domaine
Codage des demandes de jetons événement=code_to_token et erreur="" client_id Nombre de demandes d'échange de code d'autorisation contre un jeton par identifiant client
Erreurs de conversion de code en jeton événement=code_to_token et erreur!="" client_id Nombre d'échecs lors de l'échange de code contre un jeton par identifiant client
5 clients principaux - client_id Les 5 identifiants client les plus fréquents
5 domaines principaux - realm 5 domaines principaux

HTTP Server Demander des indicateurs

Les indicateurs de requêtes de l' HTTP Server s sont calculés dans l'interface utilisateur comme suit :

Tableau 5. HTTP Server Demander des indicateurs
Point de données Filtrer par étiquette Regrouper par indicateur Description
Distribution des erreurs de requête ( 4xx ou 5xx ) status=4xx ou 5xx status Répartition des erreurs de requête
Durée de la demande par URI - uri Les 5 requêtes les plus longues par URI (en millisecondes)

Indicateurs de santé

Keycloak fournit, via son /health point de terminaison, des indicateurs de santé qui renseignent sur l'état de fonctionnement et la disponibilité du serveur. Les indicateurs suivants sont généralement recueillis :

Tableau 6. Indicateurs de santé
Diagnostic d'intégrité Description
Santé générale État général de l'instance d' Keycloak
Connectivité aux bases de données Indique si Keycloak peut se connecter à sa base de données
Etat de santé du cluster État des nœuds du cluster d' Keycloak s et communication entre les nœuds