إنشاء تصور مستند إلى SQL
- حدد اتصال ClickHouse لتشغيل الاستعلام من خلاله.
- ويمكنك اختياريًا تحديد مصدر — ما يتيح تطبيق عوامل التصفية على مستوى لوحة المعلومات على تصورك عبر الماكرو
$__filters. - اكتب استعلام SQL في المحرر، باستخدام معلمات الاستعلام ووحدات الماكرو للتكامل مع النطاق الزمني للوحة المعلومات وعوامل التصفية.
- انقر زر play لمعاينة النتائج، ثم Save.
معلمات الاستعلام
{paramName:Type}.
المعلمات المتاحة
| المعلمة | النوع | الوصف |
|---|---|---|
{startDateMilliseconds:Int64} | Int64 | بداية النطاق الزمني للوحة المعلومات (بالمللي ثانية منذ epoch) |
{endDateMilliseconds:Int64} | Int64 | نهاية النطاق الزمني للوحة المعلومات (بالمللي ثانية منذ epoch) |
{intervalSeconds:Int64} | Int64 | حجم الفئة الزمنية بالثواني (استنادًا إلى مستوى التفصيل) |
{intervalMilliseconds:Int64} | Int64 | حجم الفئة الزمنية بالمللي ثانية (استنادًا إلى مستوى التفصيل) |
| المعلمة | النوع | الوصف |
|---|---|---|
{startDateMilliseconds:Int64} | Int64 | بداية النطاق الزمني للوحة المعلومات (بالمللي ثانية منذ epoch) |
{endDateMilliseconds:Int64} | Int64 | نهاية النطاق الزمني للوحة المعلومات (بالمللي ثانية منذ epoch) |
وحدات الماكرو
$__، ويجري استبدالها قبل إرسال الاستعلام إلى ClickHouse.
وحدات ماكرو حدود الوقت
| الماكرو | يتم توسيعه إلى | نوع العمود |
|---|---|---|
$__fromTime | toDateTime(fromUnixTimestamp64Milli({startDateMilliseconds:Int64})) | DateTime |
$__toTime | toDateTime(fromUnixTimestamp64Milli({endDateMilliseconds:Int64})) | DateTime |
$__fromTime_ms | fromUnixTimestamp64Milli({startDateMilliseconds:Int64}) | DateTime64 |
$__toTime_ms | fromUnixTimestamp64Milli({endDateMilliseconds:Int64}) | DateTime64 |
$__interval_s | {intervalSeconds:Int64} | Int64 |
وحدات الماكرو لتصفية الوقت
WHERE لتصفية عمود وفقًا للنطاق الزمني في لوحة المعلومات.
| Macro | Description |
|---|---|
$__timeFilter(column) | يصفّي عمود DateTime وفقًا للنطاق الزمني في لوحة المعلومات |
$__timeFilter_ms(column) | يصفّي عمود DateTime64 (بالملي ثانية) وفقًا للنطاق الزمني في لوحة المعلومات |
$__dateFilter(column) | يصفّي عمود Date وفقًا للنطاق الزمني في لوحة المعلومات |
$__dateTimeFilter(dateCol, timeCol) | يصفّي باستخدام عمودي Date وDateTime منفصلين |
$__dt(dateCol, timeCol) | اسم مستعار لـ $__dateTimeFilter |
$__timeFilter(TimestampTime):
وحدات ماكرو للفواصل الزمنية
SELECT وGROUP BY لمخططات السلاسل الزمنية. وهي متاحة فقط لتصورات Line وStacked-bar.
| Macro | Description |
|---|---|
$__timeInterval(column) | يُجمِّع عمود DateTime ضمن فواصل زمنية بقيمة intervalSeconds |
$__timeInterval_ms(column) | يُجمِّع عمود DateTime64 ضمن فواصل زمنية بقيمة intervalMilliseconds |
$__timeInterval(TimestampTime):
ماكرو تصفية لوحة المعلومات
| الماكرو | الوصف |
|---|---|
$__filters | يُستبدل بشروط التصفية على مستوى لوحة المعلومات (يتطلب تحديد مصدر) |
$__filters ليصبح شروط SQL WHERE المقابلة. وعند عدم تحديد أي مصدر أو عدم تطبيق أي عوامل تصفية، يتم توسيعه إلى (1=1)، لذا يكون تضمينه في عبارة WHERE آمنًا دائمًا.
كيفية عرض نتائج الاستعلام بيانيًا
المخططات الخطية ومخططات الأعمدة المتراكمة
| الدور | نوع العمود | الوصف |
|---|---|---|
| الطابع الزمني | أول عمود Date أو DateTime | يُستخدم بوصفه المحور السيني. |
| قيمة السلسلة | جميع الأعمدة الرقمية | يُرسَم كل عمود رقمي كسلسلة منفصلة. وعادةً ما تكون هذه قيمًا مُجمَّعة. |
| أسماء المجموعات | أعمدة String أو Map أو Array | اختياري. تُرسَم الصفوف التي تختلف فيها قيم المجموعات كسلاسل منفصلة. |
المخطط الدائري
| الدور | نوع العمود | الوصف |
|---|---|---|
| قيمة الشريحة | أول عمود رقمي | يحدد حجم كل شريحة. |
| تسمية الشريحة | أعمدة String أو Map أو Array | اختياري. تتحول كل قيمة فريدة إلى تسمية لشريحة. |
مخطط عددي
| الدور | نوع العمود | الوصف |
|---|---|---|
| رقم | أول عمود رقمي | تُعرَض القيمة من الصف الأول في أول عمود رقمي. |
مخطط جدولي
أمثلة
مطلوب الوصول إلى جدول النظامستحتاج إلى تحديد
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. وينبغي أن يطابق المصدر الجدول الذي يُجرى عليه الاستعلام لضمان دقة التصفية.