Grafana: تنبيه: قيود الوقت من اليوم

تم إنشاؤها على ١٦ نوفمبر ٢٠١٦  ·  83تعليقات  ·  مصدر: grafana/grafana

قيود الوقت من اليوم.

انظر طريقتين يمكن تنفيذ ذلك.

1) كشرط تنبيه
2) كعامل تصفية على الإخطارات

arealerting typfeature-request

التعليق الأكثر فائدة

كحل بديل ، باستخدام بروميثيوس كخلفية:

  • أضف الاستعلام التالي إلى المقياس الخاص بك: hour() ، الذي يُرجع ساعة اليوم (0-23). يمكنك جعلها مخفية في الرسم البياني.
  • أضف شرطًا إضافيًا AND إلى التنبيه الخاص بك ، بحيث يتم التنبيه فقط إذا كان الاستعلام hour() يقع بين النطاق الذي تريده (على سبيل المثال: ساعات العمل).

يمكن فعل الشيء نفسه مع day_of_week() .

ال 83 كومينتر

هل توصل أي شخص إلى حل بديل لهذا السيناريو؟ لقد صُدمت لأن 4 أشخاص فقط قاموا بالتصويت على هذه التذكرة لأن ميزة التنبيه بأكملها أصبحت عديمة الفائدة بشكل أساسي ما لم تكن أنظمتي تعمل على مدار الساعة طوال أيام الأسبوع. أشعر أنني يجب أن أفتقد ميزة أو تقنية أخرى يقوم بها أي شخص آخر للتحايل على هذه المشكلة ...

كما هو الحال الآن ، يتعين علي إما إيقاف تشغيل جميع إشعارات التنبيه ، أو قبول حقيقة أنني سأحصل على مجموعة من الإشعارات الزائفة عند إغلاق عملياتي للتخلص من الذخائر المتفجرة.

لا تحاول أن تبدو ناقدة حقًا ، فقط مرتبك كيف يدير الآخرون هذه التنبيهات. لقد أحببت Grafana لسنوات حتى الآن ، وكنت أتتبع ميزة التنبيه منذ طرحها لأول مرة في الإصدار 4. لكنه نوع من الخدش في كل مرة يكون هناك تحديث تنبيه ولم يتم معالجة هذا القيد.

bblazei أنت على حق! إنها ميزة رائعة تحتاج إلى تحديد أولوياتها وبالتأكيد ستكون مفيدة لشركتنا بالتأكيد!
torkelo هل تعرف متى سيتم التخطيط لهذه الميزة؟

لا ليس إيتا الآن لأنها ليست على خريطة طريقنا للإصدارين التاليين (4.3 و 4.4)

حسنًا ، هذا مؤسف. كيف توصي باستخدام إطار عمل التنبيه على الأنظمة التي لا تعمل على مدار الساعة طوال أيام الأسبوع؟

هذا شيء نود كثيرًا حيث نحتاج إلى مستويات تنبيه مختلفة اعتمادًا على الوقت من اليوم

نحن (لسنا) ننتظر هذا بصبر أيضًا. نستخدم حاليًا الرسوم البيانية curl to Slack بشكل دوري.

تضمين التغريدة لقد مرت فترة من الوقت لا أرى تحديثًا لهذا الأمر. نحن نبحث أيضًا عن شيء ما مثل ما إذا كان بإمكاننا تعطيل تنبيهات grafana لوقت محدد. هل هذا ممكن؟

هل لدى أي شخص بعض التحديث لهذه الميزة؟

أنا قادر على إيقاف التنبيهات يدويًا على صفحة قائمة التنبيه ، ولكن (على سبيل المثال) أثناء النسخ الاحتياطي اليومي لخادم قاعدة بيانات 2: 30a ، نتلقى تنبيهًا بشأن "انتظار إدخال / إخراج الشبكة قيد التقدم." سيكون من الجيد بالتأكيد إنشاء تنبيهات لا يتم إخطارها خلال فترات زمنية معينة.

هل يدعم غرافانا عملية modulo؟ بعد ذلك ، يجب أن تكون قادرًا على استخدام وظيفة الهوية للحصول على وقت unix كمقياس إضافي في لوحتك. باستخدام وظيفة modulo ، يمكنك الحصول على ما تبقى من قسمة وقت unix بمقدار 86400 (عدد الثواني في اليوم). ثم يمكنك إضافة شرط النطاق على مقياس الوقت في تنبيهك. حق؟

هل سيكون من الصعب إضافة عملية modulo لهذا الغرض؟

حقا بحاجة لهذه الميزة!

أي تحديثات على هذا؟ هل هو عمل قيد التقدم أم شيء لا يزال يتم "النظر فيه" في الوقت الحالي؟

نود حقًا استخدام أطر زمنية مختلفة لتنبيهات معينة مثل الاستخدام ، والذي نتوقع أن يكون أعلى من حد معين أثناء النهار ولكن ليس في الليل.

