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 :
| 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.
| 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.
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.
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 :
| 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.
| 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 :
| 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 :
| 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 |