الوصف
يحتوي على معلومات عن جميع أحداث تسجيل الدخول وتسجيل الخروج الناجحة والفاشلة.
الأعمدة
hostname(LowCardinality(String)) — اسم مضيف الخادم الذي ينفّذ الاستعلام.type(Enum8('LoginFailure' = 0, 'LoginSuccess' = 1, 'Logout' = 2)) — نتيجة تسجيل الدخول/الخروج. القيم الممكنة: LoginFailure — خطأ في تسجيل الدخول. LoginSuccess — تم تسجيل الدخول بنجاح. Logout — تسجيل الخروج من النظام.auth_id(UUID) — معرّف المصادقة، وهو UUID يُنشأ تلقائيًا في كل مرة يسجّل فيها المستخدم الدخول.session_id(String) — معرّف الجلسة الذي يمرّره العميل عبر واجهة HTTP.event_date(Date) — تاريخ تسجيل الدخول/الخروج.event_time(DateTime) — وقت تسجيل الدخول/الخروج.event_time_microseconds(DateTime64(6)) — وقت بدء تسجيل الدخول/الخروج بدقة الميكروثانية.user(Nullable(String)) — اسم المستخدم.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))) — نوع المصادقة.profiles(Array(LowCardinality(String))) — قائمة ملفات التعريف المعيّنة لجميع الأدوار و/أو المستخدمين.roles(Array(LowCardinality(String))) — قائمة الأدوار التي يُطبَّق عليها ملف التعريف.settings(Array(Tuple(LowCardinality(String), String))) — الإعدادات التي جرى تغييرها عند تسجيل دخول العميل أو خروجه.client_address(IPv6) — عنوان IP الذي استُخدم لتسجيل الدخول/الخروج.client_port(UInt16) — منفذ العميل الذي استُخدم لتسجيل الدخول/الخروج.interface(Enum8('TCP' = 1, 'HTTP' = 2, 'gRPC' = 3, 'MySQL' = 4, 'PostgreSQL' = 5, 'Local' = 6, 'TCP_Interserver' = 7, 'Prometheus' = 8, 'Background' = 9, 'ArrowFlight' = 10)) — الواجهة التي بدأ منها تسجيل الدخول.client_hostname(String) — اسم مضيف جهاز العميل الذي يعمل عليهclickhouse-clientأو عميل TCP آخر.client_name(String) — اسمclickhouse-clientأو عميل TCP آخر.client_revision(UInt32) — رقم مراجعةclickhouse-clientأو عميل TCP آخر.client_version_major(UInt32) — الإصدار الرئيسي لـclickhouse-clientأو لعميل TCP آخر.client_version_minor(UInt32) — الإصدار الثانوي لـclickhouse-clientأو لعميل TCP آخر.client_version_patch(UInt32) — مكوّن التصحيح في إصدارclickhouse-clientأو عميل TCP آخر.failure_reason(String) — رسالة الاستثناء التي تتضمن سبب فشل تسجيل الدخول/الخروج.certificate_subjects(Array(LowCardinality(String))) — قائمة الموضوعات (الاسم الشائع وSubject Alternative Names) في شهادة عميل TLS المقدَّمة عبر الاتصال، بالصيغة 'CN:…' / 'SAN:…'. تكون فارغة إذا لم تُقدَّم أي شهادة.certificate_serial(LowCardinality(String)) — الرقم التسلسلي لشهادة عميل TLS. تكون فارغة إذا لم تُقدَّم أي شهادة.certificate_issuer(LowCardinality(String)) — الجهة المُصدِرة لشهادة عميل TLS. تكون فارغة إذا لم تُقدَّم أي شهادة.certificate_not_before(Nullable(DateTime64(0, 'UTC'))) — الوقت الذي تبدأ منه صلاحية شهادة عميل TLS. تكون NULL إذا لم تُقدَّم أي شهادة.certificate_not_after(Nullable(DateTime64(0, 'UTC'))) — الوقت الذي تنتهي بعده صلاحية شهادة عميل TLS. تكون NULL إذا لم تُقدَّم أي شهادة.
مثال
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: ᴺᵁᴸᴸقراءة الجداول المُدوَّرة بعد الترقية
عند إضافة قيمة جديدة إلى تعداد interface، يحتفظ الجدول المخزَّن مسبقًا على القرص بتعريف Enum8 الأقدم. عند تشغيل الإصدار الجديد للمرة الأولى، يُعاد تسمية system.session_log إلى system.session_log_<N> ويُنشأ مكانه جدول جديد بالمخطط الحالي؛ ولا يتغير مخطط الجدول المُدوَّر.
إذا سُجِّل تسجيل دخول عبر واجهة لم تكن مدرجة في تعداد الإصدار الذي كتبه — مثل تسجيل دخول ArrowFlight في إصدار لم يكن ArrowFlight مدرجًا فيه ضمن تعداد interface — فسيحتوي الجدول المُدوَّر على قيمة خام لا يعرّفها تعداده، وسيؤدي تنفيذ SELECT عليه إلى ظهور الخطأ Unexpected value 10 in enum. وسِّع تعداد ذلك الجدول لقراءته؛ فهذه عملية تقتصر على البيانات الوصفية ولا تعيد كتابة أي بيانات:
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);