CI/CD / عقود الترقية والبيئة / الدرس 12
رصد الإصدار والتغذية الراجعة
اربط المرشح بإشارات التشغيل دون الخلط بين الرصد والسببية.
في هذه الصفحة
أهداف الدرس
- ربط هوية الإصدار بالمقاييس والسجلات والتتبعات.
- تصميم تحقق محدود بحالة نقص بيانات صريحة.
ابدأ بسؤال يهم المستخدم
يسأل تحقق الإصدار إن كان السلوك المقصود يعمل للمستخدمين المقصودين، لا إن كانت عملية موجودة فقط. يهم Parcel نجاح إنشاء الملصق وزمنه أكثر من أمر نشر أخضر. تبقى جاهزية العملية مفيدة لكنها أضيق. اختر إشارات قليلة تغطي الرحلات الحرجة وأنماط الفشل وحدد النافذة والمسؤول عن المخالفة. ليست مراقبة بلا نهاية ولا مالك بوابة إصدار؛ إنها عدم يقين مؤجل.
استخدم أدلة متكاملة
تلخص المقاييس المعدلات والتوزيعات وتحفظ السجلات الأحداث وتتبع التتبعات العمل عبر المكونات. لكل منها حدود: قد يخفي التجميع فشل عميل وتحذف السجلات طلباً وتفوت العينات مشكلة نادرة. اربطها بسمات خدمة وإصدار ثابتة حيث يلائم. تجنب الحمولة الحساسة وتسميات غير مضبوطة مثل كل عنوان عميل. يفيد معرف الإصدار إذا ضُبط عدد قيمه واحتفاظه. اربط الصحة التقنية ونتيجة العمل دون اعتبارهـما متبادلين.
حدد النسخة المتبناة
قد يخفي معدل شامل تراجع المرشح الجديد أثناء تعايش النسخ. افصل نتائجه وقارن جمهوراً متكافئاً حيث يمكن. سجّل الإعداد والبيئة لأن الحزمة نفسها قد تختلف فيهما. الحدث التالي افتراضي بلا عنوان أو سر. يوضح تعليقاً يربط دليل التشغيل بالمرشح وليس مخطط OpenTelemetry إلزامياً ولا معيار سجلات كاملاً.
{"service":"parcel","candidate":"candidate-r8","configuration":"production-c8","event":"label_created","outcome":"success"}
الحقول اصطلاح تطبيقي تعليمي. ينبغي للسمات الفعلية اتباع الاصطلاحات الدلالية المختارة وإصدار أدوات الرصد المدعوم. لا يُرسل السجل إلى جامع.
اعتبر غياب الرصد مجهولاً
يشترط المثال المحلي وجود الإشارات المعلنة قبل وصف الإصدار بالمرصود. ليس صفر أخطاء مع صفر طلبات معدل خطأ سليمًا. قد يعني الغياب انعدام المرور أو تأخر التصدير أو خطأ الاستعلام أو تعطل الأدوات. أظهر الحالات واختر تحققاً بديلاً موافقاً عند الحاجة. لا توسّع الطرح لأن نظام الرصد أعاد فراغاً. بنية الرصد جزء من سلسلة الأدلة وقد تفشل مستقلة عن التطبيق.
samples = {"requests": 0, "errors": 0}
if samples["requests"] == 0:
print("unknown: no request evidence")
else:
print(samples["errors"] / samples["requests"])
unknown: no request evidence
يميّز النموذج صفر طلبات من نسبة خطأ صفر. لا يستعلم عن رصد ولا يحدد حجماً أدنى عاماً للعينة.
يوجه الارتباط التحقيق
زيادة الأخطاء بعد الإصدار سبب قوي للتحقيق وقد تبرر إيقاف التعرض، لكن التتابع الزمني لا يحدد السبب وحده. افحص تغييرات الإعداد وحوادث الاعتماد والمرور والرصد المتزامنة. احفظ المرشح والخط الزمني بدلاً من تكرار النشر حتى يتحسن الرسم. استخدم مقارنة محدودة واشرح عدم اليقين. بعد التعافي حوّل نمط الفشل المكتشف إلى اختبارات أو تصميم إصدار أو أدوات، حتى ينتج الخط التالي دليلاً أنسب لا لوحة إضافية فقط.
الأخطاء الشائعة وإصلاحها
تُفسر قلة الأخطاء كصحة دون طلبات.
- لماذا يحدث؟
- تحولت الملاحظات الغائبة إلى معدل صفر.
- كيف تصلحه؟
- أبلغ بالمجهول واحصل على دليل طلب مناسب.
- كيف تتجنب تكراره؟
- حدد سلوك غياب البيانات في العقد.
تضاف تسميات مستخدمين غير محدودة للمقاييس.
- لماذا يحدث؟
- نُفذ الربط بقيم عالية العدد غير مضبوطة.
- كيف تصلحه؟
- استخدم سمات إصدار مضبوطة وأبعد المعرفات الحساسة.
- كيف تتجنب تكراره؟
- راجع عدد القيم والاحتفاظ قبل طرح الرصد.
يُلام الإصدار على حادث دون تحقيق.
- لماذا يحدث؟
- اعتُبر الارتباط الزمني إثبات سبب.
- كيف تصلحه؟
- قارن الإعداد والمرور والاعتماد وأدلة المرشح.
- كيف تتجنب تكراره؟
- احفظ خطاً زمنياً دقيقاً وإشارات مستقلة.
اختبر فهمك
1. استقر النجاح الشامل والجديد يخدم واحداً بالمئة فقط. ماذا يختفي؟
اعرض الحل المشروح
قد يختفي تراجع كبير داخل الجمهور الصغير. قارن إشارات المرشح والعينة المناسبة بملاحظات كافية مع مراعاة اختلاف السكان. الصحة العامة مفيدة لكنها لا تثبت المسار الجديد.
2. تعطل مصدر المقاييس أثناء الطرح. هل يتوسع الكناري؟
اعرض الحل المشروح
ليس وفق عقد يشترطها. انتظر أو أوقف حسب السياسة وحقق مسار الرصد واستخدم بديلاً مراجعاً إن توفر. لا تعِد تفسير الاستعلام الفارغ كدليل غياب الأخطاء.
أهم ما تعلمته
- تحقق من سلوك المستخدم بإشارات متكاملة مرتبطة بالإصدار.
- أبق المجهول وعدم اليقين السببي ظاهرين.