+1

+1

+1

لماذا يقوم الناس ( bascarsija &maizy) بالتصويت ضد طلبات الناس لهذا؟

يقوم الأشخاص "بالتصويت ضد" رسائل "+1" التي تؤدي إلى إرسال إشعارات عبر البريد الإلكتروني إلى جميع المشتركين في سلسلة الرسائل هذه. إن التأثير التراكمي للعديد من الأشخاص الذين يضيفون رسائل "+1" هذه إلى سلاسل الرسائل يقلل بشكل كبير من قيمة ميزة الاشتراك في سلسلة الرسائل عن طريق تقليل نسبة الإشارة إلى الضوضاء بشكل كبير.

يمكنك الإشارة إلى اهتمامك أو موافقتك على اقتراحات أو تعليقات محددة أدلى بها الآخرون دون تشغيل أي إشعارات عبر البريد الإلكتروني من خلال "التصويت لصالح" أو "التصويت بأسفل" عبر ردود الفعل. إن أبرز عرض للتضامن / الاهتمام الكلي في قضية ما هو عادةً احتساب ردود الفعل على الوصف الأولي / الأولي للمشكلة - يرجى التفكير في إضافة ردود أفعالك هناك.

بصراحة ، هذه مشكلة منهجية في Github - فهي تنطبق بالتساوي على جميع سلاسل الرسائل في جميع المشاريع. ستجد العديد من المناشدات عبر سلاسل الرسائل المختلفة التي تطلب مثل هذا الاستخدام لأن واجهة مستخدم Github لا تخبر المستخدمين بهذه النتيجة أو تثبطها بشكل واضح بأي شكل من الأشكال ، والمستخدمون الذين هم على دراية بالمشكلة (و / أو تأثروا بها سلبًا) من المحتمل أن يتردد في تقديم مثل هذه التعليقات عن طريق إضافة رسالة أخرى إلى الموضوع (وبالتالي تقليل نسبة الإشارة إلى الضوضاء بشكل أكبر).

شكرا على الشرح. أظن أن الأشخاص الذين ينشرون هذه +1 لم يكونوا ليفعلوا ذلك إذا علموا أنه مجرد مصدر إزعاج. قد يؤدي نشر شرح قصير حول ذلك إلى إيقاف عدد قليل من هؤلاء ... بالإضافة إلى سؤالي. يمكن أن تعني علامة الإبهام عددًا من الأشياء.

أي تحديث في تنبيهات الجدول الزمني خلال وقت معين من اليوم والأسبوع والشهر والسنة؟

كحل بديل ، باستخدام بروميثيوس كخلفية:

  • أضف الاستعلام التالي إلى المقياس الخاص بك: hour() ، الذي يُرجع ساعة اليوم (0-23). يمكنك جعلها مخفية في الرسم البياني.
  • أضف شرطًا إضافيًا AND إلى التنبيه الخاص بك ، بحيث يتم التنبيه فقط إذا كان الاستعلام hour() يقع بين النطاق الذي تريده (على سبيل المثال: ساعات العمل).

يمكن فعل الشيء نفسه مع day_of_week() .

نحتاج أيضًا إلى هذه الميزة إذا أردنا أن نكون قادرين على تقديم خدمة 24 ساعة بناءً على فرق مختلفة في العالم ... هل هناك أي خطة لذلك؟

في غضون ذلك ، تستعد هذه الميزة ، أحاول استخدام الحل البديل.

مثال:

""
المقياس أ: production.application_a.actual_metric = 123 (هذا هو المقياس الفعلي الخاص بي)
المقياس ب: helper.time_helper.hour = 1 إلى 24 (مقاييس الوقت الزائفة التي يتم إرسالها ساعة من اليوم كل دقيقة للجرافيت)

   alert requirement :

(المقياس أ أقل من 100 والساعة داخل النطاق 10 و 20)
أو
(المقياس أ أقل من 50 وساعة خارج النطاق 10 و 20)
""

بمعنى أخر:

metric A threshold is 100 between 10AM to 8PM and it is 50 for rest of the time

سؤالي:

بالنسبة للسيناريو أعلاه ، هل يمكنني تحقيق ذلك باستخدام لوحة رسم بياني واحدة أم هل يمكنني فعلاً استخدام لوحتين مختلفتين للرسم البياني ، واحدة لكل منهما داخل النطاق وخارجه؟ أو هل هناك أي طريقة أخرى في غرافانا لتحقيق ذلك؟ (ملاحظة: أنا أستخدم الجرافيت 0.9.)

image

تنتظر أيضًا هذه الميزة ، وهي طريقة مثيرة للاهتمام لإرسال بعض المقاييس الخاطئة إلى grafana ... أتساءل فقط ما هو الخيار الجميل والبسيط لإنشاء المقاييس؟

