ما هو OpenTelemetry؟

زميلا عمل في غرفة خادم ينظران إلى جهاز كمبيوتر محمول.

المؤلفون

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

ما هو OpenTelemetry؟

OpenTelemetry، أو OTel، هو إطار عمل مفتوح المصدر لقابلية الملاحظة يشمل مجموعة من مجموعات تطوير البرمجيات (SDKs)، وواجهات برمجة التطبيقات (APIs) غير المرتبطة بمزوِّد محدد، وأدوات أخرى لأدوات القياس والتتبُّع للتطبيقات والأنظمة والأجهزة.

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

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

قابلية الملاحظة هي القدرة على اكتساب رؤى حول طريقة العمل الداخلية للنظام من خلال تحليل مخرجاته الخارجية. في عمليات تكنولوجيا المعلومات (ITOps) والحوسبة السحابية، تُستخدم بيانات القياس عن بُعد (مثل السجلات والمقاييس والتتبُّع) لتقييم أداء النظام وحالته الصحية. يعتمد متخصصو عمليات التطوير على أدوات القياس -إضافة تعليمات برمجية إلى التطبيقات والأنظمة لإنتاج وجمع بيانات القياس عن بُعد- لبناء أنظمة قابلة للمراقبة.

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

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

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

تصميم ثلاثي الأبعاد لكرات تتدحرج على مسار

أحدث الأخبار والرؤى حول الذكاء الاصطناعي 


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

لماذا يُعَد OpenTelemetry مهمًا لقابلية الملاحظة؟

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

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

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

تطوُّر OpenTelemetry

تم إنشاء OpenTelemetry من خلال الجمع بين إمكانات التتبُّع الموزعة لكلٍّ من OpenTracing وOpenCensus في أداة واحدة. يُعَد OpenTracing مشروعًا مفتوح المصدر صممته مؤسسة الحوسبة السحابية الأصلية (CNCF) لتزويد المهندسين بواجهة برمجة تطبيقات محايدة من حيث المورِّدين لإضافة أدوات تتبُّع موزعة إلى التطبيقات. وقد أرسى المشروع مجموعة من القواعد الدلالية للمساعدة على ضمان اتساق بيانات القياس عن بُعد.

ومع ذلك، على عكس OpenTelemetry، لم يكن OpenTracing في حد ذاته تنفيذًا للتتبُّع. بل يوفر واجهات يمكن لأنظمة التتبُّع تنفيذها لزيادة التوافق عبر المنصات. أصبح مشروع OpenTracing متوقفًا (ويشجِّع الآن المستخدمين على الانتقال إلى OpenTelemetry)، لكن العديد من البرمجيات وحلول التتبُّع لا تزال تعتمد على واجهات برمجة التطبيقات الخاصة به.

OpenCensus هو مجموعة من مكتبات القياس البرمجي-طوَّرتها Google لجمع مقاييس التطبيقات وتتبُّع العمليات الموزعة- ويمكنها تصدير البيانات إلى منصات خلفية مختلفة في الوقت الفعلي. يجمع البيانات باستخدام علامات التتبُّع والبيانات الوصفية بشكل متسق - وهي فكرة موجودة الآن في OpenTelemetry تحت مُسمَّى "الموارد".

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

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

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

ما المقصود ببيانات القياس عن بُعد؟

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

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

المقاييس

المقاييس هي تقييمات رقمية لأداء النظام واستخدام الموارد. توفِّر هذه المقاييس نظرة عامة عالية المستوى عن سلامة الشبكة من خلال جمع مؤشرات الأداء الرئيسية (KPIs) مثل زمن الانتقال، وفقدان الحِزَم، واستخدام النطاق الترددي، واستخدام وحدة المعالجة المركزية للأجهزة.

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

السجلات

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

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

التتبعات

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

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

عناصر OpenTelemetry

يعتمد OpenTelemetry على العديد من العناصر والعمليات لإنجاح جمع البيانات، بما في ذلك:

واجهات برمجة التطبيقات (APIs)

واجهة برمجة التطبيقات (API) هي مجموعة من القواعد أو البروتوكولات التي تمكِّن تطبيقات البرامج من التواصل مع بعضها لتبادل البيانات والميزات والوظائف.

يوفِّر OpenTelemetry واجهات برمجة تطبيقات خاصةً بكل لغة -مثل Java وRuby وJavaScript وPython وغيرها- يمكن للمطورين استخدامها لإضافة أدوات القياس إلى تطبيقاتهم لجمع بيانات القياس عن بُعد. تفصِل واجهات برمجة التطبيقات في OpenTelemetry التطبيقات عن بنية الشبكة التحتية، ما يمنح الفرق مرونة استخدام أي نقطة نهاية تتوافق مع كود القياس الخاص بهم.

مجموعات تطوير البرمجيات اللغوية (SDKs)

تمكِّن حزم SDKs OpenTelemetry SDKs المهندسين من تكوين سلوك واجهة برمجة التطبيقات وتخصيصها. تشكِّل مجموعات تطوير البرمجيات (SDKs) الجسر بين واجهات برمجة التطبيقات والمجمِّعين وتُتيح إمكانية ربط الأجهزة اليدوية للمكتبات المشتركة بأجهزة التطبيق اليدوية. 

يوفر OTel مجموعات SDKs لمجموعة من لغات البرمجة، ليتمكَّن المطورون من استخدام واجهات OTel لإنشاء وتصدير بيانات القياس عن بُعد بما يتوافق مع لغتهم ونظام الخلفية المُختار. تدعم مجموعات SDK الخاصة بـ OTel أيضًا الأجهزة المخصصة لأطر العمل الداخلية التي لم يغطِها مجتمع OpenTelemetry بعد.

المجمِّعات

