DevOps / المتوسط: أنظمة تسليم مضبوطة / الدرس 10
قابلية الملاحظة والقياسات المفيدة
اربط أعراض المستخدم بالتتبعات والقياسات والسجلات مع ضبط الحجم والهوية والبيانات الحساسة.
في هذه الصفحة
أهداف الدرس
- اربط القياسات والسجلات والتتبعات بأسئلة المستخدم.
- اضبط السياق والتنوع والحقول الحساسة.
- صمم تنبيها مفيدا ومسارا محدودا.
البدء بأسئلة عن السلوك
تساعد قابلية الملاحظة على التحقيق بإشارات النظام وسياقها. تجيب الأدوات عن العملية الفاشلة ومكان الزمن وما تغير قرب الحادث. قد تفوّت لوحة موارد كثيرة رحلة عمل فاشلة. حدد حدود الطلب والعملية قبل الخلفية. توفر OpenTelemetry أدوات السياق والتجميع ولا تمثل وحدها تخزينا وتنبيها واستجابة كاملة. تحقق من دعم SDK والمصدر للغة والخلفية المختارتين.
استخدام إشارات متكاملة
تلخص القياسات جماعات وفترات، وتسجل السجلات أحداثا منفردة، وتربط التتبعات المقاطع عبر الحدود. يظهر التتبع انتظار جهة خارجية ويبين المقياس انتشاره. يعرض المثال الأول حدثا منظما بقالب مسار ومراجعة دون اعتماد أو حمولة مستخدم. ثبّت الأسماء والوحدات. لا تجعل معرف الطلب الفريد تسمية مقياس لمجرد فائدته في السجل؛ فقد يولد سلاسل بلا حد ويغرق النظام.
{"event":"request_completed","service":"booking-api","route":"/bookings/:id","status_class":"5xx","duration_ms":240,"revision":"lab-build-42","request_id":"lab-request-a"}
يدعم القالب تجميعا محدودا، وينتمي request_id للربط لا لتسمية المقياس. المعرفات اصطناعية ولا يسجل طلب فعلي.
نقل السياق دون منح الثقة
يربط معرف الطلب أو التتبع الملاحظات ولا يثبت هوية المستدعي. تحقق من السياق بالبروتوكول ولا تضع اعتمادا أو بريدا أو قيما ضخمة في baggage. حدد ما ينتقل ومن يراه عند حدود الثقة. يقلل أخذ العينات الكلفة ويغير التحقيق الممكن؛ فلا يثبت غياب التتبع غياب الطلب. عرّف الخدمة والنشر بسمات ثابتة لا تتغير لكل طلب واربط المراجعة والإعداد وزمن الحادث.
ضبط سلوك المجمّع
يستقبل أنبوب القياس الإشارات ويعالجها ويصدرها. يرسم المثال الثاني مسارا بأسماء مكونات معروفة، لكنه مقطع غير قابل للتشغيل لأن المستقبلات والوجهات والهوية والموارد تتبع التوزيعة والبيئة. حدد الطوابير والذاكرة والتجميع وسلوك تعطل الخلفية. يجب ألا يستنزف الطابور موارد التطبيق أو يحتفظ بأسرار صامتة. اختبر الحجب والفشل منعزلا وراجع الحقول عالية التنوع قبل التوسع.
service:
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [otlp]
يوضح المقطع ترتيب المراحل فقط. تغيب تعريفات المكونات والذاكرة والوجهات وTLS والاعتمادات عمدا، لذلك ليس إعداد نشر.
التنبيه على أثر قابل للتصرف
اختر تنبيها لأثر مستمر أو نفاد قريب بمالك وشدة ومدخل تشخيص. تجنب الإيقاظ لكل سطر أو محاولة غير ضارة. قارن الخطأ والزمن بأحداث النشر وصحة الاعتماديات ثم اختبر التفسير. احتفظ بما يكفي لنافذة الاستجابة بوصول وحذف واضحين. أدوات القياس جزء من عقد التطبيق وتحتاج مراجعة شيفرة وكلفة وأمن. لا تعني بيانات أكثر فهما أكثر؛ فالسياق والتفسير الموثوق أهم.
الأخطاء الشائعة وإصلاحها
ينمو تنوع القياسات بلا حد
- لماذا يحدث؟
- أصبحت المعرفات والروابط الكاملة تسميات.
- كيف تصلحه؟
- استخدم أبعاد مسار وحالة محدودة.
- كيف تتجنب تكراره؟
- راجع ميزانية التسميات وراقب نمو السلاسل.
يُوثق معرف التتبع كهوية
- لماذا يحدث؟
- اختلط سياق التشخيص بالمصادقة.
- كيف تصلحه؟
- تحقق من الهوية والصلاحية مستقلا عبر حد الأمن.
- كيف تتجنب تكراره؟
- عامل سياق القياس الوارد كمدخل غير موثوق.
يضعف فشل القياس التطبيق
- لماذا يحدث؟
- لم تكن للطوابير والذاكرة سياسة فشل.
- كيف تصلحه؟
- حدد التخزين واختر فقدا أو إعادة موثقين.
- كيف تتجنب تكراره؟
- اختبر غياب الخلفية في عزلة.
اختبر فهمك
1. أين يوضع معرف حجز فريد: تسمية زمن أم سجل تشخيص مضبوط؟
اعرض الحل المشروح
استخدم قالب مسار محدودا للمقياس. أدرج معرفا معتمدا في سجل أو تتبع مضبوط عند الحاجة والسماح. يحفظ ذلك التجميع ويتجنب سلسلة لكل حجز ويحد التعرض الحساس.
2. لا يوجد تتبع لطلب فاشل. هل يغلق الحادث كخطأ عميل؟
اعرض الحل المشروح
لا. قد تفسر العينات أو فشل التصدير أو فقد السياق أو نقص الأدوات الغياب. قارن العدادات والسجلات ودليل العميل وصحة المجمّع. عامل الفجوة شكا مطلوب حله لا دليلا على غياب الفشل.
أهم ما تعلمته
- تساعد قابلية الملاحظة على التحقيق بإشارات النظام وسياقها.
- يربط معرف الطلب أو التتبع الملاحظات ولا يثبت هوية المستدعي.
- اختر تنبيها لأثر مستمر أو نفاد قريب بمالك وشدة ومدخل تشخيص.