+1 هل يمكننا الحصول على استعلام عشوائي يمكننا استخدام التعبيرات للحد من حالة التنبيه؟

ساعة بين 1 و 2 AND

+1 سيكون موضع تقدير!

مجرد تعليق على عمل خام حول
أنا استخدم collectd / Influxdb
لدي عملية cron تكتب قيمة الساعة في ملف ext مسطح
يقرأ المكون الإضافي للجمع الجدول هذا كـ Table_Value - مثيل "ساعة"
في أي تنبيه أحتاج فيه إلى استخدام نطاق فقط ، أقوم بإضافة الساعة المترية (كحد أقصى) إلى لوحة القيادة كمقياس مخفي ، ثم في التنبيه ، استخدم قيمة النطاق AND - المشغل فقط إذا كانت الساعة بين X و Y
نفس الشيء يعمل في يوم من الأسبوع أيضًا

خام ولكنه فعال

torkelo أي ضيف على متى يمكن تنفيذ هذا؟

لا ، آسف ، إنها ليست على خريطة طريق الفريق الأساسي

أي عمل حول منع إرسال التنبيهات عند جدولة مثيل Cloud vm بسبب إيقاف تشغيله. معظم الأنظمة لديها هذا لسنوات عديدة.
الرجاء إضافة هذا ؛) إعداد التعب التنبيه.

لدي عملية cron تكتب قيمة الساعة في ملف ext مسطح
في أي تنبيه أحتاج فيه إلى استخدام نطاق فقط ، أقوم بإضافة الساعة المترية (كحد أقصى) إلى لوحة القيادة كمقياس مخفي ، ثم في التنبيه ، استخدم قيمة النطاق AND - المشغل فقط إذا كانت الساعة بين X و Y

هذا حل فعال تمامًا مع ميزة دقيقة ولكنها مفيدة على تجاهل التنبيهات بين X - Y: إذا لم يتم تصحيح الموقف قبل Y ، فسأحصل على أول تنبيه لي عند Y. إذا تجاهلت التنبيهات بين X - Y ، فأنا لن يتم تنبيهك حتى بعد Y (على الرغم من أنه يمكن للمرء استخدام ميزة "إرسال التذكيرات" على ما أعتقد).

اتضح أن وظيفة cron لم تكن ضرورية عند استخدام الجرافيت كمصدر للبيانات:

أضفت مقياسًا C timeSlice(isNonNull(identity(1)), '02:30 -9h', '06:00 -9h') وأضفت حالة التنبيه AND max() OF query(C, 1m, now) HAS NO VALUE لاستبعاد التنبيهات بين 2:30 - 6:00. (هذا -9h يرجع إلى أن إزاحة المنطقة الزمنية الخاصة بي هي +9: 00 ويبدو أن شريحة الوقت () بالتوقيت العالمي المنسق.)

تحرير: بعد أيام قليلة من تجربة ذلك ، يبدو أن خدعة timeSlice() هذه لا تعمل ... يبدو أنها عالقة في الوقت الذي حفظت فيه لوحة القيادة ولا تنتقل إلى كل يوم.

هذه ميزة ضخمة مفقودة. لماذا هذا ليس على خارطة الطريق؟ يبدو تافها للتنفيذ

شكرًا حقًا لـ albertvaka على الحل البديل باستخدام وظيفة الساعة () في بروميثيوس.

لسوء الحظ ، يبدو أنه لا توجد طريقة للنظر تلقائيًا في المنطقة الزمنية عند استخدام وظيفة الساعة () (وهي مشكلة عندما يكون هناك DST). يمكننا فقط حساب المنطقة الزمنية يدويًا بناءً على الشهر واليوم ، لكنه ليس حلاً جيدًا.

مزيد من المعلومات حول بروميثيوس / بروميثيوس # 4160

سيكون من الجيد أن تكون قادرًا على تعيين مستويات عتبة مختلفة لفترات زمنية ووقت مختلفة
على سبيل المثال ، لا بأس إذا لم تكن هناك أحداث متعلقة بحساسية المستخدم في الليل تقريبًا ، ولكن ليس جيدًا أثناء النهار

هل هناك أي تقدم في هذا الطلب؟

لست متأكدًا ، لكن لم أجد أي شيء جديد متعلق بهذا في Grafana 6.1.3

أحب أن أرى هذه الميزة مطبقة. نستخدم Grafana للتنبيهات المهمة للأعمال ، وسيكون من الرائع عدم إخطار الأشخاص في الشركة عندما لا يكون ذلك مطلوبًا على سبيل المثال في أوقات فراغهم.

+1 ، سأحب أن يتم تنفيذ هذا.

+1 لا سمح الله أنسى أن أوقف المراقبة مؤقتًا قبل أن أعود للمنزل لقضاء عطلة نهاية الأسبوع ، وسأعود يوم الاثنين إلى آلاف رسائل البريد الإلكتروني للسلوك المتوقع

+1 يرجى تنفيذ هذا في أسرع وقت ممكن - سأضطر إلى نقل كل شيء إلى لوحة الأشياء إذا لم يتم تنفيذ ذلك قريبًا https://thingsboard.io/

torkelo هل يمكن أن تعطينا بعض المعلومات حول هذه المشكلة؟ هناك أي تقدم؟

مرحبًا ، هل هناك شخص لديه المعرفة الكافية لتنفيذه وتقديم طلب سحب؟

يمكنني أن أخبرك بما فعلته "للحصول على" هذه الميزة. لا يمكنني مشاركة الكود لأنه ملكية ، لكن يمكنني مشاركة فكرة ، والتي لا تخضع لأي ملكية ثور * * على الإطلاق.

لقد قمت بتطبيق وظيفتين مجدولتين لـ cron [SomeCloudProviderOfYourChoice] من وظائف Lambda التي استخدمت Grafana REST API لتحديث لوحات المعلومات بالكامل من حمولات JSON المصدرة مع تنبيهاتها وحدودها اعتمادًا على فترات النشاط / الخمول للنظام وفقًا لذلك (نظامنا نشط 8-10 ساعات يوميًا خارج عطلات نهاية الأسبوع). إنه يعمل بشكل جيد.

ولكن.

عندما تعمل مع لوحات المعلومات في Grafana Web GUI ، عليك أن تضع في اعتبارك أنه كلما قمت بإجراء أي تغييرات على أي شيء يتخلص من لوحات معلومات JSON ويلزمها بـ repo " Grafana Scheduler" يكون إلزاميًا. إذا نسيت تفريغ حمولتك (South Park S11E09) ، فستفقد تغييراتك كلما بدأ الجدول الزمني (قابل للاسترداد ، ولكنه مؤلم). وعليك نشر التغيير الخاص بك على كل من عمليات تفريغ JSON النشطة / الخاملة ، مما يعني في الأساس مضاعفة الجهد (بالإضافة إلى المزيد إذا لم يتم توثيق الاختلافات وفقًا لذلك). يعني هذا "الحل" بشكل فعال أنك بحاجة إلى عملية موثقة جيدًا وصيانتها ومرئية ومتابعة صارمة للتعامل معها ، والتي قد تمتص أكثر من عدم امتلاك هذه الميزة على الإطلاق. نادرًا ما نغير حدود التنبيه لدينا بحيث يبدو أنه لا يمثل الكثير من المتاعب بالنسبة لنا للتعامل مع _العملية_.

على أي حال...

أنا أعمل مع Aiven Grafana في الوقت الحالي والذي يعمل أعلى SQLite (فرضه الموفر) ، لذلك إذا تم تغيير قاعدة البيانات إلى شيء أكثر تزامنًا وغنى بالميزات ، فيمكن للمرء معرفة كيفية استخدام مشغلات قاعدة البيانات + الأحداث للتعامل مع تلك الصغيرة تم إجراء تحديثات جزئية عبر Grafana Web GUI حتى تتمكن من جعل العملية برمتها أكثر سلاسة.

ترقبوا ، حظا سعيدا!

يرجى إضافة هذا للإنجاز ، فهذا ضروري بالتأكيد لعمليات الترحيل من الأنظمة الأساسية الأخرى.

الطريقة البسيطة مع استعلامات T-SQL هي خداع GRAFANA (الحل البديل):

SELECT timestamp AS time,
        CASE 
            WHEN DATEPART(HOUR, SYSDATETIME()) NOT IN (0,1,2,3,4,5,6) 
            THEN COUNT(document_number)
            ELSE 0 
        END AS Receipts
FROM GRAFANA.dbo.ReceiptsErrorsHistory
WHERE timestamp >= DATEADD(DAY, -7, GETDATE())
AND document_type = 'receipt'
GROUP BY timestamp

ما حالة هذا التنفيذ؟ نحن نستخدم حاليًا seyren و cabot للتنبيه ، ونود الانتقال إلى Grafana للتنبيه. بدون قيود الوقت ، لن نتمكن من المضي قدمًا.

في حالة البحث المرن ، وجدت طريقة سهلة لحل هذه المشكلة.
استخدم حساب التاريخ: https://www.elastic.co/guide/en/elasticsearch/client/net-api/7.x/date-math-expressions.htm.

على سبيل المثال ، إذا كنت تريد بيانات بنطاق (AM 00:00 ~ PM: 12: 00) ، فإن timestamp : [now / d TO now / d + 12h] قد يعرض النتيجة المطلوبة

sukjoonhong لا أستطيع أن أجعلها تعمل. هل لديك لقطة شاشة من فضلك؟