المجمِّع هو وكيل يجمع بيانات القياس عن بُعد من التطبيقات التي تم تزويدها بأدوات OpenTelemetry. يتكون المجمِّع من أجهزة استقبال (receivers) ومعالجات (processors) ومجمِّعات (aggregates) ومصدِّرين (exporters)، ويعمل كوسيط مستقل عن المورِّد، حيث يستقبل البيانات من التطبيقات ويحوِّلها إلى منصات قابلية الملاحظة أو وجهات أخرى للتحليل.

يدعم مجمِّع OpenTelemetry حِزَم contrib التي تمكِّنه من استقبال البيانات بعدة تنسيقات -بما في ذلك بروتوكول OpenTelemetry (OTLP) وPrometheus وJaeger- وتصديرها إلى خلفيات مختلفة، أحيانًا بشكل متزامن (لزيادة الاعتمادية). حِزَم contrib هي امتدادات تابعة لجهة خارجية توفِّر لفرق التطوير أدوات القياس، وأجهزة جمع العينات، ووسائل الانتشار، وكاشفات الموارد في شكل وحدات فرعية.

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

المصدِّرات

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

تقوم مصدِّرات بيانات OpenTelemetry بفصل أدوات القياس عن إعدادات الخلفية، وتحويل البيانات إلى التنسيق المناسب لكل منصة قابلية ملاحظة (مثل تحويل التتبُّع إلى بروتوكول Zipkin). تُتيح هذه الديناميكيات للمجمِّع إرسال بيانات القياس عن بُعد نفسها إلى عدة خلفيات، ما يجعل من السهل تغيير الوجهات دون تعديل منطق أدوات القياس في الكود.

أجهزة القياس الآلية

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

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

كيف يعمل OpenTelemetry؟

يعمل OpenTelemetry من خلال الجمع بين واجهات برمجة التطبيقات (APIs)، ومجموعات تطوير البرمجيات (SDKs)، والمجمِّعات (collectors)، وعمليات القياس التلقائي لسحب البيانات وإرسالها إلى النظام المستهدف.

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

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

مزايا OpenTelemetry

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

تشمل فوائد OTel ما يلي:

  • تنفيذ جمع البيانات المتسق. يُتيح OpenTelemetry للفرق جمع بيانات القياس عن بُعد بشكل متسق عبر التطبيقات والأنظمة وحالات الاستخدام المختلفة.
  • تجنُّب الاحتكار لمورِّد معين. تُعَد OTel حلًا محايدًا من حيث المورِّدين تُتيح للمطورين تبديل أدوات ومزوِّدي قابلية الملاحظة الخلفية دون إجراء تغييرات كبيرة على كود الأجهزة.
  • تبسيط قابلية الملاحظة. تعمل OTel على تبسيط قابلية الملاحظة من خلال جمع بيانات القياس عن بُعد دون الحاجة إلى قيام موظفي تكنولوجيا المعلومات بتعديل الكود المصدر أو البيانات الوصفية. وتمكِّن المطورين أيضًا من الحفاظ على رؤية الواجهة الأمامية والخلفية للتطبيقات، بغض النظر عن قابلية الملاحظة أو المورِّدين الذين يعملون معهم.
  • أنظمة تكنولوجيا معلومات مواكبة للمستقبل. نظرًا لأن OpenTelemetry مدعوم من مجتمع مفتوح المصدر ومن CNCF، فقد تم تصميمه ليتطور مع تغيُّر تقنيات الحوسبة واحتياجات قابلية الملاحظة. على سبيل المثال، أضاف OTel مؤخرًا التنميط المستمر إلى مجموعة إشارات القياس عن بُعد الأساسية.1
  • تتبُّع استخدام الموارد. يمكن لإطار OpenTelemetry التقاط طلبات البيانات بين الخوادم لتصنيف استخدام الموارد حسب المجموعات، ما يساعد فرق تكنولوجيا المعلومات على تتبُّع الاستخدام بين الأنظمة المشتركة.
  • تحديد أولويات طلبات البيانات. يستطيع OpenTelemetry إنشاء مسار ترتيب الأولوية لطلبات البيانات داخل البنية بحيث تعبُر الطلبات المتنافسة الشبكة بترتيب أهمية المهمة.
  • توسيع نطاق الوصول إلى بيانات المراقبة. باستخدام OTel، يمكن للمطورين مراقبة بيانات القياس عن بُعد وتلقي التنبيهات على أي متصفح ويب أو جهاز، ما يجعل من السهل تتبُّع أداء البرنامج وسلامة النظام بشكل عام في الوقت الفعلي.
Mixture of Experts | 12 ديسمبر، الحلقة 85

فك تشفير الذكاء الاصطناعي: تقرير إخباري أسبوعي

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

حلول ذات صلة
OpenTelemetry

تمكَّن من تحسين العمليات والأداء لتطبيقات السحابة الأصلية لديك باستخدام OpenTelemetry على منصة IBM Instana Observability.

    استكشف OpenTelemetry
    حل IBM Observability

    يمكنك زيادة مرونتك التشغيلية إلى أقصى حد وضمان سلامة تطبيقات السحابة الأصلية من خلال قابلية الملاحظة المدعومة بالذكاء الاصطناعي.

      استكشِف حل IBM Observability
      الذكاء الاصطناعي لعمليات تقنية المعلومات من IBM Consulting

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

      اكتشِف الذكاء الاصطناعي لعمليات تقنية المعلومات من IBM Consulting
      اتخِذ الخطوة التالية

      يمكنك تمكين أداء إلغاء قفل تطبيق السحابة الأصلية باستخدام قابلية الملاحظة المؤتمتة المستندة بالذكاء الاصطناعي.

      استكشف IBM Instana استمتع بتجربة Instana