ما المقصود بالتتبُّع الموزع؟

تعريف التتبُّع الموزع

التتبُّع الموزع هو تقنية تُستخدَم لتتبُّع طلبات التطبيقات ومراقبتها في أثناء انتقالها عبر الأنظمة الموزعة أو بيئات الخدمات المصغرة.

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

أحدث الأخبار التقنية، مدعومة برؤى خبراء

ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.

شكرًا لك! أنت مشترك.

سيصلك محتوى الاشتراك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك من هنا. لمزيد من المعلومات، راجع بيان خصوصية IBM.

كيف يعمل التتبُّع الموزع؟

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

يبدأ التتبُّع الموزع من خلال تجهيز بنية الخدمة المصغرة الخاصة بك. يمكنك استخدام أدوات مفتوحة المصدر مثل OpenTelemetry لبدء عملية جمع الأجهزة والقياس عن بُعد.

بعد ذلك، يحتاج المطورون إلى تنفيذ التعليمات البرمجية في خدماتك لتتبُّع بيانات التتبُّع ووضع علامة على المعرفات الفريدة لكل معاملة. يمر سياق التتبُّع المشفر من خادم إلى آخر عبر بيئة التطبيق بأكملها. توفر المعرِّفات التي تُلحق نفسها برحلة المعاملة رؤية واضحة لتجربة العميل.

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

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

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

IBM DevOps

ما المقصود بعمليات التطوير؟

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

فمزايا وتحديات التتبُّع الموزع

تعوق البِنى الحديثة المعقدة قدرة التطبيقات الأحادية القديمة على التكيف مع الأدوات التي تستضيفها. ومع وضع هذا التحدي في الاعتبار، أصبح التتبُّع الموزع ضروريًا في تحقيق قابلية الملاحظة في بيئات السحابة الأصلية.

فيما يلي بعض الفوائد الرئيسية للتتبع الموزع:

  • استكشاف المشكلات وإصلاحها بشكل أسرع: تقليل متوسط الوقت المستغرق للحل (MTTR) ومتوسط الوقت المستغرق للاكتشاف (MTTD) بشكل كبير. يمكن للمهندسين مراجعة عمليات التتبُّع الموزع للعثور على السبب الأساسي وموقع أخطاء التطبيق.

  • تعزيز تعاون الفريق: في بيئة الخدمات المصغرة النموذجية، تقوم فِرَق متخصصة بالتعامل مع التقنيات المختلفة وتطويرها. يمكن أن يؤدي هذا الموقف إلى حدوث ارتباك بين الفِرَق إذا كانوا لا يعرفون مكان حدوث الخطأ ومن المسؤول عن حله. يمكن أن يساعد ارتباط التتبُّع الفِرَق الهندسية على تصور البيانات حتى يتمكنوا من تنبيه المطور الصحيح لإصلاح المشكلة.
     

  • التكامل والتنفيذ المرن: يمكن للمطورين تنفيذ التتبُّع الموزع في أي بيئة سحابة أصلية تقريبًا. والأدوات متوافقة مع مجموعة واسعة من لغات البرمجة والتطبيقات.

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

  • التجهيز اليدوي: تتطلب بعض منصات التتبُّع الموزع من المطورين تعديل التعليمات البرمجية الخاصة بهم لبدء تتبُّع طلبات المستخدمين. تستغرق عملية التجهيز اليدوي الكثير من الوقت، وتجعل تطبيقك أكثر عرضة للأخطاء، ويمكن أن تؤدي إلى فقدان بعض بيانات التتبُّع.
     

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

  • أخذ العينات: تستخدم بعض أدوات التتبُّع الموزع عملية أخذ عينات عشوائية، والتي تختار عمليات تتبُّع بشكل عشوائي لتحليلها. ولأن اختيار عمليات التتبُّع يتم عشوائيًا، ولا توجد طريقة لمعرفة عمليات التتبُّع التي ستواجه مشكلات، فقد يؤدي ذلك إلى عدم انتباه الفِرَق للأخطاء الرئيسية الموجودة.

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

المقارنة بين التتبُّع الموزع والتسجيل

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

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

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

أدوات التتبُّع الموزع

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

