نظرة عامة على جداول النظام
- حالات الخادم وعملياته وبيئته.
- العمليات الداخلية للخادم.
- الخيارات المستخدمة عند بناء الملف التنفيذي لـ ClickHouse.
- موجودة في قاعدة البيانات
system. - متاحة للقراءة فقط.
- لا يمكن إسقاطها أو تعديلها، ولكن يمكن فصلها.
/etc/clickhouse-server/config.d/، أو بضبط العناصر المقابلة في /etc/clickhouse-server/config.xml. والعناصر التي يمكن تخصيصها هي:
database: قاعدة البيانات التي ينتمي إليها جدول سجل النظام. هذا الخيار Deprecated الآن. جميع جداول سجل النظام موجودة ضمن قاعدة البياناتsystem.table: الجدول الذي تُدرج فيه البيانات.partition_by: حدّد expression PARTITION BY.ttl: حدّد expression TTL للجدول.flush_interval_milliseconds: الفاصل الزمني لتفريغ البيانات إلى disk.engine: يوفّر expression كاملًا للمحرك (يبدأ بـENGINE =) مع parameters. يتعارض هذا الخيار معpartition_byوttl. وإذا تم تعيينها معًا، فسيقوم server بraise an exception ثم الخروج.
MergeTree.
مصادر مقاييس النظام
- القدرة
CAP_NET_ADMIN. - procfs (في Linux فقط).
CAP_NET_ADMIN، فإنه يحاول التبديل تلقائيًا إلى ProcfsMetricsProvider. ويتيح ProcfsMetricsProvider جمع مقاييس النظام لكل استعلام (لـ CPU وI/O).
إذا كان procfs مدعومًا ومُمكّنًا على النظام، فإن ClickHouse server يجمع هذه المقاييس:
OSCPUVirtualTimeMicrosecondsOSCPUWaitMicrosecondsOSIOWaitMicrosecondsOSReadCharsOSWriteCharsOSReadBytesOSWriteBytes
يكون
OSIOWaitMicroseconds معطّلًا افتراضيًا في نوى Linux ابتداءً من الإصدار 5.14.x.
يمكنك تمكينه باستخدام sudo sysctl kernel.task_delayacct=1 أو بإنشاء ملف .conf في /etc/sysctl.d/ يتضمن kernel.task_delayacct = 1جداول النظام في ClickHouse Cloud
parts متسقًا بغض النظر عن العُقدة التي يُجرى منها الاستعلام:
- جداول النظام التي تحمل اللاحقة
_log. - جداول النظام التي تعرض المقاييس، مثل
metricsوasynchronous_metricsوevents. - جداول النظام التي تعرض العمليات الجارية، مثل
processesوmerges.
system.query_log، التي تحتوي على صف لكل query تنفذه العقدة:
الاستعلام عن عدة إصدارات
merge. على سبيل المثال، يحدِّد الاستعلام أدناه أحدث استعلام وُجِّه إلى العقدة المستهدفة في كل جدول query_log:
لا تعتمد على اللاحقة الرقمية لتحديد الترتيبرغم أن اللاحقة الرقمية في الجداول قد توحي بترتيب البيانات، فلا ينبغي الاعتماد عليها مطلقًا. لذلك، استخدم دائمًا دالة الجدول
merge مع عامل تصفية للتاريخ عند الاستعلام عن نطاقات تاريخية محددة.الاستعلام عن عبر العقد
clusterAllReplicas بالاقتران مع الدالة merge. تتيح الدالة clusterAllReplicas الاستعلام عن جداول النظام عبر جميع النسخ المتماثلة داخل العنقود “default”، مع تجميع البيانات الخاصة بكل عقدة في نتيجة موحّدة. وعند دمجها مع الدالة merge، يمكن استخدامها لاستهداف جميع بيانات النظام الخاصة بجدول معيّن داخل عنقود.
تكون هذه المقاربة مفيدة بشكل خاص في مراقبة العمليات على مستوى العنقود واستكشاف أخطائها وإصلاحها، بما يضمن تمكّن المستخدمين من تحليل سلامة نشر ClickHouse Cloud وأدائه بفعالية.
توفّر ClickHouse Cloud عناقيد تضم عدة نسخ متماثلة لتحقيق التكرار والتحويل التلقائي عند التعطل. وهذا يتيح ميزاتها، مثل التحجيم التلقائي الديناميكي والترقيات من دون توقف. وفي لحظة معيّنة، قد تكون هناك عقد جديدة قيد الإضافة إلى العنقود أو الإزالة منه. لتخطي هذه العقد، أضف
SETTINGS skip_unavailable_shards = 1 إلى الاستعلامات التي تستخدم clusterAllReplicas كما هو موضح أدناه.query_log — وهو غالبًا ما يكون أساسيًا للتحليل.
الاستعلام عن عبر العقد والإصدارات
merge، نحصل على نتيجة دقيقة لنطاق التاريخ المحدد: