نحن ننظر إلى أدوات مراقبة التطبيقات الموزعة



عندما كان التطبيق متجانسة وفجأة ، بمجرد أن يتم توزيعه ، تتم إضافة آخر غير معروف إلى صيغة حساب التوفر - الشبكة. بسبب مشاكل المكالمات بين المكونات ، غالبًا ما تقع التطبيقات حولها وتبدأ في رعشة الساقين. ومعرفة أسباب العمل غير المستقر لتطبيق موزع مهمة أخرى. يتم إجراء فوضى إضافية في بنية التطبيق بواسطة kubernetes الشرطية ، والتي ، وفقًا لتقديرها الخاص ، يمكنها توزيع القرون المشروطة بشكل عشوائي عن طريق العقد الشرطية. أنا أكتب "شرطيًا" ، لأنه بدلاً من kubernetes قد يكون هناك Swarm و Openshift ، وآخرون وآخرون.

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

دعنا نبدأ في معرفة ما هو مستصوب أن نراه على خريطة التطبيق ، ثم سننظر في أساليب المراقبة ثم ننتقل إلى بائعين محددين.

ما أريد رؤيته على خريطة التطبيق


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

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

ثالثًا ، مخرجات ومدخلات هذه العقد ، بما في ذلك الروابط بينها. في هذه السلاسل ، أود أن أرى الإشارات الذهبية التي تصفها Google في هندسة الاعتمادية في الموقع 6 في الفصل 6 من مراقبة الأنظمة الموزعة. لقد نشرت بالفعل ترجمة لهذا الفصل على مدونة على الوسيط . والإشارات هي كما يلي: الكمون ، المرور (الصبيب) ، الأخطاء (معدل الخطأ) والتشبع (التشبع).

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

ما هي مناهج المراقبة المختلفة


لا أعرف ماذا يمكن تسميته ، لذلك سأدعو وكيل النهج والمراقبة بدون وكيل. الآن سأشرح هو من هو.

مراقبة الوكيل


مراقبة العامل تعني الحاجة إلى تنفيذ عوامل مراقبة خاصة في تطبيق خاضع للرقابة. يقوم الوكلاء بتضمين معرف التتبع في رؤوس الحزم.

يتضمن هذا النوع حلول مراقبة APM وكل تلك المضمنة عن طريق حقن حزم SDK في كود التطبيق.

الإيجابيات: يساعد في العثور على السبب الجذري للمشكلة ، ويمكن للرؤوس تتبع مسار المعاملات بدقة.

السلبيات: النفقات العامة المحتملة بسبب تعديل خوارزمية التطبيق ، وعدم القدرة على التضمين في التطبيقات القديمة ، ودعم مجموعة محدودة من لغات البرمجة

المراقبة بدون عامل


المراقبة دون تعديل التطبيق. يتضمن هذا النوع السجلات والتتبع على مستوى نظام التشغيل ومراقبة حركة مرور الشبكة.

الايجابيات: مراقبة التغطية لمختلف الأطر ولغات البرمجة ، يمكن أن تعمل في حالة عدم إمكانية إدخال تتبع معرف ، ولا يوجد حمل إضافي على تطبيق خاضع للرقابة.

السلبيات: بدون معرف التتبع ، قد يكون من الصعب استعادة سياق المعاملات التجارية ، وعدم القدرة على الاستماع إلى حركة المرور إذا تم تكوين تغليف SSL ولا توجد مفاتيح ،

ما يقدمه البائعين


تم تفكيك Vendorov على أساس وكيل / وكيل ، يمكنك طلب خصائص أخرى في التعليقات أو في رسالة شخصية. التجربة الأكبر التي مررت بها مع Instana و Appdynamics و New Relic ، إذا كنت تريد أن تبحث ، يمكنني المساعدة في التراخيص التجريبية لفترة تتجاوز 14 يومًا (كما تقدم على مواقعهم افتراضيًا).

مراقبة الوكيل


Instana هي أداة لرصد الأنظمة الموزعة. السمة الرئيسية هي وكيل واحد لجميع التقنيات المدعومة وجمع المقاييس مرة واحدة في الثانية.

الصورة

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

الصورة

New Relic هو منافس مباشر لـ Appdynamics. الفرق الرئيسي هو أن المراقبة فقط من السحابة ممكنة (يتم تثبيت الوكلاء أيضًا على الخوادم المستهدفة). ينشئ خريطة للتطبيقات بناءً على المكالمات.

الصورة

Dynatrace هي أداة مراقبة APM. وهو يدعم مراقبة لغات البرمجة المختلفة ويمكنه العمل من السحابة وداخل المؤسسة.

الصورة

AWS X-Ray - مراقبة التطبيقات المستضافة على AWS. يدعم التصور لخريطة التطبيق ، يتطلب تثبيت SDK الخاصة به.

الصورة

OpenTracing هو واجهة برمجة تطبيقات لأجهزة التطبيقات الموزعة. تستند العديد من الحلول التجارية وغير التجارية إلى واجهة برمجة التطبيقات هذه.

Jaeger هي أداة تداول مفتوحة المصدر مجانية. مبني على أساس OpenTracing.

الصورة

Datadog APM هي أداة تجارية لرصد التطبيقات الموزعة. يعمل على أساس OpenTracing المذكور.

الصورة

المراقبة بدون عامل


OpenZipkin هو أداة مجانية لتتبع التطبيقات الموزعة. إحدى ميزات عمله هي جمع البيانات حول المكالمات باستخدام مكتبات الأجهزة وإرسال المزيد من هذه البيانات إلى جامع OpenZipkin.

الصورة

Linkerd هي أداة مجانية لتتبع المكالمات داخل التطبيق. إنها إضافة لـ OpenZipkin ، يتم تثبيتها على البنية التحتية kubernetes كحاوية جانبية.

الصورة

المبعوث هو أداة مجانية. يعمل كوكيل يتم إرسال بيانات المكالمة إليه بين مكونات التطبيق. لا توجد واجهة ويب خاصة ، يمكن تلقي البيانات عبر طلبات HTTP GET أو إرسالها إلى statsd.

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

الصورة

أخبر من استخدم ماذا وماذا الانطباع المتبقي.

Source: https://habr.com/ru/post/ar422931/


All Articles