إليك بعضًا من أشهر الخيارات مفتوحة المصدر المتاحة في السوق:

  • إطار عمل OpenTelemetry: يقدِّم OpenTelemetry مجموعة من أدوات تطوير البرامج (SDKs)، وبرامج جمع البيانات، وواجهات برمجة التطبيقات المستقلة عن البائعين وأدوات القياس. وهو مزيج من OpenCensus وOpenTracing. يُعَد إطار مراقبة الأداء الشهير هذا للبيئات السحابية أحد أكثر أدوات التتبُّع الموزع شيوعًا. ولا يتضمن OTel أدوات للتحليل أو العرض المصور للبيانات، ولكن يمكنك إرسال بيانات القياس عن بُعد إلى تطبيقات خارجية لإجراء هذا البحث.

  • إطار عمل OpenCensus: تم إنشاء OpenCensus بواسطة Google استنادًا إلى نظام التتبُّع الداخلي الخاص بها. في نهاية المطاف أصبح مفتوح المصدر وأصبح متاحًا في مكتبات متعددة اللغات. يستطيع إطار العمل هذا جمع البيانات ونقلها إلى المنصات الخلفية للمساعدة على تصحيح الأخطاء، ولكن للأسف، لا توجد به واجهة برمجة تطبيقات لتضمين البرنامج في التعليمات البرمجية. هذا القيد هو أحد الأسباب الرئيسية لدمج OpenCensus وOpenTracing معًا بواسطة مؤسسة Cloud Native Computing Foundation لإنشاء OpenTelemetry.

  • إطار عمل OpenTracing: هو واجهة برمجة تطبيقات لا تعتمد على البائعين وتساعد المطورين على إعداد التعليمات البرمجية للتتبُّع الموزع. يتوفر هذا المشروع مفتوح المصدر بتسع لغات مختلفة، بما في ذلك Java وPython وRuby.

  • Zipkin: هو مشروع آخر مفتوح المصدر أنشأته شركة Twitter. يساعد نظام التتبُّع الموزع هذا محترفي عمليات التطوير على جمع بيانات التطبيق المهمة واستكشاف مشكلات زمن الانتقال وإصلاحها في بنيات الخدمة المختلفة. ويمكنك إرسال البيانات إلى Zipkin باستخدام Apache أو Kafka أو HTTP.
  • Jaeger: هو أحدث مشروع مفتوح المصدر في هذه القائمة، وقد أنشأته شركة Uber ويتكامل بسهولة مع OpenTracing.تتميز هذه الأداة بأنها مرنة للغاية، ما يجعلها خيارًا رائعًا لتتبع الطلبات من خلال بيئة الخدمات المصغرة. يساعد كلٌّ من Zipkin وJaeger على تصور الإحصائيات ولكن لديهما قيود فيما يتعلق بأخذ عينات من البيانات.

على الرغم من أن استخدام OpenCensus وOpenTracing كان شائعًا في الماضي، فإننا ننصح باستخدام OpenTelemetry أو Zipkin أو Jaeger. استخدم هذه الأدوات مع أداة لإدارة أداء التطبيقات أو أداة لقابلية الملاحظة مثل Instana للحصول على رؤية واضحة وكاملة لما يحدث داخل تطبيقك.

تتبَّع كل الطلبات عبر كل الخوادم باستخدام Instana

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

نقوم بتحسين كل عملية تتبُّع بين التطبيق والخدمة وبنية النظام لنمنحك تغطية كاملة للنظام. لتجربة Instana مع التتبُّع الموزع، سجِّل للحصول على فترة تجريبية مجانية لمدة أسبوعين لتجربة ميزاتنا.

حلول ذات صلة
IBM DevOps Accelerate

أتمتة تسليم البرامج لأي تطبيق محليًا أو على السحابة أو الكمبيوتر المركزي.

استكشف DevOps Accelerate
حلول عمليات التطوير

استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.

استكشف حلول عمليات التطوير
خدمات الاستشارات السحابية 

أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال إستراتيجيات السحابة الهجينة والشراكات مع الخبراء.

الخدمات السحابية
اتخِذ الخطوة التالية

تحقيق أقصى استفادة من إمكانات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية الآمنة واختبارها ونشرها من خلال التكامل المستمر والتسليم المستمر.

استكشف حلول عمليات التطوير اكتشف عمليات التطوير أثناء العمل