Grafana: الميزة: تعامل مع القيمة الصفرية على أنها صفر بالنسبة إلى حدود التلوين

تم إنشاؤها على ٢٤ يوليو ٢٠١٥  ·  24تعليقات  ·  مصدر: grafana/grafana

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

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

من الممكن إرجاع 0 مقابل null في Prometheus باستخدام عامل التشغيل OR: سيعيد exression OR on() vector(0) 0 إذا لم يُرجع التعبير المتري أي شيء. تضمين التغريدة

ال 24 كومينتر

تعمل وظيفة transformNull بشكل رائع إذا كنت تستخدم الجرافيت

لا توجد آلية تعبئة يمكنني رؤيتها الآن للواجهة الخلفية الخاصة بي.

الذي؟

بروميثيوس

هل لدى بروميثيوس وظائف / ميزات تحويل؟ لم أجربه بعد (أتوق فعلاً للقيام بذلك ، ربما أضيف بروميثيوس كمكوِّن إضافي لمصدر البيانات الرسمي)

في grafana 2.1 ، يبدو أن القيم "الخالية" يتم التعامل معها على أنها قيم 0 ، بقدر ما يتعلق الأمر بالتلوين (حتى إذا تم تعيين القيمة الخالية إلى نص كما في # 1166).

لجعلها أكثر تحديًا: إذا كان الأقل أفضل ، فقد ترغب في تعيين عتبات للأخضر / البرتقالي / الأحمر في 0/1/3 ، أي تتم قراءة القيمة> 3 (ولكن ربما يجب أن تكون القيمة الفارغة حمراء أيضًا). إذن تصبح القيمة الفارغة خضراء ، ولكن يمكنك القول إنها يجب أن تكون حمراء.

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

torkelo أنا أتفق مع feliksik وسأذهب إلى أبعد من تسمية هذا خطأ: عندما


تحرير: تبين أن هذه الميزة كانت موجودة من قبل (# 1130) ، ولكن تمت إزالتها في cc21c66b3a128ea680be2e491cb89f8da90b2677. أعتقد أنه يمكننا نقل المناقشة إلى # 1130.

+1 أتفق مع @ n-st و feliksik : تعرض لوحة القيادة حاليًا "أحمر" لـ N / A بينما في الواقع N / A تعني عدم وجود بيانات / لا نشاط ، لذلك يجب أن تكون غير ملونة بشكل مثالي.

من الممكن إرجاع 0 مقابل null في Prometheus باستخدام عامل التشغيل OR: سيعيد exression OR on() vector(0) 0 إذا لم يُرجع التعبير المتري أي شيء. تضمين التغريدة

إغلاق هذا لأن معظم واجهات TSDB الخلفية لديها طرق للتعامل مع القيم الخالية في الاستعلام

تضمين التغريدة

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

هل يمكنني اقتراح إعادة فتح هذه المشكلة؟

boeboe لقد قمت بتحديث تعبيري من التعليق أعلاه. هذا واحد يجب أن يعمل من أجلك.

شرح: بروميثيوس يستخدم مطابقة التسمية في التعبيرات. إذا أرجع expression أي شيء به تسميات ، فلن يتطابق مع السلسلة الزمنية التي تم إنشاؤها بواسطة vector(0) . لجعل هذا ممكنًا ، من الضروري إخبار بروميثيوس صراحةً بعدم محاولة مطابقة أي تسميات عن طريق إضافة on() .

grobie شكرا على التفسير الخاص بك. لسوء الحظ ، لا تقدم وثائق Prometheus مثالاً واضحًا على استخدام عامل التشغيل on() (https://prometheus.io/docs/querying/operators)

هنا هو استفساري الحالي:
counter_services_active_sessions_responses_4xx_total{kubernetes_namespace="dev-appservicebase"} OR vector(0)

كيف يمكنني إعادة كتابة هذا لتجنب التكرارات في حالة وجود المقاييس (في هذه الحالة ، عادت خدمة صغيرة استجابات HTTP 4xx). يعرض الاستعلام الآن النتيجتين التاليتين:

عداد -24-24 "، pod_template_hash =" 3210291495 "، اكتب =" active-Session-type "} 1173
{} 0

grobie ما عليك إلا تعليقي الأخير ، يجب أن

هل لدى أي شخص استعلام حل بديل لـ MySQL؟

TheFrogDaddy يمكنك استخدام حالة التحديد عندما و / أو مع وظيفة الاندماج .

TheFrogDaddy يمكنك استخدام حالة التحديد عندما و / أو مع وظيفة الاندماج .

مرحبًا ، شكرًا لعودتك إلي بسرعة. لا أجعل هذا يعمل ، هل أفتقد شيئًا؟

حاولت هذا:

SELECT $__timeGroup(updated, '1h', 0) AS time, COALESCE(SUM(1),0) as value, 'Errors' AS metric FROM mytable WHERE $__timeFilter(updated) AND error_message IS NOT NULL GROUP BY 1;

وهذا

SELECT $__timeGroup(updated, '1h', 0) AS time, CASE ISNULL(SUM(1)) WHEN TRUE THEN 0 ELSE SUM(1) END AS value, 'Errors' AS metric FROM myTable WHERE $__timeFilter(updated) AND error_message IS NOT NULL GROUP BY 1;

شكرا

@ TheFrogDaddy ما الذي تحاول تلخيصه بـ sum(1) ؟ لا معنى له بالنسبة لي. أود أن أقترح أن نواصل المناقشات على موقع مجتمعنا وتحديداً العلامة mysql . الرجاء فتح موضوع جديد هناك ويمكنك الاتصال بي من خلال @ + mefraimsson

من الممكن إرجاع 0 مقابل null في Prometheus باستخدام عامل التشغيل OR: سيعيد exression OR on() vector(0) 0 إذا لم يُرجع التعبير المتري أي شيء. تضمين التغريدة

لا تنسى تفعيل الخيار الفوري !!

هذا جميل

من الممكن إرجاع 0 مقابل null في Prometheus باستخدام عامل التشغيل OR: سيعيد exression OR on() vector(0) 0 إذا لم يُرجع التعبير المتري أي شيء. تضمين التغريدة

حسن. شقيق

من الممكن إرجاع 0 مقابل null في Prometheus باستخدام عامل التشغيل OR: سيعيد exression OR on() vector(0) 0 إذا لم يُرجع التعبير المتري أي شيء. تضمين التغريدة

هذا لا يعمل مع by (label) ، بينما يبدو أن هذا يعمل:

expression OR up*0
sum by (label) (data_metric) - sum by (label) (nodata_metric or up*0)

هنا 2 سنتي

sum(expression) by (label) -
sum(expression offset $__interval OR expression * 0) by (label)

هذا يمكن أن يعطيني الاختلاف في التعبير 2 في الفترة الزمنية المستهدفة. في حالة عدم وجود سلسلة الوقت ، يتم الحساب مع الأخذ في الاعتبار أن القيمة هي 0

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