عن المشروع
جايجر (Jaeger) هو نظام تتبع موزّع مفتوح المصدر، أُسس في البداية ضمن شركة أوبر ثم استضافته مؤسسة الحوسبة السحابية الأصلية (CNCF)، حيث أصبح المشروع المستوى الأعلى السابع الذي حصل على حالة التخرّج في أكتوبر 2019. يُوزَّع تحت رخصة Apache 2.0.
ماذا يفعل
- يجمع بيانات التتبع من التطبيقات المثقوبة، ويستقبل الشظايا (spans) عبر بروتوكول OTLP باستخدام gRPC (المنفذ الافتراضي 4317) وHTTP (المنفذ 4318).
- يخزّن التتبعات في خلفيات تخزين قابلة للتبديل من خلال واجهة مكون تخزين plugin.
- يوفر خدمة استعلام وواجهة ويب للبحث في التتبعات وفحصها؛ ويمكن تشغيل الواجهة بشكل منفصل عن مكوّن الاستعلام.
البنية المعمارية كما وُصفت
- ترسل مكتبات OpenTelemetry SDKs في التطبيقات المستخدمين الشظايا عبر HTTP أو gRPC إلى جامع Jaeger Collector.
- يكتب الجامع إلى التخزين مباشرة أو عبر مكون تخزين gRPC، ويمكنه أيضاً إرجاع استجابات أخذ العينات للـ SDK.
- تقرأ خدمة الاستعلام Query service من التخزين، اختياريًا عبر نفس واجهة المكونات الإضافية، وتقدّم الواجهة عبر HTTP.
- تُبنى الإصدار الثاني من المنصة على مكونات من OpenTelemetry Collector، ويذكر المشروع أنه يحاول الحفاظ على توافق الإعدادات عبر الإصدارات.
البدء السريع
يكفي أمر Docker واحد لتشغيل صورة متكاملة all-in-one تحتوي على الواجهة والجامع وخدمة الاستعلام والتخزين بالذاكرة العشوائية، مع تعريض الواجهة على المنفذ 16686 وOTLP على المنفذين 4317/4318. ويشير ملف README إلى دليل البدء السريع للإنتاج وخيارات إضافية.
خلفيات التخزين وسياسات الدعم
توثّق صفحة README سياسة دعم لعمليات خلفيات التخزين، وربطت تغطية جايجر بدورة حياة كل خلفية بحد ذاتها: Elasticsearch (سياسة Elastic الخاصة بنهاية الدعم EOL)، وOpenSearch (سياسة إصداراتها وصيانتها)، وCassandra (خطوط إصدارات Apache المدعومة)، وClickHouse (إصدارات الدعم طويلة الأجل الحالية والسابقة). ويعني الدعم أن الإصدار مدرج ضمن نطاق الإصلاحات الاستباقية للتوافق؛ وقد تختبر CI مجموعة فرعية فقط من الإصدارات المدعومة، ولا يمتد وجودها في CI إلى السياسة ذاتها. لا يدعم المشروع منتجات الخلفية نفسها أو توزيعات البائعين، وقد يتطلب استكشاف الأخطاء وإصلاحها من المستخدمين الترقية أولاً.
ضمانات التوافق
- يمكن إهمال خيارات الإعداد مع فترة سماح صريحة مدتها ثلاثة أشهر على الأقل أو نسختان أصغريتان minor، whichever is later، قبل الإزالة.
- يتتبع دعم Go إصدارات فريق Go المدعومة؛ ويُسقط دعم نسخة فرعية أقدم بعد إصدار نسخة فرعية جديدة ولا يُعامل ك breaking change. وقد نُقلت الكود القابل للاستيراد إلى حزم داخلية internal packages.
المجتمع والحوكمة والأمان
يتمتع المشروع بحوكمة مفتوحة ويُطور علنًا، مع نسب المساهمين من المجتمع الأوسع. ويُدرج مشرفو الصيانة في المستودع، ويمكن الرجوع إليهم جماعيًا على القضايا وطلبات السحب pull requests. وتعقد اجتماعات فيديو منتظمة مفتوحة أمام المستخدمين النهائيين والمساهمين. وتشمل المستودعات ذات الصلة واجهة UI، ونموذج البيانات/IDL، ومصادر التوثيق. وتنشر عمليات تدقيق الأمن الخارجية في مستودع jaegertracing منفصل، وتشير شارات README إلى OpenSSF Scorecard ومعايير OpenSSF Best Practices وحالة CLOMonitor. كما يذكر ملف README المتبنّين ورعاة المشروع.
لأجل من صُمم
للفرق التي تشغّل أنظمة موزّعة أو قائمة على الخدمات المصغّرة microservices وتحتاج إلى تتبع تدفقات الطلبات عبر حدود الخدمات، سواء في الإنتاج أو أثناء استكشاف الأخطاء في بيئة التطوير. وبفضل اعتماد أدوات التكامل على مكتبات OpenTelemetry SDKs، يمكن للمستخدمين اعتماد التتبع دون الاعتماد على مخزّن بائع واحد،也可以选择 نظام تخزين يتوافق مع بيئة العمليات القائمة لديهم.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.