إنشاء تصور مستند إلى SQL
- حدد اتصال ClickHouse لتشغيل الاستعلام من خلاله.
- ويمكنك اختياريًا تحديد مصدر — ما يتيح تطبيق عوامل التصفية على مستوى لوحة المعلومات على تصورك عبر الماكرو
$__filters. - اكتب استعلام SQL في المحرر، باستخدام معلمات الاستعلام ووحدات الماكرو للتكامل مع النطاق الزمني للوحة المعلومات وعوامل التصفية والمتغيرات.
- انقر زر play لمعاينة النتائج، ثم Save.
معلمات الاستعلام
{paramName:Type}.
المعلمات المتاحة
مخططات الجدول والدائري والرقمي:
وحدات الماكرو
$__، ويجري استبدالها قبل إرسال الاستعلام إلى ClickHouse.
وحدات ماكرو حدود الوقت
وحدات الماكرو لتصفية الوقت
WHERE لتصفية عمود وفقًا للنطاق الزمني في لوحة المعلومات.
مثال على التوسيع لـ
$__timeFilter(TimestampTime):
وحدات ماكرو للفواصل الزمنية
SELECT وGROUP BY لمخططات السلاسل الزمنية. وهي متاحة فقط لتصورات Line وStacked-bar.
مثال على التوسيع لـ
$__timeInterval(TimestampTime):
ماكرو تصفية لوحة المعلومات
عند تحديد مصدر في المخطط وتفعيل عوامل تصفية لوحة المعلومات، يتم توسيع
$__filters ليصبح شروط SQL WHERE المقابلة. وعند عدم تحديد أي مصدر أو عدم تطبيق أي عوامل تصفية، يتم توسيعه إلى (1=1)، لذا يكون تضمينه في عبارة WHERE آمنًا دائمًا.
لا يطبق $__filters إلا عوامل التصفية المفعّل فيها شرط عامل تصفية البث. ويُشار صراحةً إلى عوامل التصفية المعروضة كمتغيرات، كما هو موضح أدناه.
ماكرو متغيرات لوحة المعلومات
يمكن أيضًا تضمين قيم المتغير مباشرةً بصيغة
$name أو ${name}، مع تنسيق اختياري: ${name:sqlstring} (الافتراضي)، أو ${name:csv}، أو ${name:regex}. في التنسيق الافتراضي، يُنتج المرجع المباشر القيمة NULL قبل تحديد أي قيمة، لذا يُفضَّل استخدام وحدات الماكرو المذكورة أعلاه كلما كان متوقعًا وجود شرط.
كيفية عرض نتائج الاستعلام بيانيًا
المخططات الخطية ومخططات الأعمدة المتراكمة
المخطط الدائري
مخطط عددي
مخطط جدولي
أمثلة
مطلوب الوصول إلى جدول النظامستحتاج إلى تحديد
otel_v2.otel_logs أو otel_v2.otel_traces إذا كنت تشغّل الأمثلة التالية على play-clickstack.clickhouse.com.مخطط خطي — عدد السجلات عبر الزمن حسب الخدمة
- يُستخدَم
ts(DateTime) كطابع زمني للمحور السيني. - تُرسَم
count(رقمية) باعتبارها قيمة السلسلة. - يُنشئ
ServiceName(نصي) خطًا منفصلًا لكل خدمة.
مخطط خطي — باستخدام الماكرو
مخطط خطي — باستخدام متغيرات لوحة المعلومات
service لـ ServiceName والمتغير severity لـ SeverityText، يحصر هذا الاستعلام المخطط في اختيار الخدمة الحالي ويستبعد مستويات الخطورة المحددة. يتوسع كلا الماكروين إلى 1=1 عندما لا تكون لمتغيراتهما قيمة محددة، لذا يُعرض المخطط دون تصفية إلى أن يختار المستخدم قيمة.
مخطط أعمدة مكدّس — عدد الأخطاء حسب مستوى الخطورة
مخطط جدولي — أبطأ 10 نقاط نهاية
مخطط دائري — توزيع الطلبات حسب الخدمة
request_count(رقمي) يحدّد حجم كل شريحة.ServiceName(سلسلة نصية) يحدّد تسمية كل شريحة.
مخطط عددي — إجمالي عدد الأخطاء
total_errors من الصف الأول.
ملاحظات
- تُنفَّذ التصورات المستندة إلى SQL مع تفعيل وضع
readonly— ولا يُسمح إلا باستعلاماتSELECT. - يجب أن تكون التصورات المستندة إلى SQL عبارة عن استعلام SQL واحد فقط - فالاستعلامات المتعددة غير مدعومة.
- يوفّر محرر SQL اقتراحات للإكمال التلقائي لكلٍّ من معلمات الاستعلام ووحدات الماكرو.
- يجب تحديد مصدر لتطبيق عوامل تصفية لوحة المعلومات على التصورات المستندة إلى SQL. وينبغي أن يطابق المصدر الجدول الذي يُجرى عليه الاستعلام لضمان دقة التصفية.
- لا تحتاج متغيرات لوحة المعلومات إلى مصدر — إذ تأتي القيم من القوائم المنسدلة لعوامل تصفية لوحة المعلومات، لا من مصدر البلاطة نفسه.
- تُقيَّم التنبيهات على بلاطة SQL الذي يشير إلى متغير في لوحة المعلومات بحيث تكون جميع المتغيرات في حالتها الفارغة، لا بالقيم المحددة في لوحة المعلومات.