0Pricing
DevOps Bootcamp · درس

التسجيل المنظّم والتتبّع الموزّع

اجعل عمليات النشر قابلة للرصد باستخدام السجلات المنظّمة ومعرّفات الارتباط والتتبّع الموزّع، لتتمكن من تصحيح الأعطال عبر الخدمات في مسار CI/CD

التسجيل المنظّم والتتبّع الموزّع درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

الركائز الثلاث للرصد

يرتكز الرصد على ثلاث ركائز: المقاييس والسجلات والتتبعات.

  • تخبرك المقاييس بأن هناك مشكلة
  • تخبرك السجلات بما حدث
  • تخبرك التتبعات بالمكان الذي حدثت فيه المشكلة ضمن مسار الطلب

تبدأ مراقبة مسار التنفيذ عادةً بالمقاييس؛ ويعمّق هذا الدرس فهم السجلات والتتبعات.

لماذا التسجيل المنظّم

يصعب إجراء الاستعلامات على سطر سجل نصي عادي. أما السجل المنظّم فهو سجل قابل للقراءة آليًا، ويكون عادةً بتنسيق JSON ويحتوي على حقول مسماة.

يمكن لأدوات مثل Loki أو Elasticsearch أو Datadog تصفية السجلات المنظّمة وتجميعها وإصدار التنبيهات بناءً عليها.

العادي مقابل المنظّم

قارن بين سطر غير منظّم وسطر منظّم. يتيح لك الإصدار المنظّم إجراء استعلام مباشر عن status=500.

// Unstructured
Deploy failed for service api at 12:01

// Structured (JSON)
{"level":"error","event":"deploy_failed","service":"api","status":500}

إصدار سجلات JSON

تحتوي معظم اللغات على مسجّل سجلات منظّمة. والفكرة الأساسية هي تسجيل كائن بدلًا من سلسلة نصية موصولة.

const log = (level, event, fields) =>
  console.log(JSON.stringify({ level, event, ...fields }));
log('info', 'deploy_started', { service: 'api', version: '1.4.2' });

معرّفات الارتباط

يلمس النشر الواحد العديد من الخطوات والخدمات. ويكون معرّف الارتباط (أو معرّف التتبّع) قيمة فريدة تُرفق بكل سطر سجل لعملية منطقية واحدة.

يساعد البحث باستخدام ذلك المعرّف على إعادة بناء القصة الكاملة عبر المكوّنات.

  - name: Set correlation id
    run: echo "TRACE_ID=$(uuidgen)" >> $GITHUB_ENV

مستويات السجل

استخدم مستويات سجل متسقة حتى تتمكن من ضبط مقدار التفاصيل والتنبيهات:

  • debug — تشخيصات مفصلة
  • info — أحداث عادية
  • warn — مشكلات يمكن استردادها
  • error — حالات فشل تحتاج إلى الانتباه

أصدر تنبيهات عند error، وخذ عينات من info، وأبقِ debug متوقفًا في بيئة الإنتاج.

ما هو التتبّع الموزّع

يتتبع التتبّع الموزّع الطلب أثناء مروره عبر خدمات متعددة. وتمثل كل خطوة span، وترتبط وحدات span معًا لتشكّل trace.

يعرض trace الخط الزمني ويحدد أي span كان بطيئًا أو تسبب في خطأ، وهو ما يمثل قيمة كبيرة في عمليات نشر الخدمات المصغّرة.

OpenTelemetry

يُعد OpenTelemetry (OTel) معيارًا محايدًا تجاه المورّد لإنشاء التتبعات والمقاييس والسجلات.

أضف أدوات OTel إلى تطبيقك وصدّر البيانات إلى نظام خلفي مثل Jaeger أو Tempo أو نظام APM سحابي.

import { trace } from '@opentelemetry/api';
const tracer = trace.getTracer('deploy-service');
const span = tracer.startSpan('deploy');
// ... do work
span.end();

تتبّع خط الأنابيب نفسه

يمكنك تتبّع تطبيقك وكذلك خط الأنابيب. إذ تُصدر الأدوات span لكل مهمة وخطوة، ما يتيح لك معرفة مرحلة CI/CD التي تمثل عنق الزجاجة.

يحوّل ذلك سير العمل الطويل إلى مخطط شلال مرئي يوضح أين يُستهلك الوقت.

التجميع المركزي

أرسل السجلات والتتبعات من كل مهمة وخدمة إلى منصة مركزية. فمشغلات CI مؤقتة، ولذلك تختفي السجلات المتروكة على المشغّل بعد انتهاء عملية التشغيل.

أعد توجيه السجلات إلى وجهة تجميع أثناء التشغيل حتى يصبح تحليل الحوادث ممكنًا بعد اختفاء المشغّل.

من الإشارة إلى الإجراء

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

الهدف هو الانتقال مباشرةً من تنبيه واحد إلى التتبّع وسطر السجل المنظّم الذي يفسّر التنبيه.

اختبار سريع

اختبر مدى فهمك للسجلات والتتبعات.

مراجعة

عمّقت فهمك للرصد باستخدام السجلات والتتبعات.

  • أصدر سجلات منظّمة (JSON) بمستويات متسقة
  • أرفق معرّفات الارتباط لتتبّع عملية واحدة
  • استخدم التتبّع الموزّع وOpenTelemetry للعثور على وحدات span البطيئة أو الفاشلة
  • اجمع كل شيء مركزيًا قبل اختفاء المشغلات المؤقتة

يكمل ذلك المقاييس والتنبيهات لتحقيق رصد شامل لخط الأنابيب.

الأسئلة الشائعة

هل درس «التسجيل المنظّم والتتبّع الموزّع» مجاني؟

نعم — نص درس «التسجيل المنظّم والتتبّع الموزّع» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «التسجيل المنظّم والتتبّع الموزّع»؟

اجعل عمليات النشر قابلة للرصد باستخدام السجلات المنظّمة ومعرّفات الارتباط والتتبّع الموزّع، لتتمكن من تصحيح الأعطال عبر الخدمات في مسار CI/CD تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «التسجيل المنظّم والتتبّع الموزّع»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

  1. استراتيجيات مراقبة المسارات
  2. التكامل مع الخدمات الخارجية
  3. إعداد الإشعارات والتنبيهات
  4. التسجيل المنظّم والتتبّع الموزّع
← العودة إلى DevOps Bootcamp