مراقبة التطبيقات هي ممارسة جمع وتحليل بيانات القياس لفهم ما يفعله التطبيق، وسبب سلوكه بطريقة معينة، وكيفية تأثر المستخدمين. وغالباً ما تجمع بين المقاييس، والسجلات، وتتبعات الأثر، والأحداث، والسياق المرتبط بالتطبيق.
يمكن أن تمتد التطبيقات الحديثة لتشمل واجهات برمجة التطبيقات (APIs)، والخدمات المصغرة، وقواعد البيانات، وصفوف الانتظار، والبنية التحتية السحابية، وخدمات الجهات الخارجية. يمكن للمراقبة التقليدية أن تخبر الفريق بأن شيئاً ما خطأ، بينما تساعد المراقبة الهندسية المهندسين في التحقيق في السبب الكامن وراء ذلك.
ما هي قابلية مراقبة التطبيقات؟
تركز مراقبة التطبيقات على جعل سلوك التطبيق الداخلي مفهومًا من خلال الإشارات التي ينتجها النظام. يمكن أن تساعد هذه الإشارات الفرق في الإجابة عن أسئلة مثل: لماذا الطلبات بطيئة؟ وأي اعتمادية تفشل؟ وما إذا كانت الأخطاء تؤثر على سير عمل معين؟ وما الذي تغير قبل وقوع الحادث؟
المراقبة أوسع من مجرد جمع البيانات. وتأتي القيمة من ربط بيانات القياس بأسئلة تشغيلية ذات مغزى واستخدامها للتحقيق في البرامج وتحسينها.
قابلية المراقبة مقابل المراقبة التقليدية
| المنطقة | مراقبة التطبيقات | الرصد التقليدي |
|---|---|---|
| الهدف الرئيسي | فهم سلوك التطبيق والتحقيق في المشكلات غير المعروفة | تتبع مؤشرات الصحة والحالات المعروفة |
| البيانات | المقاييس، والسجلات، وتتبعات الأثر، والأحداث، وسياق التطبيق | تركز غالباً على المقاييس والتنبيهات المحددة مسبقاً |
| التحقيق | مصممة لدعم الاستكشاف والربط | تبدأ غالباً من عتبات أو فحوصات معروفة |
| الأنظمة الموزعة | يمكنها ربط النشاط عبر الخدمات والاعتماديات | قد يتطلب ذلك عدة طرق عرض مراقبة منفصلة |
تظل المراقبة جزءاً هاماً من القابلية للملاحظة. المفهومان يكملان بعضهما البعض بدلاً من أن يمثلا نهجين متبادلين.
إشارات قابلية المراقبة الثلاث الأساسية
المقاييس
المقاييس هي قياسات رقمية تُجمع بمرور الوقت. ومن أمثلة التطبيقات: معدل الطلبات، ووقت الاستجابة، ومعدل الأخطاء، وعمق قائمة الانتظار، واستخدام الموارد.
السجلات
تسجل السجلات أحداث التطبيق ورسائله. السجلات المهيكلة مفيدة بشكل خاص لأنه يمكن البحث عن حقول مثل اسم الخدمة، ومعرف الطلب، ومستوى الخطورة، والعملية وربطها بشكل متسق.
المسارات
تُظهر التتبعات الموزعة كيف ينتقل الطلب عبر مكونات التطبيق المتعددة. ويمكنها الكشف عن الخدمة، أو استعلام قاعدة البيانات، أو الاعتماد الخارجي الذي يساهم في تأخير الاستجابة أو الفشل.
يمكن للإشارات الإضافية مثل وملفات التعريف وأحداث الأعمال توفير سياق إضافي حيثما تدعمها بنية القابلية للملاحظة.
لماذا تُعد قابلية مراقبة التطبيقات مهمة؟
تعتمد التطبيقات بشكل متزايد على المكونات الموزعة. قد يمر طلب العميل عبر بوابة واجهة برمجة تطبيقات، أو خدمة مصادقة، أو خدمة تطبيق، أو ذاكرة تخزين مؤقت، أو قاعدة بيانات، أو موفر دفع، أو نظام مراسلة.
عندما يفشل الطلب أو يصبح بطيئاً، قد لا يكشف النظر إلى خادم واحد عن السبب. يمكن أن تساعد القياسات عن بُعد المرتبطة المهندسين في تتبع الطلب عبر تبعياته وتحديد المكون المسؤول عن السلوك الملاحظ.
كيف تعمل قابلية مراقبة التطبيقات؟
- تنشئ التطبيقات والأنظمة الداعمة قياسات عن بُعد.
- تربط عملية القياس سياقاً مفيداً بتلك القياسات عن بُعد.
- تتلقى جامع البيانات أو الوكلاء البيانات وتعالجونها.
- يتم تصدير القياسات عن بُعد إلى الواجهة الخلفية للقابلية للملاحظة.
- تساعد لوحات المعلومات، والاستعلامات، والتنبيهات، والتتبعات المهندسين في التحقيق في السلوك.
- تستخدم الفرق النتائج لحل المشكلات وتحسين التطبيق.
المكونات الرئيسية لاستراتيجية قابلية المراقبة
القياس البرمجي
تحدد القياسات سلوك التطبيق الذي يتم تسجيله. يمكن أن يكون تلقائياً، أو يدوياً، أو مزيجاً من الاثنين.
جمع القياسات عن بُعد
يمكن للمجامع والوكلاء تلقي القياسات عن بُعد، وإثراؤها، وتصفيتها، وتجميعها، وتوجيهها إلى أنظمة التخزين أو التحليل.
الربط
يربط الارتباط القياسات عن بُعد الناتجة عن نفس الطلب، أو المعاملة، أو الخدمة، أو سير عمل الأعمال. تعتبر المعرفات المتسقة وسياق التتبع مفيدة بشكل خاص في الأنظمة الموزعة.
التحليل
يحتاج المهندسون إلى أدوات للاستعلام عن القياسات عن بُعد، واستكشاف التتبعات، وعرض لوحات المعلومات، وتحديد الأنماط.
التنبيه
يجب أن تحدد التنبيهات الحالات التي تتطلب اتخاذ إجراء. يمكن أن تتسبب التنبيهات سيئة التصميم في حدوث ضوضاء وتؤدي إلى تجاهل الإشارات المهمة.
قابلية مراقبة التطبيقات والأنظمة الموزعة
تزيد البنى الموزعة من الحاجة إلى القابلية للملاحظة لأن الأعطال يمكن أن تتجاوز حدود الخدمة. قد ينشأ انتهاء مهلة في خدمة ما عن بطء قاعدة بيانات أو واجهة برمجة تطبيقات لاحقة.
يمكن أن يوفر التتبع الموزع رؤية على مستوى الطلب لهذه التفاعلات. يمكن أن تظهر المقاييس ما إذا كانت المشكلة واسعة النطاق، بينما يمكن أن توفر السجلات سياق أحداث مفصل.
مراقبة أداء التطبيقات وقابليتها للمراقبة
تركز مراقبة أداء التطبيقات، أو APM، تقليدياً على أداء التطبيقات، والمعاملات، والأخطاء، والمعلومات التشغيلية ذات الصلة. وغالباً ما تتضمن منصات القابلية للملاحظة الحديثة إمكانيات APM إلى جانب قياسات أوسع عن بُعد.
الحد الفاصل الدقيق بين APM والقابلية للملاحظة يختلف حسب المنتج والمؤسسة. ما يهم تشغيلياً هو ما إذا كان المهندسون يمكنهم الحصول على سياق كافٍ للكشف عن مشكلات التطبيق، والتحقيق فيها، وحلها.
سياق الأعمال في قابلية المراقبة
تصبح القياسات الفنية عن بُعد أكثر فائدة عندما يمكن ربطها بسير عمل الأعمال. على سبيل المثال، قد تكون زيادة وقت استجابة واجهة برمجة التطبيقات أكثر أهمية عندما تؤثر على إتمام عملية الشراء أو تسجيل الحساب.
يمكن للفرق إضافة سمات أو أحداث أعمال مختارة بعناية إلى القياسات عن بُعد مع احترام متطلبات الخصوصية وتقليل البيانات. يساعد هذا في ربط الحوادث التقنية بالتأثير الذي يواجه المستخدم.
قابلية مراقبة التطبيقات و OpenTelemetry
أوبين تيليمتري يوفر واجهات برمجة تطبيقات، ومجموعات تطوير أدوات، وأدوات قياس، واصطلاحات دلالية، ومكونات جمع محايدة للبائعين للقياسات عن بُعد مثل التتبع، والمقاييس، والسجلات. ونتيجة لذلك، يمكن أن يشكل جزءاً هاماً من بنية قابلية المراقبة للتطبيق.
لا يحل أوبين تيليمتري محل نظام خلفي لقابلية المراقبة. عادةً ما يلزم تصدير القياسات عن بُعد إلى أنظمة توفر التخزين، والاستعلام، والتصور، والتنبيه.
اعتبارات الأمان والخصوصية
يمكن أن تحتوي بيانات قابلية المراقبة على معلومات حساسة. قد تكشف عناوين URL، ومعلمات الطلبات، ومعرفات المستخدمين، وعبارات قواعد البيانات، ورسائل الاستثناء، والسجلات عن بيانات سرية إذا كانت أداة القياس مصممة بشكل سيء.
- لا تضع كلمات المرور، أو مفاتيح واجهة برمجة التطبيقات، أو الرموز المميزة في القياسات عن بُعد.
- راجع المعلومات الشخصية القابلة للتحديد قبل جمعها.
- طبق ضوابط الوصول على منصات قابلية المراقبة.
- قم بتشفير القياسات عن بُعد أثناء النقل عند الاقتضاء.
- حدد سياسات الاحتفاظ بالحذف.
- استخدم التصفية أو التنقيح للحقول الحساسة.
اعتبارات التكلفة والأداء
تستهلك القياسات عن بُعد موارد الحوسبة، وعرض النطاق الترددي للشبكة، والتخزين. يمكن أن تصبح المقاييس عالية التباين والسجلات التفصيلية للغاية مكلفة وصعبة الاستعلام.
يمكن أن تساعد أخذ العينات، والتصفية، والتجميع، وسياسات الاحتفاظ، ومستويات السجلات المناسبة في التحكم في التكاليف. يجب على الفرق قياس جودة القياسات عن بُعد بدلاً من مجرد جمع الحد الأقصى الممكن من الحجم.
كيفية بناء استراتيجية لقابلية مراقبة التطبيقات
- حدد رحلات المستخدم الأكثر أهمية في التطبيق.
- حدد مؤشرات مستوى الخدمة ومقاييس التشغيل المفيدة.
- قم بقياس المسارات الحرجة للتطبيق والتبعيات.
- قم بتوحيد التسجيل المنظم ومعرفات الارتباط.
- نفذ التتبع الموزع عند الاقتضاء.
- قم بإنشاء لوحات معلومات حول أسئلة تشغيلية ذات مغزى.
- أنشئ تنبيهات قابلة للإجراء مع مسؤولية واضحة.
- راجع جودة القياسات عن بُعد، والأمان، والاحتفاظ، والتكلفة بانتظام.
نصائح الخبراء
- ابدأ برحلات المستخدم الحرجة بدلاً من قياس كل شيء بالتساوي.
- استخدم أسماء خدمات وبيانات فرعية متسقة عبر البيئات المختلفة.
- اربط بين عمليات التتبع، والسجلات، والمقاييس من خلال سياق مشترك.
- اجعل التنبيهات تركز على الظروف التي تتطلب تدخلاً بشرياً.
- سجل سياقاً كافياً لتشخيص الإخفاقات دون جمع بيانات حساسة غير ضرورية.
- اختبار المراقabilidad (القدرة على المراقبة) أثناء سيناريوهات الفشل المتحكم بها، وليس فقط أثناء التشغيل العادي.
الأخطاء الشائعة في مراقبة التطبيقات
- جمع كميات هائلة من القياسات عن بُعد بدون هدف واضح.
- إنشاء لوحات معلومات تعرض بيانات ولكنها لا تجيب على الأسئلة التشغيلية.
- استخدام معرفات غير متسقة عبر الخدمات.
- تجاهل أمان وخصوصية البيانات المقاسة عن بُعد.
- التنبيه بشأن كل خطأ بدلاً من إعطاء الأولوية للحالات التي تؤثر على المستخدم.
- التقاعس عن مراقبة خط أنابيب المراقبة نفسه.
الأسئلة الشائعة
ما هي مراقبة التطبيقات بمفهوم بسيط؟
هي ممارسة استخدام القياسات عن بُعد لفهم السلوك الداخلي للتطبيق والتحقيق في سبب إنتاجه لنتائج معينة.
ما هي إشارات المراقبة الرئيسية؟
المقاييس، والسجلات، والتتبعات هي الإشارات الأساسية الشائعة الاستخدام لمراقبة التطبيقات. يمكن لملفات التعريف وأعمال الأعمال إضافة سياق إضافي.
ما الفرق بين المراقبة (Observability) والرصد (Monitoring)؟
تركز المراقبة عمومًا على تتبع الحالات المعروفة، بينما تؤكد المراقabilidad على استخدام مخرجات النظام للتحقيق في نطاق واسع من السلوكيات والمشكلات.
هل OpenTelemetry منصة مراقبة؟
OpenTelemetry هو إطار عمل للمراقبة مفتوح المصدر وبيئة قياس عن بُعد. وعادة ما يعمل مع أنظمة خلفية منفصلة للتخزين والتحليل ولوحات المعلومات والتنبيه.
هل تحسن مراقبة التطبيقات من أدائها؟
يمكن للمراقبة مساعدة الفرق في تحديد اختناقات الأداء والتراجع. وهي لا تحسين الأداء تلقائيًا؛ بل يستخدم المهندسون المعلومات الناتجة لإجراء التغييرات.
هل تقتصر مراقبة التطبيقات على الخدمات المصغرة فقط؟
لا. يمكن أن تكون مفيدة للتطبيقات متجانسة البنية، وأحمال العمل بدون خادم، والخلفيات للأجهزة المحمولة والويب، والأنظمة الموزعة.
ما مقدار بيانات القياس التي يجب أن يجمعها التطبيق؟
ما يكفي للإجابة على الأسئلة التشغيلية الهامة مع التحكم في التكلفة والأداء والخصوصية والاحتفاظ بالبيانات. المستوى المناسب يعتمد على التطبيق وملف المخاطر الخاص به.
ما الذي يجب على المبتدئين مراقبته أولاً؟
ابدأ بالتوفر، ومعدل الطلبات، وزمن الوصول، والأخطاء، وال تبعيات الحرجة، ورحلات المستخدم المهمة، وما يكفي من السجلات والتتبعات للتحقيق في حالات الفشل.
الخاتمة
مراقبة التطبيقات يمنح فرق الهندسة طريقة منظمة لفهم سلوك البرمجيات من خلال المقاييس، والسجلات، والتتبعات، والسياق ذي الصلة. وهي ذات قيمة خاصة عندما تمتد التطبيقات عبر خدمات متعددة وطبقات البنية التحتية.
لا يتم تحديد استراتيجية المراقبة المفيدة من خلال حجم البيانات التي يتم جمعها. بل يتم تحديدها من خلال ما إذا كان بإمكان المهندسين الإجابة بسرعة على الأسئلة المهمة حول صحة التطبيق، وتأثير المستخدم، وال تبعيات، وحالات الفشل مع الحفاظ على ضوابط الأمان والتكلفة المناسبة.
متابعة سلسلة التقنيات: التالي هو تكنولوجيا eBPF, which explores how the Linux kernel can provide powerful visibility and programmability for modern systems.