لدي حل بديل لهذا في مكان يستخدم cron لتشغيل التنبيهات وإيقافها. لن يعمل هذا إلا إذا كنت تريد إيقاف تشغيل جميع التنبيهات طوال الليل (أو إذا كان من الممكن أن تزعجك كتابة التنبيهات الفردية).

في crontab على صندوق grafana ، أضفت:

1 * * * * root /root/do-alert-thing.sh

وفي /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

فقط استبدل في مكان ما / في وقت ما بمنطقتك الزمنية (نصيحة: قم بتشغيل timedatectl list-timezones للحصول على قائمة) ، وأضف بيانات الاعتماد الخاصة بك بدلاً من [email protected] . تعمل نقطة نهاية المسؤول هذه فقط في وضع المصادقة الأساسي وفقًا للوثائق .

آمل أن يساعد هذا شخص هناك.

امين
2019-10-14-094215_3840x1080_scrot

في حالتي ، نجح هذا الاستعلام.

sukjoonhong شكرا سأجربها!

لدي حل بديل لهذا في مكان يستخدم cron لتشغيل التنبيهات وإيقافها. لن يعمل هذا إلا إذا كنت تريد إيقاف تشغيل جميع التنبيهات طوال الليل (أو إذا كان من الممكن أن تزعجك كتابة التنبيهات الفردية).

في crontab على صندوق grafana ، أضفت:

1 * * * * root /root/do-alert-thing.sh

وفي /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

فقط استبدل في مكان ما / في وقت ما بمنطقتك الزمنية (نصيحة: قم بتشغيل timedatectl list-timezones للحصول على قائمة) ، وأضف بيانات الاعتماد الخاصة بك بدلاً من [email protected] . تعمل نقطة نهاية المسؤول هذه فقط في وضع المصادقة الأساسي وفقًا للوثائق .

آمل أن يساعد هذا شخص هناك.

لقد جربت هذا ونجحت ، ولكن في grafana ui تقول أنها تتوقف مؤقتًا لمدة ساعة فقط. لذلك يجب أن أصنع كرونتاب يعيد نفسه كل ساعة حتى ....؟

لقد تعاملت مع هذا من زاوية مختلفة حيث يمكنك إنشاء مقياس تشغيل / إيقاف بروميثيوس بناءً على إخراج البرنامج النصي ، على سبيل المثال أمر ps الذي يتحقق مما إذا كان البرنامج النصي للنسخ الاحتياطي قيد التشغيل. ثم في لوحة المعلومات لدي "نسخ احتياطي نشط" لعرض حالة النسخ الاحتياطي وفي لوحتي الأساسية مع جميع استفساراتي وتنبيهاتي ، أقوم بإضافة التحقق من الحالة الذي لن ينبه إذا كان مقياس النسخ الاحتياطي = 1. هذا الأسلوب من شأنه يسمح لك أيضًا بإضافة تنبيه منفصل يتم تنشيطه إذا كان النسخ الاحتياطي يعمل لفترة أطول مما ينبغي عندما تأخذ في الاعتبار البيانات المترية التاريخية.

لدي حل بديل لهذا في مكان يستخدم cron لتشغيل التنبيهات وإيقافها. لن يعمل هذا إلا إذا كنت تريد إيقاف تشغيل جميع التنبيهات طوال الليل (أو إذا كان من الممكن أن تزعجك كتابة التنبيهات الفردية).
في crontab على صندوق grafana ، أضفت:
1 * * * * root /root/do-alert-thing.sh
وفي /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

فقط استبدل في مكان ما / في وقت ما بمنطقتك الزمنية (نصيحة: قم بتشغيل timedatectl list-timezones للحصول على قائمة) ، وأضف بيانات الاعتماد الخاصة بك بدلاً من [email protected] . تعمل نقطة نهاية المسؤول هذه فقط في وضع المصادقة الأساسي وفقًا للوثائق .
آمل أن يساعد هذا شخص هناك.

لقد جربت هذا ونجحت ، ولكن في grafana ui تقول أنها تتوقف مؤقتًا لمدة ساعة فقط. لذلك يجب أن أصنع كرونتاب يعيد نفسه كل ساعة حتى ....؟

لست متأكدًا من سبب رؤيتك لهذا السلوك ؛ بالنسبة لي ، فإنه يتوقف مؤقتًا ويظل متوقفًا مؤقتًا لمدة 9 ساعات ، حتى أقوم بإيقافه باستخدام خط كرون الصباح.

لدي حل بديل لهذا في مكان يستخدم cron لتشغيل التنبيهات وإيقافها. لن يعمل هذا إلا إذا كنت تريد إيقاف تشغيل جميع التنبيهات طوال الليل (أو إذا كان من الممكن أن تزعجك كتابة التنبيهات الفردية).
في crontab على صندوق grafana ، أضفت:
1 * * * * root /root/do-alert-thing.sh
وفي /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

