أنواع التنبيهات
1. تنبيهات البحث
1
2
إنشاء التنبيه
من لوحة إنشاء التنبيه، يمكنك:- تعيين اسم للبحث المحفوظ المرتبط بالتنبيه.
- تحديد عتبة معيّنة وعدد المرات التي يجب بلوغها فيها خلال فترة محددة. ويمكن أيضًا استخدام الحدود كقيم عليا أو دنيا. كما تحدد هذه الفترة عدد مرات تشغيل التنبيه.
- تحديد قيمة
grouped by. يتيح ذلك إخضاع البحث لعملية تجميع، مثلServiceName، مما يسمح بتشغيل عدة تنبيهات انطلاقًا من البحث نفسه. - اختيار وجهة webhook للإشعارات. يمكنك إضافة webhook جديد مباشرةً من هذه الواجهة. راجع إضافة webhook لمزيد من التفاصيل.
2. تنبيهات مخططات لوحة المعلومات
لكي تتمكّن من إنشاء تنبيه لعرض مرئي على لوحة المعلومات، يجب أن تكون لوحة المعلومات محفوظة.
1
افتح مربع حوار تحرير المخطط
افتح قائمة إعدادات المخطط وحدد زر التنبيه. سيؤدي ذلك إلى عرض مربع حوار تحرير المخطط.2
أضف التنبيه
حدد إضافة تنبيه.3
حدّد شروط التنبيه
حدّد الشرط (>=, >, <=, <, =, !=, <= x >=, > or <) والعتبة والمدة وwebhook. كما تحدد المدة هنا أيضًا عدد مرات تشغيل التنبيه.يمكنك إضافة webhook جديد مباشرةً من هذه الواجهة. راجع إضافة webhook لمزيد من التفاصيل.إضافة webhook
Add New Webhook.
يؤدي ذلك إلى فتح مربع حوار إنشاء webhook، حيث يمكنك إنشاء webhook جديد:
اسم webhook مطلوب، بينما يكون الوصف اختياريًا. أما Settings الأخرى المطلوب إكمالها فتعتمد على نوع الخدمة.
لاحظ أن أنواع الخدمات المتاحة تختلف بين ClickStack Open Source وClickStack Cloud. راجع تكاملات أنواع الخدمات.
تكاملات أنواع الخدمات
- Slack: أرسل الإشعارات مباشرةً إلى قناة عبر webhook أو API.
- PagerDuty: وجّه الحوادث إلى فرق المناوبة عبر PagerDuty API.
- Webhook: اربط التنبيهات بأي نظام أو سير عمل مخصص عبر webhook عام.
تكاملات ClickHouse Cloud فقطلا يتوفر تكاملا Slack API وPagerDuty إلا في ClickHouse Cloud.
- عنوان URL الخاص بـ Webhook. على سبيل المثال:
https://hooks.slack.com/services/<unique_path>. راجع وثائق Slack لمزيد من التفاصيل.
- رمز bot الخاص بـ Slack. راجع وثائق Slack لمزيد من التفاصيل.
- مفتاح التكامل الخاص بـ PagerDuty. راجع وثائق PagerDuty لمزيد من التفاصيل.
- عنوان URL الخاص بـ Webhook
- رؤوس Webhook (اختياري)
- محتوى Webhook (اختياري). يدعم المحتوى حاليًا متغيرات القالب
{{title}}و{{body}}و{{link}}.
إدارة التنبيهات
- الشريط الأحمر: تحقق شرط العتبة خلال هذا التقييم وتم تفعيل التنبيه (أُرسل الإشعار)
- الشريط الأخضر: تم تقييم التنبيه، لكن شرط العتبة لم يتحقق (لم يُرسل أي إشعار)
true في تلك اللحظة.
في المثال أعلاه، تم تفعيل التنبيه الأول في كل تقييم، ما يشير إلى وجود مشكلة مستمرة. أما التنبيه الثاني فيُظهر مشكلة جرى حلها؛ إذ تم تفعيله مرتين في البداية (أشرطة حمراء)، ثم في التقييمات اللاحقة لم يعد شرط العتبة متحققًا (أشرطة خضراء).
يؤدي النقر على تنبيه إلى نقلك إلى المخطط أو صفحة Search المرتبط بها التنبيه.
حذف تنبيه
Remove Alert إلى إزالة التنبيه من المخطط.
تنبيهات المخططات المستندة إلى SQL
أنواع المخططات المدعومة
أما أنواع المخططات الأخرى المستندة إلى SQL (جدول، مخطط دائري، خريطة حرارية، إلخ) فلا تدعم التنبيهات.
إنشاء تنبيه SQL
1
أنشئ مخططًا يستند إلى SQL على لوحة معلومات أو افتحه
من لوحة معلومات محفوظة، يمكنك إما إنشاء مخطط جديد باستخدام وضع مخطط SQL، أو فتح مخطط حالي يستند إلى SQL لتحريره.اختر Line أو Stacked Bar أو Number كنوع العرض.2
أضف التنبيه
حدِّد Add Alert من قسم التنبيه في محرر المخطط. اضبط ما يلي:- نوع العتبة:
>=(أكبر من أو يساوي)،>(أكبر من)،<=(أقل من أو يساوي)،<(أقل من)،=(يساوي)،!=(لا يساوي)،<= x >=(بين)، أو> or <(خارج النطاق) - قيمة العتبة: القيمة الرقمية المطلوب المقارنة بها
- Interval: عدد مرات تقييم التنبيه (1m أو 5m أو 15m أو 30m أو 1h أو 6h أو 12h أو 1d). ويحدِّد هذا أيضًا النافذة الزمنية لكل تقييم.
- Webhook: قناة الإشعارات التي تُستخدم عند إطلاق التنبيه. راجع إضافة webhook.
3
احفظ لوحة المعلومات
احفظ لوحة المعلومات لتفعيل التنبيه. سيبدأ التنبيه بالتقييم وفقًا للفاصل الزمني المُعدّ.كيفية تفسير نتائج الاستعلام
- عمود القيمة: يُستخدم آخر عمود رقمي في عبارة
SELECTباعتباره قيمة التنبيه. إذا أعاد استعلامك عدة أعمدة رقمية (مثلًا،count, avg_latency, p99_latency)، فلن تُقارَن بالعتبة إلا الأخيرة منها (p99_latency). - عمود الطابع الزمني: بالنسبة إلى مخططات السلاسل الزمنية (Line وStacked Bar)، يحدِّد النظام عمود Date/DateTime في النتائج باعتباره الفترة الزمنية (أي المحور x في مخطط السلاسل الزمنية). وتُقيَّم قيمة كل فترة زمنية في عمود القيمة مقابل العتبة بشكل مستقل، وإذا تجاوزت قيمة أي فترة زمنية العتبة المُعدَّة، فسيتم إطلاق التنبيه.
- أعمدة التجميع: تُعامَل أي أعمدة غير رقمية وغير خاصة بالطابع الزمني (مثلًا،
ServiceNameوEnvironment) على أنها أبعاد تجميع. وعند وجود مجموعات، يُتتبَّع كل تركيب فريد من قيم المجموعات ويُرسَل له تنبيه بشكل منفصل. سيرسل ClickStack تنبيهًا لكل مجموعة تحتوي على قيمة تتجاوز العتبة المُعدَّة. لا تتوفر المجموعات إلا لمخططات السلاسل الزمنية.
معلمات الاستعلام ووحدات الماكرو
المعلمات المطلوبة والموصى بها
{intervalSeconds:Int64} أو {intervalMilliseconds:Int64} أو $__timeInterval(col) أو $__timeInterval_ms(col)). أثناء تنفيذ التنبيه، سيُستبدل بها الفترة المُعدّة للتنبيه.
الاستعلامات المستخدمة للتنبيهات ينبغي أن تتضمن عامل تصفية للنطاق الزمني ({startDateMilliseconds:Int64} و{endDateMilliseconds:Int64}، أو $__timeFilter(col)، وما إلى ذلك). وبغض النظر عمّا إذا كان عامل تصفية للنطاق الزمني موجودًا في الاستعلام أم لا، فسيُشغَّل استعلام التنبيه وفقًا للفترة المُعدّة للتنبيه. وإذا لم يكن هناك عامل تصفية للنطاق الزمني، فسيقرأ الاستعلام كامل النطاق الزمني المتاح في الجدول المصدر عند كل تنفيذ.
أمثلة على استعلامات التنبيهات
معدل الأخطاء لكل خدمة (زمنيًا)
>= 5 (يُطلق التنبيه عند وصول معدل الأخطاء إلى 5%)
في هذا الاستعلام، يُعدّ ServiceName عمودًا غير رقمي وليس عمود طابع زمني، لذا تُتَابَع كل خدمة بوصفها مجموعة تنبيه منفصلة. ويُطلق التنبيه بشكل مستقل لكل خدمة.
كشف الشذوذ باستخدام المتوسط المتأخر (السلاسل الزمنية)
> 0 (يُفعَّل التنبيه عند رصد أخطاء تتجاوز خط الأساس المتحرك)
لاحظ أن الاستعلام يجلب 30 فترة قبل بداية نطاق التاريخ لتهيئة حسابات النافذة المتحركة، ثم يُصفّي الناتج النهائي ليقتصر على نافذة التقييم.
سيناريوهات التنبيهات الشائعة
All Error Events وHTTP Status >= 400 لتتلقى إشعارًا عند
ارتفاع عدد الأخطاء بشكل مفرط.
العمليات البطيئة: يمكنك إعداد بحث عن العمليات البطيئة (على سبيل المثال،
duration:>5000) ثم إنشاء تنبيه عند حدوث عدد كبير جدًا من العمليات البطيئة.
أحداث المستخدمين: يمكنك أيضًا إعداد تنبيهات للفرق التي تتعامل مباشرةً مع العملاء
لتتلقى إشعارًا عند تسجيل مستخدمين جدد أو عند تنفيذ إجراء حرج من إجراءات المستخدم.