إنشاء التصورات
GROUP BY — إذ تحدد المقاييس المطلوب تجميعها عبر الأبعاد المحددة.
على سبيل المثال، يمكنك رسم عدد الأخطاء (count()) مجمّعًا حسب اسم الخدمة.
في الأمثلة أدناه، نستخدم مجموعة البيانات البعيدة المتاحة على sql.clickhouse.com، والمشروحة في دليل “Remote Demo Dataset”. ويمكنك أيضًا إعادة تنفيذ هذه الأمثلة بزيارة play-clickstack.clickhouse.com.
2
إنشاء تصور
في المثال أدناه، نرسم متوسط مدة الطلب عبر الزمن لكل اسم خدمة. ويتطلب ذلك من المستخدم تحديد مقياس وعمود (يمكن أن يكون تعبير SQL) وحقل تجميع.حدّد نوع التصور
Line/Bar من القائمة العلوية، ثم مجموعة البيانات Traces (أو Demo Traces إذا كنت تستخدم play-clickstack.clickhouse.com). أكمل القيم التالية:- Metric:
Average - Column:
Duration/1000 - Where:
<empty> - Group By:
ServiceName - Alias:
Average Time
WHERE أو صياغة Lucene، كما يمكنك تحديد النطاق الزمني الذي ينبغي تصور الأحداث خلاله. كما يدعم النظام أيضًا سلاسل متعددة.على سبيل المثال، صفِّ حسب الخدمة frontend بإضافة عامل التصفية ServiceName:\"frontend\". ثم أضف سلسلة ثانية لعدد الأحداث عبر الزمن بالاسم المستعار Count بالنقر على Add Series.لإنشاء سلسلة مشابهة لسلسلة موجودة، يمكنك نسخها بدلًا من البدء من الصفر. انقر على أيقونة النسخ (Duplicate series) في صف السلسلة لإدراج نسخة مباشرة أسفلها. تحتفظ النسخة بإعدادات السلسلة الأصلية، مثل المقياس والعمود وعامل التصفية. بعد ذلك، لا تغيّر إلا الحقول المختلفة (مثل التجميع) وتمنح النسخة اسمًا مستعارًا خاصًا بها. يتوفر النسخ في أي موضع يدعم سلاسل متعددة. ويكون مخفيًا لأنواع التصور التي تسمح بسلسلة واحدة فقط، مثل Number وPie وHeatmap.يمكن إنشاء التصورات من أي مصدر بيانات — مقاييس أو تتبعات أو سجلات. ويتعامل ClickStack مع جميع هذه الأنواع على أنها wide events. ويمكن تمثيل أي عمود رقمي على مخطط عبر الزمن، كما يمكن استخدام الأعمدة النصية أو التاريخية أو الرقمية في عمليات التجميع.يتيح هذا النهج الموحّد إنشاء لوحات معلومات عبر أنواع بيانات القياس عن بُعد باستخدام نموذج متّسق ومرن.
إنشاء لوحات المعلومات
2
أنشئ تصورًا — متوسط وقت الطلب حسب الخدمة
اختر
Add New Tile لفتح لوحة إنشاء التصور.اختر نوع التصور Line/Bar من القائمة العلوية، ثم مجموعة البيانات Traces (أو Demo Traces إذا كنت تستخدم play-clickstack.clickhouse.com). ثم أكمل القيم التالية لإنشاء مخطط يعرض متوسط مدة الطلب بمرور الوقت لكل اسم خدمة:- اسم المخطط:
Average duration by service - المقياس:
Average - العمود:
Duration/1000 - Where:
<empty> - التجميع حسب:
ServiceName - الاسم المستعار:
Average Time
Save.عدّل حجم التصور ليشغل كامل عرض لوحة المعلومات.3
أنشئ تصورًا – الأحداث بمرور الوقت حسب الخدمة
حدِّد
Add New Tile لفتح لوحة إنشاء التصور.حدِّد Line/Bar كـ visualization type من القائمة العلوية، ثم مجموعة البيانات Logs (أو Demo Logs إذا كنت تستخدم play-clickstack.clickhouse.com). أكمل القيم التالية لإنشاء مخطط يوضّح عدد الأحداث بمرور الوقت لكل اسم خدمة:- Chart Name:
Event count by service - Metric:
Count of Events - Where:
<empty> - Group By:
ServiceName - Alias:
Count of events
Save.غيّر حجم التصور ليشغل العرض الكامل للوحة المعلومات.4
أضف بطاقة heatmap لمدة الـ span
تعرض بطاقات Heatmap عدد الأحداث التي تقع ضمن كل حاوية (وقت، قيمة) على هيئة شبكة ملوّنة. استخدم heatmap عندما تريد رؤية شكل التوزيع عبر الزمن، لا الاكتفاء بالمتوسط أو بقيمة مئينية واحدة. تكشف heatmap الخاصة بالكمون أنماط المدة ثنائية القمة، وتجمّعات الذيل البطيء، أو الاتساعات المفاجئة التي قد يُخفيها مخطط خطي عند الاكتفاء بالمتوسط.لإضافة بطاقة heatmap:
- حدِّد
Add New Tile. - اختر نوع التصور
Heatmapمن القائمة العلوية. لا تعرض القائمة المنسدلة لمصدر البيانات إلا المصادر التي يكون نوع المصدر فيهاTraces. وتُستبعَد مصادر logs وmetrics وsession، لأن heatmaps تحتاج إلى عمود لمدة الـ span لا توفره إلا مصادر traces. - اختر أيًّا من مصادر traces لديك بالاسم. الاسم بحد ذاته اعتباطي، والمهم هو النوع فقط.
- القيمة:
Duration Expressionالخاص بالمصدر، بعد تحجيمه إلى وحدة العرض الحالية (على سبيل المثال(Duration)/1e6لتحويل مدة الـ span لكل حدث من نانوثانية إلى ميلي ثانية) - العدد:
count()
- عيّن اسمًا للمخطط، واستخدم
Whereلقصر heatmap على service معيّنة أو مجموعة من العمليات التي تريد مراقبة أدائها. - اضبط النطاق الزمني ليتوافق مع الفترة محل الاهتمام. تكشف النطاقات الأوسع تحولات التوزيع وأنماط الكمون ثنائية القمة التي قد تخفيها النوافذ الأقصر.
Run لمعاينة المخطط، ثم Save.تُعرَض البطاقة المحفوظة كـ heatmap على لوحة المعلومات. مرّر المؤشر فوق أي خلية لرؤية حدود الحاوية وعدد الأحداث.الانتقال التفصيلي إلى Event Deltas
انقر على أي خلية في بطاقة heatmap المعروضة لفتح إجراء View in Event Deltas.يؤدي تحديده إلى فتح عرض Event Deltas مع تمرير مصدر بيانات البطاقة وعبارةWhere والنطاق الزمني. ومن هناك يمكنك فحص التوزيع نفسه بصورة تفاعلية، والتقسيم حسب attribute لمعرفة ما الذي يجعل spans البطيئة مختلفة عن السريعة، وفحص spans الفردية وراء أي خلية، من دون إعادة بناء الاستعلام يدويًا.5
تصفية لوحة المعلومات
يمكن تطبيق عوامل تصفية Lucene أو SQL، إلى جانب النطاق الزمني، على مستوى لوحة المعلومات، وستُطبَّق تلقائيًا على جميع التصورات.للتوضيح، طبّق عامل تصفية Lucene
ServiceName:"frontend" على لوحة المعلومات، وعدّل النافذة الزمنية لتشمل آخر 3 ساعات. لاحظ كيف تعرض التصورات الآن بيانات خدمة frontend فقط.سيُحفَظ dashboard تلقائيًا. لتعيين اسم dashboard، حدِّد العنوان وعدِّله قبل النقر على Save Name.لوحات المعلومات - تحرير التصورات
إعدادات عرض البلاطة
لون بلاطة الأرقام
الرموز الدلالية (المتعلقة بالحالة):
استخدم الرموز الدلالية عندما يمثل الرقم حالةً ما، مثل عدد الأخطاء باستخدام
chart-error أو معدل سليم باستخدام chart-success. واستخدم الرموز الفئوية عندما تريد تمييزًا مرئيًا بين بلاطات مؤشرات الأداء الرئيسية ذات الصلة دون الإيحاء بحالة معينة.
قد تظل الإعدادات القديمة تخزّن رموزًا رقمية قديمة (chart-1 حتى chart-10). ويحوّل ClickStack هذه الرموز إلى الرموز المسماة بدرجات الألوان المذكورة أعلاه عند تحميل لوحة معلومات.
تدعم لوحة الألوان نفسها قواعد الألوان الاختيارية في الدرج نفسه: شروط مرتبة تُقيَّم وفقًا للقيمة المعروضة، ويُعتمد آخر تطابق. وعندما لا تتطابق أي قاعدة، يُطبَّق اللون الثابت، ثم لون النص الافتراضي.
مخطط خلفية بلاطة Number
واجهة برمجة تطبيقات لوحات المعلومات: لون بلاطة الأرقام
POST / PUT /api/v2/dashboards)، عيّن color في إعداد بلاطة الأرقام ضمن builder إلى رمز من لوحة الألوان. لا تُقبل القيم السداسية العشرية الخام.
color أي token من القوائم الفئوية والدلالية أعلاه (مثل chart-blue أو chart-success). يمكن استخدام backgroundChart.color اختياريًا لتجاوز لون الخط البياني المصغّر باستخدام token enum نفسه. راجع مرجع واجهة برمجة تطبيقات ClickStack للتعرّف على المصادقة وعناوين URL الأساسية.
لوحة المعلومات - العرض والبحث
لوحات المعلومات - الوسوم
- التنظيم: تظهر الوسوم في الشريط الجانبي الأيسر، حيث تُجمَّع لوحات المعلومات وعمليات البحث المحفوظة وفقًا للوسوم المخصَّصة لها
- وسوم متعددة: يمكنك إضافة وسم واحد أو أكثر إلى العنصر نفسه لتحسين التصنيف
- الإنشاء التلقائي: إذا أضفت وسمًا غير موجود بعد، فسيُنشأ تلقائيًا
- سهولة الإدارة: يمكنك إضافة الوسوم أو إزالتها في أي وقت لتعديل بنية التنظيم لديك
عوامل تصفية مخصصة ومتغيرات
- Broadcast — يطبّق الاختيار كشرط تصفية على البلاطات المطابقة. لا تحتاج البلاطات إلى التحديث للإشارة إلى عامل التصفية.
- Variable — يعرّض الاختيار لاستعلامات البلاطات بوصفه
$variableName، بحيث تقرر كل بلاطة أين وكيف تُستخدم القيمة.
1
افتح مربع حوار Edit Filters
افتح لوحة معلومات محفوظة، ثم حدّد Edit Filters and Variables من شريط الأدوات.
2
أضف عامل تصفية جديدًا
انقر على Add new filter. اضبط عامل التصفية بإدخال Display Name، وتحديد Data source، وإدخال Filter expression — وهو عمود أو تعبير SQL تُستخدم قيمه المميزة لتعبئة القائمة المنسدلة. ثم انقر على Save filter.على سبيل المثال، لإضافة عامل تصفية خدمة لبيانات التتبّع، استخدم
ServiceName كتعبير للتصفية مع مصدر البيانات Traces. ويُعد “Dropdown values filter” اختياريًا، ويوفّر طريقة لتقييد القيم التي تظهر في القائمة المنسدلة.يتحكم مربع الحوار نفسه أيضًا في ما إذا كان عامل التصفية يبث قيمته وما إذا كان متاحًا كمتغير، وكلاهما موصوف أدناه.تعرض النافذة المنبثقة Filters جميع عوامل التصفية المُعدّة للوحة المعلومات. ومن هنا يمكنك تعديل عوامل التصفية الحالية أو حذفها، أو إضافة عوامل تصفية أخرى.3
استخدم عامل التصفية
أغلق النافذة المنبثقة Filters. سيظهر عامل التصفية المنسدل الجديد أسفل شريط البحث. انقر عليه لعرض القيم المتاحة، ثم اختر واحدة لتصفية جميع التصورات في لوحة المعلومات.
4
(اختياري) احفظ قيم عامل التصفية كإعداد افتراضي
للاحتفاظ باختيار عامل التصفية بوصفه الإعداد الافتراضي للوحة المعلومات، اختر Save Query & Filters as Default من قائمة لوحة المعلومات. ستُفتح لوحة المعلومات دائمًا مع تطبيق عوامل التصفية المحددة. ولإعادة التعيين، حدّد Remove Default Query & Filters من القائمة نفسها.
تتوفر عوامل التصفية المنسدلة المخصصة في لوحات المعلومات المحفوظة. وللاطلاع على مثال عملي لهذا النمط، راجع لوحة معلومات Kubernetes، التي توفّر عوامل تصفية منسدلة مضمّنة لكل من Pod وDeployment واسم العقدة وNamespace وCluster.
البث
$__filters وأن يكون لها مصدر محدد، إذ لا يستطيع ClickStack استنتاج موضع الشرط في استعلام مكتوب يدويًا.
المتغيرات
$variableName. يكون Variable name افتراضيًا اسم العرض لعامل التصفية بعد إزالة المحارف غير المسموح بها، ويمكن تجاوزه. يجب أن تبدأ الأسماء بحرف، ولا يجوز أن تحتوي إلا على أحرف وأرقام وشرطات سفلية.
استخدم متغيرًا عندما لا ترغب في تطبيق شرط WHERE على جميع الاستعلامات — على سبيل المثال، لوضع القيمة في تعبير SELECT أو عبارة HAVING أو مفتاح ربط، أو لتصفية بلاطة استنادًا إلى عمود غير تعبير عامل التصفية نفسه.
الإشارة إلى متغير
نظرًا إلى أن
$name يُعرض كـ NULL قبل تحديد أي قيمة، فاحرص على استخدام الماكروات التالية كلما كان متوقعًا استخدام مسند SQL. تتوسع الماكروات كلتاهما إلى 1=1 ما لم يكن لمتغيرهما تحديد، مما يحافظ على صحة الاستعلام:
استخدام المتغيرات في بلاطات منشئ المخططات
SELECT والتعبيرات لكل سلسلة، وWHERE وGROUP BY وHAVING. ويُكمل المحرر تلقائيًا متغيرات لوحة المعلومات ويعرض القيمة التي يتوسع إليها كل مرجع وفقًا للتحديد الحالي.
يُفضّل استخدام ماكروَي $__filter و$__conditionalAll في وضع SQL، لكي تظل الاستعلامات صالحة عندما تكون تحديدات المتغيرات فارغة. لا تتوفر الماكرو في إدخالات Lucene، لذا استخدم مراجع المتغيرات الخام بدلًا منها (مثلًا: ServiceName:$service).
في إدخال Lucene، تحدد إحاطة مرجع المتغير نفسه بعلامتي اقتباس كيفية مطابقة تحديد متعدد القيم. إذا كانت قيمة $service المحددة هي a,b:
ضع مرجع المتغير بين علامتي اقتباس —
Field:"$var" — عندما ينبغي أن تطابق القيم المحددة الحقل Field تطابقًا تامًا بدلًا من مطابقتها كسلاسل فرعية.
استخدام المتغيرات في بلاطات SQL
تُقيَّم التنبيهات في بلاطة تشير إلى متغير في لوحة المعلومات باستخدام كل متغير بحالته الفارغة، وليس بالقيم المحددة في لوحة المعلومات.
التعمّق إلى Search
- عرض جميع الأحداث — ينقلك إلى صفحة Search لعرض جميع الأحداث ضمن النافذة الزمنية المحددة.
- التصفية حسب المجموعة — ينقلك إلى صفحة Search بعد تطبيق تصفية على سلسلة محددة.
إعدادات مسبقة
لوحة معلومات ClickHouse
وصول مطلوب إلى جداول النظامتستعلم لوحة المعلومات هذه من جداول النظام في ClickHouse لعرض المقاييس الرئيسية. وتلزم امتيازات الوصول التالية:
GRANT SHOW COLUMNS, SELECT(CurrentMetric_MemoryTracking, CurrentMetric_S3Requests, ProfileEvent_OSCPUVirtualTimeMicroseconds, ProfileEvent_OSReadChars, ProfileEvent_OSWriteChars, ProfileEvent_S3GetObject, ProfileEvent_S3ListObjects, ProfileEvent_S3PutObject, ProfileEvent_S3UploadPart, event_time) ON system.metric_logGRANT SHOW COLUMNS, SELECT(active, database, partition, rows, table) ON system.partsGRANT SHOW COLUMNS, SELECT(event_date, event_time, memory_usage, normalized_query_hash, query, query_duration_ms, query_kind, read_rows, tables, type, written_bytes, written_rows) ON system.query_logGRANT SHOW COLUMNS, SELECT(event_date, event_time, hostname, metric, value) ON system.transposed_metric_log