؟؟؟؟ جايجر v2 قادم! اقرأ منشور المدونة وجربه.
الرسم البياني TD
SDK["OpenTelemetry SDK"] --> |HTTP أو gRPC| جامع
المجمع["جامع جايجر"] --> المتجر[التخزين]
المجمع --> |gRPC| البرنامج المساعد [البرنامج المساعد للتخزين]
المجمع --> |gRPC/أخذ العينات| SDK
البرنامج المساعد -> المتجر
استعلام[خدمة استعلام Jaeger] --> المتجر
الاستعلام --> |gRPC| البرنامج المساعد
UI[واجهة مستخدم Jaeger] --> |HTTP| استفسار
مضيف تطبيق الرسم البياني الفرعي
تطبيق مستخدم الرسم البياني الفرعي
SDK
نهاية
نهاية
Jaeger، مستوحاة من Dapper وOpenZipkin، هي عبارة عن منصة تتبع موزعة أنشأتها Uber Technologies وتم التبرع بها لمؤسسة Cloud Native Computing Foundation. يمكن استخدامه لمراقبة الأنظمة الموزعة القائمة على الخدمات الصغيرة:
أنظر أيضا:
تتم استضافة Jaeger من قبل مؤسسة Cloud Native Computing Foundation (CNCF) باعتباره المشروع السابع عالي المستوى (تخرج في أكتوبر 2019). إذا كنت شركة ترغب في المساعدة في تشكيل تطور التقنيات المجمعة بالحاويات والمجدولة ديناميكيًا والموجهة نحو الخدمات الصغيرة، ففكر في الانضمام إلى CNCF. للحصول على تفاصيل حول المشاركين وكيف يلعب Jaeger دورًا، اقرأ إعلان حضانة CNCF Jaeger وإعلان تخرج Jaeger.
Jaeger هو مشروع مفتوح المصدر ذو إدارة مفتوحة. نحن نرحب بمساهمات المجتمع، ونود مساعدتك لتحسين المشروع وتوسيع نطاقه. فيما يلي بعض الأفكار حول كيفية المشاركة. كثير منهم لا يحتاجون حتى إلى أي ترميز.
تم تصميم الواجهة الخلفية لـ Jaeger بحيث لا تحتوي على نقاط فشل واحدة وتتوافق مع احتياجات العمل. على سبيل المثال، عادةً ما يعالج أي تثبيت Jaeger في Uber عدة مليارات من الامتدادات يوميًا.
لمشروعي Jaeger وOpenTelemetry أهداف مختلفة. يهدف OpenTelemetry إلى توفير واجهات برمجة التطبيقات وSDKs بلغات متعددة للسماح للتطبيقات بتصدير بيانات القياس عن بعد المختلفة خارج العملية، إلى أي عدد من المقاييس والواجهات الخلفية للتتبع. مشروع Jaeger هو في المقام الأول الواجهة الخلفية للتتبع التي تتلقى بيانات القياس عن بعد للتتبع وتوفر المعالجة والتجميع واستخراج البيانات وتصورات تلك البيانات. لمزيد من المعلومات، يرجى الرجوع إلى منشور مدونة Jaeger وOpenTelemetry.
تم تصميم Jaeger في الأصل لدعم معيار OpenTracing. لا تزال المصطلحات مستخدمة في Jaeger UI، لكن المفاهيم لديها تعيين مباشر لنموذج بيانات OpenTelemetry للآثار.
القدرة | مفهوم التتبع المفتوح | مفهوم القياس عن بعد المفتوح |
---|---|---|
تمثيل الآثار كرسوم بيانية حلقية موجهة (وليس فقط الأشجار) | مراجع تمتد | روابط تمتد |
سمات الامتداد المكتوبة بقوة | العلامات الممتدة | سمات الامتداد |
الأحداث/السجلات المكتوبة بقوة | سجلات تمتد | تمتد الأحداث |
يوصي مشروع Jaeger باستخدام أدوات OpenTelemetry SDK للأجهزة، بدلاً من أدوات Jaeger SDK التي تم إهمالها الآن.
يمكن استخدام Jaeger مع عدد متزايد من واجهات التخزين الخلفية:
يتم تنفيذ Jaeger Web UI في Javascript باستخدام أطر عمل شائعة مفتوحة المصدر مثل React. تم إصدار العديد من تحسينات الأداء في الإصدار 1.0 للسماح لواجهة المستخدم بالتعامل بكفاءة مع كميات كبيرة من البيانات وعرض الآثار بعشرات الآلاف من الامتدادات (على سبيل المثال، جربنا التتبع بـ 80000 امتداد).
يتم توزيع الواجهة الخلفية لـ Jaeger كمجموعة من صور Docker. تدعم الثنائيات طرق التكوين المختلفة، بما في ذلك خيارات سطر الأوامر، ومتغيرات البيئة، وملفات التكوين بتنسيقات متعددة (yaml، toml، وما إلى ذلك).
الطريقة الموصى بها لنشر Jaeger في مجموعة Kubernetes للإنتاج هي عبر مشغل Jaeger.
يوفر مشغل Jaeger واجهة سطر الأوامر (CLI) لإنشاء بيانات Kubernetes من Jaeger CR. يمكن اعتبار هذا مصدرًا بديلاً لملفات بيان Kubernetes العادية.
يوفر نظام Jaeger البيئي أيضًا مخطط Helm كطريقة بديلة لنشر Jaeger.
تعرض جميع مكونات الواجهة الخلفية لـ Jaeger مقاييس Prometheus افتراضيًا (يتم أيضًا دعم الواجهات الخلفية للمقاييس الأخرى). تتم كتابة السجلات بشكل قياسي باستخدام مكتبة التسجيل المنظمة zap.
تتوفر عمليات التدقيق الأمني التابعة لجهات خارجية لـ Jaeger على https://github.com/jaegertracing/security-audits. برجاء مراجعة الإصدار رقم 1718 للحصول على ملخص لآليات الأمان المتوفرة في Jaeger.
على الرغم من أننا نوصي باستخدام تطبيقات القياس باستخدام OpenTelemetry، إلا أنه إذا كانت مؤسستك قد استثمرت بالفعل في الأجهزة باستخدام مكتبات Zipkin، فلن يتعين عليك إعادة كتابة كل هذه التعليمات البرمجية. يوفر Jaeger توافقًا مع الإصدارات السابقة مع Zipkin من خلال قبول الامتدادات بتنسيقات Zipkin (Thrift أو JSON v1/v2) عبر HTTP. يعد التبديل من الواجهة الخلفية لـ Zipkin مجرد مسألة توجيه حركة المرور من مكتبات Zipkin إلى الواجهة الخلفية لـ Jaeger.
في بعض الأحيان، يمكن إهمال علامات CLI، على سبيل المثال، بسبب تحسينات قابلية الاستخدام أو الوظائف الجديدة. في مثل هذه المواقف، يتعين على المطورين الذين يقدمون الإيقاف اتباع هذه الإرشادات.
باختصار، بالنسبة لعلامة CLI المهملة، يجب أن تتوقع رؤية الرسالة التالية في وثائق --help
:
(deprecated, will be removed after yyyy-mm-dd or in release vX.Y.Z, whichever is later)
سيتم توفير فترة سماح لا تقل عن 3 أشهر أو إصدارين ثانويين (أيهما أحدث) من الإصدار الأول الذي يحتوي على إشعار الإهمال قبل أن يتم حذف علامة CLI المهملة.
على سبيل المثال، ضع في اعتبارك سيناريو حيث يتم إصدار الإصدار 1.28.0 في 01 يونيو 2021 والذي يحتوي على إشعار إهمال لعلامة CLI. ستظل هذه العلامة في حالة مهملة حتى وقت لاحق من 01 سبتمبر 2021 أو الإصدار 1.30.0 حيث يمكن إزالتها في أي من هذين الحدثين أو بعدهما. وقد يظل مهملاً لفترة أطول من فترة السماح المذكورة أعلاه.
يحاول مشروع Jaeger تتبع الإصدارات المدعومة حاليًا من Go، كما حددها فريق Go. لا تعتبر إزالة الدعم لإصدار Go غير المدعوم بمثابة تغيير جذري.
بدءًا من إصدار Go 1.21، سيتم تحديث دعم إصدارات Go على النحو التالي:
N
، سيتم إجراء تحديثات على خطوات البناء والاختبارات لاستيعاب أحدث إصدار من Go Minor.N
، ستتم إزالة دعم Go الإصدار N-2
وسيصبح الإصدار N-1
هو الحد الأدنى المطلوب من الإصدار. يوصي مشروع Jaeger بحزم SDK الخاصة بـ OpenTelemetry للأجهزة، بدلاً من حزم SDK الأصلية لـ Jaeger والتي تم إهمالها الآن.
انظر المساهمة.
انظر المساهمة.
شكرا لجميع الناس الذين ساهموا بالفعل!
يتم تحديد قواعد أن تصبح مشرفًا في وثيقة الحوكمة. فيما يلي المشرفون الرسميون على مشروع Jaeger. الرجاء استخدام @jaegertracing/jaeger-maintainers
لوضع علامة عليهم بشأن القضايا / العلاقات العامة.
تحتوي بعض المستودعات الموجودة ضمن jaegertracing org على مشرفين إضافيين.
نحن ممتنون لمشرفينا السابقين لمساهماتهم في مشروع Jaeger.
يجتمع المشرفون والمساهمون في Jaeger بانتظام عبر مكالمة فيديو. الجميع مدعوون للانضمام، بما في ذلك المستخدمين النهائيين. للحصول على تفاصيل الاجتماع، راجع https://www.jaegertracing.io/get-in-touch/.
راجع https://www.jaegertracing.io/docs/roadmap/
هل لديك أسئلة، اقتراحات، تقارير الأخطاء؟ يمكنك الوصول إلى مجتمع المشروع عبر هذه القنوات:
#jaeger
(بحاجة إلى الانضمام إلى CNCF Slack لأول مرة)jaeger-tracing
جايجر كمنتج يتكون من مكونات متعددة. نريد دعم أنواع مختلفة من المستخدمين، سواء كانوا يستخدمون مكتبات الأجهزة الخاصة بنا فقط أو التثبيت الكامل لـ Jaeger، سواء تم تشغيله في الإنتاج أو كنت تستخدمه لاستكشاف المشكلات في التطوير وإصلاحها.
الرجاء مراجعة ADOPTERS.md للتعرف على بعض المؤسسات التي تستخدم Jaeger اليوم. إذا كنت ترغب في إضافة مؤسستك إلى القائمة، يرجى التعليق على مشكلة الاستبيان الخاص بنا.
حقوق الطبع والنشر (ج) مؤلفو جايجر. ترخيص أباتشي 2.0.