فقط استبدل في مكان ما / في وقت ما بمنطقتك الزمنية (نصيحة: قم بتشغيل timedatectl list-timezones للحصول على قائمة) ، وأضف بيانات الاعتماد الخاصة بك بدلاً من [email protected] . تعمل نقطة نهاية المسؤول هذه فقط في وضع المصادقة الأساسي وفقًا للوثائق .
آمل أن يساعد هذا شخص هناك.

لقد جربت هذا ونجحت ، ولكن في grafana ui تقول أنها تتوقف مؤقتًا لمدة ساعة فقط. لذلك يجب أن أصنع كرونتاب يعيد نفسه كل ساعة حتى ....؟

لست متأكدًا من سبب رؤيتك لهذا السلوك ؛ بالنسبة لي ، فإنه يتوقف مؤقتًا ويظل متوقفًا مؤقتًا لمدة 9 ساعات ، حتى أقوم بإيقافه باستخدام خط كرون الصباح.

لا أقول إنني أرى هذا السلوك ، لكنه يقول ذلك حرفيًا في واجهة مستخدم grafana. تم الإيقاف مؤقتًا لمدة ساعة. لذلك افترضت أن خدعة الإيقاف المؤقت تعمل لمدة ساعة واحدة فقط.

ولكن إذا كان هذا خطأ فأنا أقف مصححًا.

لا أقول إنني أرى هذا السلوك ، لكنه يقول ذلك حرفيًا في واجهة مستخدم grafana. تم الإيقاف مؤقتًا لمدة ساعة. لذلك افترضت أن خدعة الإيقاف المؤقت تعمل لمدة ساعة واحدة فقط.

ولكن إذا كان هذا خطأ فأنا أقف مصححًا.

قد تكون هذه حالة التنبيه فقط ؛ على سبيل المثال ، إذا كان التنبيه جيدًا ، فسيظهر:

image

أظن أنه إذا تم إيقافه مؤقتًا لمدة ساعة ، فإنه سيقول "مؤقتًا لمدة ساعة واحدة"؟

يا غبي ، أعتقد أنني قد أساءت التفسير

شكرا على التوضيح!

هل هناك أي خطة لتنفيذ هذه الميزة في إصدارات 6.6.x> بعد أربع سنوات؟

ما زلنا نتطلع إلى تنفيذ ذلك أيضًا. يعد هذا نظام تنبيه غير فعال للغاية إذا تم إرسال تنبيهات للمستخدمين المتواجدين بالمجان أو في إجازة أو غير المتوفرين بأي طريقة أخرى عندما لا يحتاجون إلى الرد عليها.

نود بشدة تضمين خيار لتعيين ساعات مختلفة (لساعات عمل الحالة الخاصة بنا) للتنبيه.

بالمثل هنا ، سيكون من الرائع الحصول على هذا.

توجد حلول لبعض الخلفيات (أستخدم واحدًا لـ MySQL والذي يتضمن تصفية الأحداث خارج نطاقات زمنية معينة عبر الاستعلام) ، ولكن وجود هذه "الميزة المناسبة" سيكون بالتأكيد ميزة إضافية.

نود أيضًا أن نرى هذه الميزة في إصدار مستقبلي. قد يكون من المفيد أن تكون قادرًا على تصفية / قمع التنبيهات خلال نوافذنا "بعد ساعات". على سبيل المثال ، إذا كان بإمكاننا تصفية التنبيهات إذا حدثت بعد الساعة 8 مساءً وقبل الساعة 8 صباحًا في اليوم التالي.

سيكون من الرائع الحصول على هذه الميزة ، من فضلك. كما هو الحال الآن ، إنه مثل الطفل الذي يبكي الذئب في الليل. لقد وضعت هاتفي للتو في الدرج. التنبيه عديم الفائدة. شكرا لك.

نحن في حاجة ماسة إلى وظيفة شكر وتقدير لـ Grafana. بدون وظيفة Acknowledge Alert ، لا يمكن استخدام وظيفة Grafana Alerting في بيئة خدمة الإنتاج الحرج.

