محتويات الدورة

Prometheus / الأساسي: الجمع ومعنى السلاسل الزمنية / الدرس 4

المهام والأهداف وسلامة الجمع

فسّر إعداد الجمع ومقياس up دون الخلط بين اكتشاف الهدف ومحاولة جمعه ونجاح عرضه وتوافر الخدمة للمستخدم.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • اشرح هوية مهمة الجمع ومثيلها.
  • راجع فاصل الجمع ومهلته ونطاق الأهداف.
  • ميّز فشل الجمع من غياب هدف كان متوقعاً.

الهدف وجهة لجمع المقاييس

هدف الجمع نقطة اختيرت لجلب المقاييس، وغالباً تُكتشف بآلية مهيأة. تجمع job أهدافاً لغرض جمع مشترك، وتحدد instance عادة عنوان الهدف ما لم تغيرها إعادة التسميات. تصف هذه التسميات هوية الجمع، ولا تحد تلقائياً خدمة العمل. قد يعرض تطبيق نقاطاً عدة، ويمثل exporter أنظمة لاحقة متعددة. سجل مالك النقطة وحد مشاهدات المصدر ومجموعة الأهداف المتوقعة. يختلف هدف أغفله الاكتشاف عن هدف اكتُشف ثم فشل جمعه.

اقرأ مقطع إعداد محدوداً

يعلن المقطع غير التنفيذي مهمة افتراضية بفاصل خمس عشرة ثانية ومهلة خمس. يستخدم اسماً محجوزاً تحت .invalid كيلا يوحي بهدف فعلي. ليس نشراً كاملاً أو سياسة أمن أو أمراً لبدء خادم. يجب أن تلائم المهلة فاصل الجمع الفعلي وفق القواعد الموثقة، لكن اختيار الرقمين يحتاج تكلفة المصدر وحاجة القياس. يشمل وقت الجمع أكثر من حساب التطبيق. راجع DNS والنقل وحجم العرض والتحليل والمصادقة في البيئة المخولة الفعلية قبل تكييف المقطع.

yaml مقطع تعليمي لجمع Prometheus v3.5.0
scrape_configs:
  - job_name: warehouse-lab
    scrape_interval: 15s
    scrape_timeout: 5s
    static_configs:
      - targets: ["warehouse.invalid:9100"]

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

فسر up عند حده الفعلي

ينشئ Prometheus مقياس up لمحاولات الجمع: واحداً للنجاح وصفراً للفشل وفق معايير الجمع. ويقدم قياسات مرتبطة كالمدة وعدد العينات. قد يعكس الصفر تعذر نقل أو مهلة أو عرضاً غير صالح أو فشلاً آخر؛ ولا يحدد السبب وحده. وقد يعكس غياب سلسلة متوقعة الاكتشاف أو إعادة التسميات أو نطاق الاستعلام أو القدم. لا تحول الغياب إلى صفر دون نموذج مبرر للمجموعة. قد ينجح جمع exporter ويحمل مقياس فشل لاحق، فراجع معناه مستقلاً عن سلامة نقطته.

قارن المتوقع والمرصود صراحة

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

python مقارنة محلية للأهداف المتوقعة
expected = {"worker-a", "worker-b", "worker-c"}
observed_up = {"worker-a": 1, "worker-b": 0}
failed = sorted(name for name, value in observed_up.items() if value == 0)
absent = sorted(expected - observed_up.keys())
print("failed", failed)
print("absent", absent)
الناتج المتوقع
failed ['worker-b']
absent ['worker-c']

يملك worker-b مشاهدة فشل صريحة، ولا يملك worker-c مشاهدة في الخريطة الافتراضية. هاتان حالتان مختلفتان للدليل.

استخدم دليل الجمع قبل تغيير الحدود

افحص الحد الفاشل بدليل قرائي معتمد: اختيار الهدف وتسمياته الفعلية والتوقيت وتوافق الاستجابة وأخطاء الجمع. قد تؤخر زيادة المهلة عمياء كشف الفشل وتستهلك موارد دون إصلاحه، وقد يضاعف الفاصل الأقصر تكلفة نقطة مكلفة. أبعد الأسرار عن الصور ومقتطفات الإعداد، ولا تفحص مضيفين عشوائيين بسبب درس مراقبة. ينفذ الدرس مقارنة جرد محلية فقط؛ ولا يشغل خادماً أو مستمعاً أو اكتشافاً أو جمعاً أو DNS أو تغيير إعداد حي، ولا يدعي ذلك.

الأخطاء الشائعة وإصلاحها

تُعلن سلامة التخزين اللاحق لأن up يساوي واحداً.

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

يُعد الهدف المفقود جمعاً فاشلاً عادياً.

لماذا يحدث؟
لم يُفحص الجرد والاكتشاف.
كيف تصلحه؟
قارن المتوقع المخول بالهويات المرصودة.
كيف تتجنب تكراره؟
احفظ دليل الجرد والإيقاف المقصود.

تزداد المهلة لكل فشل جمع.

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

اختبر فهمك

1. لا توجد سلسلة up لهدف واحد من عشرة أهداف متوقعة. هل يكفي ذلك لاستنتاج أن تطبيقه متوقف؟

اعرض الحل المشروح

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

2. لماذا لا تعد مهلة جمع مقدارها خمس ثوانٍ ممارسة مثلى لجميع الخدمات؟

اعرض الحل المشروح

تختلف تكلفة استجابة المصدر وظروف الشبكة وحجم العرض وفاصل الجمع والحرجية واحتياجات الكشف. قد يخفي رقم يتجنب انتهاء المهلة هنا نقطة بطيئة أو ممتلئة في مكان آخر. اختر المهلة وراجعها بأدلة فعلية مخولة، بدلاً من نسخ قيمة المقطع التعليمي.

أهم ما تعلمته

  • يقيس up نجاح الجمع عند حد محدد.
  • المتوقع والفاشل والغائب حالات مختلفة.
  • تحتاج الدورية والمهلة دليلاً خاصاً بالحمل.

المراجع الرسمية