Skip to main content
يدعم ClickStack التصورات المستندة إلى استعلامات SQL الخام. ويمنحك هذا تحكمًا كاملًا في منطق الاستعلام، مع الحفاظ على التكامل مع النطاقات الزمنية وعوامل التصفية وعرض المخططات على مستوى لوحة المعلومات. تكون التصورات المستندة إلى SQL مفيدة عندما تحتاج إلى تجاوز الإمكانات المضمنة في Chart Explorer — على سبيل المثال، لضم الجداول أو إنشاء تجميعات معقدة لا تدعمها أداة إنشاء المخططات.

إنشاء تصور مستند إلى SQL

لإنشاء تصور مستند إلى SQL، افتح محرر بلاطة لوحة المعلومات وحدد علامة التبويب SQL. ومن هناك:
  1. حدد اتصال ClickHouse لتشغيل الاستعلام من خلاله.
  2. ويمكنك اختياريًا تحديد مصدر — ما يتيح تطبيق عوامل التصفية على مستوى لوحة المعلومات على تصورك عبر الماكرو $__filters.
  3. اكتب استعلام SQL في المحرر، باستخدام معلمات الاستعلام ووحدات الماكرو للتكامل مع النطاق الزمني للوحة المعلومات وعوامل التصفية.
  4. انقر زر play لمعاينة النتائج، ثم Save.

معلمات الاستعلام

تتيح معلمات الاستعلام لاستعلام SQL الخاص بك الإشارة إلى النطاق الزمني الحالي ومستوى الدقة الحالي في لوحة المعلومات. وهي تستخدم صيغة الاستعلامات ذات المعلمات في ClickHouse: {paramName:Type}.

المعلمات المتاحة

تعتمد المعلمات المتاحة على نوع المخطط: المخططات الخطية ومخطط الأعمدة المتراكم: مخططات الجدول والدائري والرقمي:

وحدات الماكرو

وحدات الماكرو هي اختصارات تُستبدل بتعبيرات شائعة في ClickHouse SQL. وتبدأ بالبادئة $__، ويجري استبدالها قبل إرسال الاستعلام إلى ClickHouse.

وحدات ماكرو حدود الوقت

تعيد وحدات الماكرو هذه تعبيرًا في ClickHouse يمثّل وقت بداية لوحة المعلومات أو وقت انتهائها. ولا تأخذ أي وسيطات.

وحدات الماكرو لتصفية الوقت

تُنشئ وحدات الماكرو هذه جزءًا من عبارة WHERE لتصفية عمود وفقًا للنطاق الزمني في لوحة المعلومات. مثال على التوسيع لـ $__timeFilter(TimestampTime):

وحدات ماكرو للفواصل الزمنية

تُجمِّع وحدات الماكرو هذه عمود طابع زمني ضمن فواصل زمنية تتوافق مع مستوى الدقة في لوحة المعلومات. وتُستخدم عادةً في عبارتي SELECT وGROUP BY لمخططات السلاسل الزمنية. وهي متاحة فقط لتصورات Line وStacked-bar. مثال على التوسيع لـ $__timeInterval(TimestampTime):

ماكرو تصفية لوحة المعلومات

عند تحديد مصدر في المخطط وتفعيل عوامل تصفية لوحة المعلومات، يتم توسيع $__filters ليصبح شروط SQL WHERE المقابلة. وعند عدم تحديد أي مصدر أو عدم تطبيق أي عوامل تصفية، يتم توسيعه إلى (1=1)، لذا يكون تضمينه في عبارة WHERE آمنًا دائمًا.

كيفية عرض نتائج الاستعلام بيانيًا

يربط ClickStack تلقائيًا أعمدة النتائج بعناصر الرسم البياني استنادًا إلى أنواع الأعمدة. وتختلف قواعد هذا الربط باختلاف نوع الرسم البياني.

المخططات الخطية ومخططات الأعمدة المتراكمة

المخطط الدائري

مخطط عددي

مخطط جدولي

تُعرض جميع أعمدة النتائج مباشرةً كأعمدة في الجدول.

أمثلة

مطلوب الوصول إلى جدول النظامستحتاج إلى تحديد otel_v2.otel_logs أو otel_v2.otel_traces إذا كنت تشغّل الأمثلة التالية على play-clickstack.clickhouse.com.

مخطط خطي — عدد السجلات عبر الزمن حسب الخدمة

يحصي هذا الاستعلام أحداث السجل لكل خدمة، ويجمعها ضمن فترات زمنية تتوافق مع درجة الدقة في لوحة المعلومات.
  • يُستخدَم ts ‏(DateTime) كطابع زمني للمحور السيني.
  • تُرسَم count ‏(رقمية) باعتبارها قيمة السلسلة.
  • يُنشئ ServiceName ‏(نصي) خطًا منفصلًا لكل خدمة.

مخطط خطي — باستخدام الماكرو

الاستعلام نفسه مكتوب باستخدام الماكرو اختصارًا:

مخطط أعمدة مكدّس — عدد الأخطاء حسب مستوى الخطورة

مخطط جدولي — أبطأ 10 نقاط نهاية

مخطط دائري — توزيع الطلبات حسب الخدمة

  • request_count (رقمي) يحدّد حجم كل شريحة.
  • ServiceName (سلسلة نصية) يحدّد تسمية كل شريحة.

مخطط عددي — إجمالي عدد الأخطاء

تُعرض القيمة الرقمية الوحيدة total_errors من الصف الأول.

ملاحظات

  • تُنفَّذ التصورات المستندة إلى SQL مع تفعيل وضع readonly — ولا يُسمح إلا باستعلامات SELECT.
  • يجب أن تكون التصورات المستندة إلى SQL عبارة عن استعلام SQL واحد فقط - فالاستعلامات المتعددة غير مدعومة.
  • يوفّر محرر SQL اقتراحات للإكمال التلقائي لكلٍّ من معلمات الاستعلام ووحدات الماكرو.
  • يجب تحديد مصدر لتطبيق عوامل تصفية لوحة المعلومات على التصورات المستندة إلى SQL. وينبغي أن يطابق المصدر الجدول الذي يُجرى عليه الاستعلام لضمان دقة التصفية.
آخر تعديل في ٣ يوليو ٢٠٢٦