سيكون من الرائع رؤية هذه الميزة في Grafana. فقط التنبيهات خلال ساعات محددة ذات صلة بنا ، ساعات العمل + -2 ساعة ، أثناء الليل هناك ارتفاع (مخطط) للقيم المرصودة والذي ينتج عنه حاليًا تنبيهات :-(

+1 عند طلب الميزة

ستكون هذه ميزة رائعة إذا كان بإمكاننا إضافة تنبيهات لمناطق زمنية محددة. يجب أن تعمل قواعد التنبيه في منطقة زمنية محددة فقط.

قد يكون من الرائع أن يكون لديك طريقة لتكوين قنوات تنبيه مختلفة فيما يتعلق بالفترات الزمنية ، مثل:

  • يوم الإثنين العادي -> يخطر عبر Slack
  • 1 يناير الاثنين -> يخطر عبر الرسائل القصيرة

يمكن تحديد الفترات الزمنية من قبل المستخدم وربطها بقناة إعلام.

لقد قمت بقراءة معظم التعليقات ، لذا أعتذر إذا أوضح أحدهم حالة الاستخدام التالية ، لكنني لم ألاحظ ذلك.

سبب دعم قيود الوقت من اليوم للتنبيهات هو سلسلة البيانات المتفرقة. ضع في اعتبارك إعدادًا عندما يتم تنفيذ وظيفة مجمعة مرة واحدة يوميًا ، وبعض الوقت بين منتصف الليل والساعة 2 صباحًا من أجل إعداد البيانات لإيجاز يومي في الساعة 8 صباحًا. يتم إرسال نقطة البيانات المفردة لـ "المهمة المكتملة" عند الانتهاء.

لا توجد طريقة جيدة للتنبيه على ذلك دون قيود زمنية.

لن يعمل الخيار "تنبيه في حالة عدم وجود نقطة بيانات خلال X من الساعات الماضية" لأي عدد يبلغ X ساعة. على سبيل المثال ، إذا قمت بتنبيهك إلى "عدم وجود نقطة بيانات خلال الـ 24 ساعة الماضية" ، فسيكون ذلك صحيحًا طالما أن جميع الوظائف تنفذ بشكل صحيح كل يوم. ومع ذلك ، إذا فشلت ، وأعدت تشغيل الوظيفة في الساعة 11 صباحًا للحاق بالركب. ثم تعطل التنبيه لليوم التالي (لأنه لن يتم تشغيله إلا بعد الساعة 11 صباحًا). هذه هي حالة الاستخدام الأساسية الخاصة بي لتقييد الوقت. التنبيه العملي الوحيد هو تشغيل منطق تقييم التنبيه من الساعة 2 صباحًا حتى 8 صباحًا والتنبيه في حالة "عدم وجود نقطة بيانات خلال الـ 8 ساعات الماضية".

لا تتعلق حالة الاستخدام هذه بإلغاء التنبيهات أثناء ساعات العمل أو تقليل الضوضاء في وقت محدد من اليوم. حتى مع الاستجابة على مدار الساعة طوال أيام الأسبوع ، لا يمكن التعبير عن التنبيه أعلاه بدقة بدون قيود على الوقت من اليوم.

+1 لهذه الميزة.
في حالتنا ، من الضروري إرسال تنبيه بمعلومات عن آخر N أيام مرة في اليوم / الساعة / الأسبوع. كل شيء معقد بسبب حقيقة أن الرسالة الإخبارية يجب أن تتم في وقت محدد بدقة (8:00 ، 13:00 وما إلى ذلك).

كحل بديل ، نخطط لإدارة التنبيهات عبر HTTP Api ، لكننا نرغب في رؤية هذه الوظيفة في جزء العميل من grafana.

تحتاج هذه الميزة. مثال: شبكة PROD مع ساعات الصيانة - الآن تريد إيقاف بعض الإشعارات أثناء فترة الصيانة هذه. على سبيل المثال كل ليلة أحد بين إطار زمني محدد. غير ممكن في الوقت الراهن.

سأحب هذه الميزة حقًا عند توفرها. أود التوقف عن التنبيه لفترة زمنية محددة في نطاق 24 ساعة.

+100000

👍 +1
أعتقد أنها ميزة أساسية لاستخدام Grafana كمحرك تنبيه حقيقي.

على الرغم من أن الخدمة الفعلية تحافظ على الحالة الصحية ، فقد يتغير المقياس وفقًا للجدول الزمني المحدد.
نحتاج إلى طريقة عامة للتحكم في تنبيهاتنا خلال هذا الجدول الزمني.

+1

ستكون هذه ميزة رائعة من جانب العميل. في الوقت الحالي ، يتعين علينا اشتقاق حقول مثل hourOfDay و dayOfWeek في Logstash من أجل جعلها موجودة في ES لإضافة مقياس إضافي إلى مجموعة المقاييس وإضافتها في قواعد التنبيه.

تنبيهي إذا كان متوسط ​​القياس A وهو استخدام وحدة المعالجة المركزية يزيد عن 90٪ لمدة 1 مليون
و
إذا كان المقياس B الذي يمثل الحد الأقصى للساعة في اليوم لنفس المستندات بين RANGE.

إنه يعمل ، لكنه يشعر بالحرج عند العمل مثل هذا كحل بديل.
خاصة وأن Grafana قد تطورت بشكل هائل منذ عام 2016 في مجالات أخرى ، ولكن هذا نوع من النسيان منذ عام 2016.

لدي حل بديل لهذا في مكان يستخدم cron لتشغيل التنبيهات وإيقافها. لن يعمل هذا إلا إذا كنت تريد إيقاف تشغيل جميع التنبيهات طوال الليل (أو إذا كان من الممكن أن تزعجك كتابة التنبيهات الفردية).

في crontab على صندوق grafana ، أضفت:

1 * * * * root /root/do-alert-thing.sh

وفي /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

فقط استبدل في مكان ما / في وقت ما بمنطقتك الزمنية (نصيحة: قم بتشغيل timedatectl list-timezones للحصول على قائمة) ، وأضف بيانات الاعتماد الخاصة بك بدلاً من [email protected] . تعمل نقطة نهاية المسؤول هذه فقط في وضع المصادقة الأساسي وفقًا للوثائق .

آمل أن يساعد هذا شخص هناك.

مرحبا
هل يمكنك إخباري بكيفية الحصول على عنوان url للتنبيهات الفردية؟

مرحبا
هل يمكنك إخباري بكيفية الحصول على عنوان url للتنبيهات الفردية؟

إنه لأمر مؤسف أنه بعد 4 سنوات لم يتم تنفيذ هذه الميزة المطلوبة بوضوح. حالة الاستخدام الخاصة بي هي أتمتة منزلية بسيطة حيث يجب إعادة تشغيل جهاز التوجيه من وقت لآخر (إنه مزود خدمة الإنترنت ولا يمكنه الاستمرار في العمل لمدة تزيد عن أسبوع من وقت التشغيل). لدي محول مقبس بسيط مع قرص يعيد ضبط جهاز التوجيه كل ليلة. لذلك أتلقى كل ليلة الكثير من التنبيهات حول تعطل مستشعراتي في Telegram. ميزة بسيطة لتعطيل التنبيه خلال فترة زمنية معينة ستكون مفيدة.

لا يجب أن تكون جدولة معقدة للغاية على الفور. في الإصدار الأول من هذه الميزة يمكن أن يكون الوقت فقط من اليوم. مع إضافة جداول أكثر تعقيدًا في مراحل لاحقة

هل لدينا أي طريقة لجدولة التنبيهات في وقت معين.

+1 لهذه الميزة.

هل يدعم غرافانا عملية modulo؟ بعد ذلك ، يجب أن تكون قادرًا على استخدام وظيفة الهوية للحصول على وقت unix كمقياس إضافي في لوحتك. باستخدام وظيفة modulo ، يمكنك الحصول على ما تبقى من قسمة وقت unix بمقدار 86400 (عدد الثواني في اليوم). ثم يمكنك إضافة شرط النطاق على مقياس الوقت في تنبيهك. حق؟

هل سيكون من الصعب إضافة عملية modulo لهذا الغرض؟

يبدو الأمر مجنونًا ولكنه يعمل وكان ذلك كافياً بالنسبة لحالة الاستخدام الخاصة بي. 😅

time() % 86400

ومع ذلك ، من المؤلم أنه لا يوجد حل أكثر ملاءمة لا يمثل اختراقًا واضحًا. 🤦

يبدو الأمر مجنونًا ولكنه يعمل وكان ذلك كافياً بالنسبة لحالة الاستخدام الخاصة بي. 😅

time() % 86400

ومع ذلك ، من المؤلم أنه لا يوجد حل أكثر ملاءمة لا يمثل اختراقًا واضحًا. 🤦

ochrstn ما هو إصدار grafana الذي لديك حيث جربت هذا على v6.6.1 وتم تجاهل عملية modulo بشكل أساسي في الاستعلام؟

يبدو الأمر مجنونًا ولكنه يعمل وكان ذلك كافياً بالنسبة لحالة الاستخدام الخاصة بي. 😅

time() % 86400

ومع ذلك ، من المؤلم أنه لا يوجد حل أكثر ملاءمة لا يمثل اختراقًا واضحًا. 🤦

ochrstn ما هو إصدار grafana الذي لديك حيث جربت هذا على v6.6.1 وتم تجاهل عملية modulo بشكل أساسي في الاستعلام؟

v6.6.2 🙈

هل يدعم غرافانا عملية modulo؟ بعد ذلك ، يجب أن تكون قادرًا على استخدام وظيفة الهوية للحصول على وقت unix كمقياس إضافي في لوحتك. باستخدام وظيفة modulo ، يمكنك الحصول على ما تبقى من قسمة وقت unix بمقدار 86400 (عدد الثواني في اليوم). ثم يمكنك إضافة شرط النطاق على مقياس الوقت في تنبيهك. حق؟
هل سيكون من الصعب إضافة عملية modulo لهذا الغرض؟

يبدو الأمر مجنونًا ولكنه يعمل وكان ذلك كافياً بالنسبة لحالة الاستخدام الخاصة بي.

time() % 86400

ومع ذلك ، من المؤلم أنه لا يوجد حل أكثر ملاءمة لا يمثل اختراقًا واضحًا.

مرحبًا ochrstn :) هل يمكنك تقديم تفاصيل حول كيفية القيام بذلك؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات