Prometheus / المتقدم: التوسع والحفظ والتحقق الآمن / الدرس 14
القدم والغياب والمقارنات الزمنية
فسر فشل الجمع وغياب السلاسل وعلامات القدم والرجوع والتقييم المزاح، دون تحويل الدليل المفقود إلى صفر ناجح.
في هذه الصفحة
أهداف الدرس
- افصل الصفر وفشل الجمع وغياب الدليل.
- قارن دوال الغياب بمحددات الفشل.
- راجع offset والطوابع وافتراضات الاستعلام التاريخي.
الصفر والغياب قياسان مختلفان
قد يصف معدل عداد صفري خمولاً مرصوداً، وتصف up بقيمة صفر عملية جمع فاشلة، بينما يصف عدم وجود سلسلة مختارة غياباً وفق قواعد الاستعلام. لا يمكن دمج هذه الحالات دون سياسة للمجموعة والتغطية. يختلف هدف أُوقف عمداً عن هدف اختفى دون توقع. تؤثر معالجة القدم في الوقت الذي تتوقف فيه المحددات الآنية عن إعادة السلاسل القديمة، ويضيف الرجوع والطابع الزمني الصريح سياقاً آخر. اقرأ المرجع الثابت، ولا تفترض أن كل نقطة مفقودة تعني تأخراً ثابتاً واحداً. قد يعيد رسم متصل عينات حديثة نسبياً بعد تراجع موثوقية الجمع بالفعل.
اسأل عن الفشل والغياب منفصلين
يختار التعبير الأول غير المنفذ فشل الجمع الصريح. ويسأل الثاني عن انعدام عينات المهمة في المدى وفق absent_over_time. تظل سلسلة up الموجودة بقيمة صفر دليلاً على عينات، فتختلف عن الغياب. ليست التعبيرات تصميم تنبيه كامل للأهداف المتوقعة؛ فقد لا يكشف غياب مستوى المهمة مثيلاً ناقصاً بين أقران سليمين. استخدم جرداً متوقعاً مخولاً عند أهمية كل هدف. لا تخترع هويات من الفراغ أو تفترض أن تسميات ناتج الدالة تعيد الجرد.
up{job="warehouse-lab"} == 0
absent_over_time(up{job="warehouse-lab"}[10m])
مدى العشر دقائق توضيحي لا توصية للاستدعاء. لا ينفذ الاستعلامان، وليس الثاني مقارنة جرد لكل مثيل.
احفظ الفرق بين الصفر المعلوم والمجهول
يستخدم المصنف وجود العينة وحداثتها المعلنين قبل قراءة القيمة. يبقى الصفر الحديث المعلوم صفراً، ويبقى المفقود والقديم مجهولاً. يمثل سياسة تفسير، لا علامات قدم Prometheus أو تخزينها. قد تستخدم دوال المدى عينات سابقة وفق قواعدها بعد توقف محدد آني عن إعادة السلسلة. تحقق من كل دالة ولا تفرض سياسة غياب واحدة. وضح عرض المجهول في اللوحات والتنبيهات كيلا يخفي لون مطمئن مصدراً أعمى.
def interpret(present, fresh, value):
if not present or not fresh:
return "unknown-evidence"
return f"known-value={value}"
print(interpret(True, True, 0))
print(interpret(False, False, None))
print(interpret(True, False, 0))
known-value=0
unknown-evidence
unknown-evidence
الوجود والحداثة مدخلان ثابتان. لا ينفذ النموذج رجوع Prometheus أو علامة قدم أو طابع مصدر أو محرك استعلام.
تحتاج المقارنة التاريخية تعريفات متوافقة
تزيح offset سياق وقت المحدد، ويمكن أن تثبت @ التقييم عند طابع معين وفق القواعد. تساعدان المقارنة ولا تضمنان تكافؤ مزيج الحركة أو المخطط أو النشر أو الاكتمال. قد يجعل اسم مهمة جديد محدد الأمس فارغاً والحالي ناجحاً. وقد يختلف عمر بيانات مصدر بطابع صريح عن عينات وقت جمع عادي. سجل المنطقة والتقييم والنافذة ونسخة العقد. قارن مجموعات متماثلة قبل تسمية الفرق تحسناً أو تراجعاً للخدمة.
اختبر انتقالات الغياب لا القيم السليمة فقط
استخدم حالات افتراضية لانعدام الحركة وفشل الجمع وإزالة الهدف وتأخر المشاهدات وإعادة البدء وهجرة التسميات. حدد النظام المالك لتوقعات النشاط، والمدة التي يظل خلالها الدليل مفيداً. قد يبرر صفر بديل لمجموعة معلومة صراحة، ويضر مجموعة أخرى؛ فاجعل المبرر وتسميات المطابقة قابلين للمراجعة. ينفذ هذا الدرس المصنف المحلي فقط. لا يستعلم تاريخاً أو يحقن طوابع زمنية أو يغير أهدافاً أو يحذف بيانات أو ينفذ عملية مراقبة، ولا يدعي التحقق من توقيت القدم الفعلي.
الأخطاء الشائعة وإصلاحها
يعرض انعدام العينات كعدم أخطاء.
- لماذا يحدث؟
- حُولت تغطية مجهولة إلى صفر مقاس.
- كيف تصلحه؟
- احفظ الغياب والحداثة كحالتين مستقلتين.
- كيف تتجنب تكراره؟
- اختبر المصدر المفقود وانعدام الحركة.
يفوت فحص غياب المهمة مثيلاً ناقصاً.
- لماذا يحدث؟
- لم توجد مجموعة متوقعة لكل هدف.
- كيف تصلحه؟
- قارن الجرد المخول بالهويات المرصودة.
- كيف تتجنب تكراره؟
- راجع النطاق وقواعد إيقاف الأهداف.
يتحسن التاريخ بعد تغيير تسمية.
- لماذا يحدث؟
- لم يعد المحدد المزاح يطابق بيانات مماثلة.
- كيف تصلحه؟
- وحّد العقدين أو اشرح الهجرة.
- كيف تتجنب تكراره؟
- نسّخ التعريف وتغير الهوية.
اختبر فهمك
1. لماذا لا يعني استخدام absent_over_time(up[10m]) أن جميع الأهداف كانت سليمة؟
اعرض الحل المشروح
يسأل التعبير عن غياب العينات للمجموعة المحددة. قد ينتج الجمع الفاشل عينات up بصفر، وقد يبقي قرين سليم محدداً واسعاً للمهمة غير فارغ. فسّر المحدد الدقيق وجرد الأهداف المتوقع؛ فالغياب وفشل الجمع يجيبان سؤالين مختلفين.
2. هل تضمن offset 1d مقارنة عادلة لأداء يومين متتاليين؟
اعرض الحل المشروح
لا. قد يختلف مزيج الحركة وهوية الأهداف والتسميات وتغطية الجمع ومعاني العمل. وحّد الاستعلام والعقود، وبيّن الفجوات صراحة. تقدم إزاحة الوقت سياق تقييم مختلفاً، وليست تجربة ذات مجموعات متطابقة أو تفسيراً سببياً.
أهم ما تعلمته
- يختلف الغياب والدليل القديم والصفر المرصود.
- تحتاج دوال الغياب مجموعة متوقعة صريحة.
- لا تضمن إزاحة الوقت تكافؤ المعنى.