Description
Contient des informations sur tous les événements de connexion et de déconnexion réussis ou ayant échoué.
Colonnes
hostname(LowCardinality(String)) — Nom d’hôte du serveur qui exécute la requête.type(Enum8('LoginFailure' = 0, 'LoginSuccess' = 1, 'Logout' = 2)) — Résultat de connexion/déconnexion. Valeurs possibles : LoginFailure — Erreur de connexion. LoginSuccess — Connexion réussie. Logout — Déconnexion du système.auth_id(UUID) — ID d’authentification, c’est-à-dire un UUID généré automatiquement à chaque connexion de l’utilisateur.session_id(String) — ID de session transmis par le client via l’interface HTTP.event_date(Date) — Date de connexion/déconnexion.event_time(DateTime) — Heure de connexion/déconnexion.event_time_microseconds(DateTime64(6)) — Heure de début de la connexion/déconnexion avec une précision à la microseconde.user(Nullable(String)) — Nom d’utilisateur.auth_type(Nullable(Enum8('NO_PASSWORD' = 0, 'PLAINTEXT_PASSWORD' = 1, 'SHA256_PASSWORD' = 2, 'DOUBLE_SHA1_PASSWORD' = 3, 'LDAP' = 4, 'KERBEROS' = 5, 'SSL_CERTIFICATE' = 6, 'BCRYPT_PASSWORD' = 7, 'SSH_KEY' = 8, 'HTTP' = 9, 'JWT' = 10, 'SCRAM_SHA256_PASSWORD' = 11, 'NO_AUTHENTICATION' = 12))) — Type d’authentification.profiles(Array(LowCardinality(String))) — Liste des profils définis pour tous les rôles et/ou utilisateurs.roles(Array(LowCardinality(String))) — Liste des rôles auxquels le profil est appliqué.settings(Array(Tuple(LowCardinality(String), String))) — Paramètres modifiés lors de la connexion/déconnexion du client.client_address(IPv6) — Adresse IP utilisée pour la connexion/déconnexion.client_port(UInt16) — Port client utilisé pour la connexion/déconnexion.interface(Enum8('TCP' = 1, 'HTTP' = 2, 'gRPC' = 3, 'MySQL' = 4, 'PostgreSQL' = 5, 'Local' = 6, 'TCP_Interserver' = 7, 'Prometheus' = 8, 'Background' = 9, 'ArrowFlight' = 10)) — Interface depuis laquelle la connexion a été initiée.client_hostname(String) — Nom d’hôte de la machine cliente sur laquelleclickhouse-clientou un autre client TCP est exécuté.client_name(String) — Nom declickhouse-clientou d’un autre client TCP.client_revision(UInt32) — Révision declickhouse-clientou d’un autre client TCP.client_version_major(UInt32) — Version majeure declickhouse-clientou d’un autre client TCP.client_version_minor(UInt32) — Version mineure declickhouse-clientou d’un autre client TCP.client_version_patch(UInt32) — Composant de correctif de la version declickhouse-clientou d’un autre client TCP.failure_reason(String) — Message d’exception indiquant la raison de l’échec de la connexion/déconnexion.certificate_subjects(Array(LowCardinality(String))) — La liste des sujets (Common Name et Subject Alternative Names) du certificat client TLS présenté lors de la connexion, sous la forme 'CN:…' / 'SAN:…'. Vide si aucun certificat n’a été présenté.certificate_serial(LowCardinality(String)) — Numéro de série du certificat client TLS. Vide si aucun certificat n’a été présenté.certificate_issuer(LowCardinality(String)) — Autorité émettrice du certificat client TLS. Vide si aucun certificat n’a été présenté.certificate_not_before(Nullable(DateTime64(0, 'UTC'))) — Date et heure à partir desquelles le certificat client TLS est valide. NULL si aucun certificat n’a été présenté.certificate_not_after(Nullable(DateTime64(0, 'UTC'))) — Date et heure après lesquelles le certificat client TLS expire. NULL si aucun certificat n’a été présenté.
Exemple
SELECT * FROM system.session_log LIMIT 1 FORMAT Vertical;Row 1:
──────
hostname: clickhouse.eu-central1.internal
type: LoginSuccess
auth_id: 45e6bd83-b4aa-4a23-85e6-bd83b4aa1a23
session_id:
event_date: 2021-10-14
event_time: 2021-10-14 20:33:52
event_time_microseconds: 2021-10-14 20:33:52.104247
user: default
auth_type: PLAINTEXT_PASSWORD
profiles: ['default']
roles: []
settings: [('load_balancing','random'),('max_memory_usage','10000000000')]
client_address: ::ffff:127.0.0.1
client_port: 38490
interface: TCP
client_hostname:
client_name: ClickHouse client
client_revision: 54449
client_version_major: 21
client_version_minor: 10
client_version_patch: 0
failure_reason:
certificate_subjects: []
certificate_serial:
certificate_issuer:
certificate_not_before: ᴺᵁᴸᴸ
certificate_not_after: ᴺᵁᴸᴸLecture des tables renommées après une mise à niveau
Lorsqu’une nouvelle valeur est ajoutée à l’énumération interface, la table déjà stockée sur disque conserve l’ancienne définition Enum8. Au premier démarrage de la nouvelle version, system.session_log est renommée en system.session_log_<N> et une nouvelle table utilisant le schéma actuel est créée à sa place ; le schéma de la table renommée n’est pas modifié.
Si une connexion a été enregistrée via une interface absente de l’énumération de la version qui l’a enregistrée — par exemple, une connexion ArrowFlight sur une version où ArrowFlight était absente de l’énumération interface — la table renommée contient une valeur brute non définie par sa propre énumération, et un SELECT sur cette table génère l’erreur Unexpected value 10 in enum. Étendez l’énumération de cette table pour pouvoir la lire ; il s’agit d’une opération portant uniquement sur les métadonnées, qui ne réécrit aucune donnée :
ALTER TABLE system.session_log_1
MODIFY COLUMN interface Enum8('TCP' = 1, 'HTTP' = 2, 'gRPC' = 3, 'MySQL' = 4, 'PostgreSQL' = 5, 'Local' = 6, 'TCP_Interserver' = 7, 'Prometheus' = 8, 'Background' = 9, 'ArrowFlight' = 10);