تحويل إضافات السجلات لتعزيز قابلية المراقبة

Yong Qian

February 24, 2023

Technology

في الوقت الحاضر، تُعتبر السجلات أمرًا بالغ الأهمية في بوابات API، خاصةً لاكتشاف الأعطال واستكشاف الأخطاء وإصلاحها، مما يوفر تكاليف التشغيل والصيانة. كما أن سجلات بوابة API لها قيمة كبيرة في دعم جمع البيانات. لتحسين قابلية المراقبة واستقرار النظام، تدعم بوابة API المفتوحة المصدر Apache APISIX العديد من إضافات السجلات، مثل elasticsearch-logger، kafka-logger، loggly، و error-log-logger.

قيمة سجلات البوابة

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

تُعتبر السجلات واحدة من الركائز الثلاث لقابلية المراقبة. فهي توفر لمسؤولي النظام والمطورين رؤى حول الحالة التشغيلية للنظام، مما يسهل تحديد المشكلات وحلها في الوقت المناسب.

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

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

سجل بوابة API

سنقوم بتحليل قيمة سجلات بوابة API من منظورين في الأقسام التالية.

قيمة التشغيل والصيانة

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

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

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

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

القيمة التجارية

مقارنة بالقيمة التشغيلية المعترف بها على نطاق واسع، غالبًا ما يتم تجاهل القيمة التجارية لسجلات البوابة.

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

  • تحليل IP العميل لتحديد التوزيع الجغرافي لحركة المرور.
  • تحليل HTTP Referer لفهم مصدر وصول المستخدم إلى كل صفحة.
  • يمكننا الحصول مباشرة على المؤشرات التجارية الحرجة للإحصاءات المجمعة لواجهات API الرئيسية. على سبيل المثال، من خلال عد الاستدعاءات الناجحة لواجهات API لتسجيل المستخدمين ووضع الطلبات، يمكننا الحصول على عدد المستخدمين الجدد والطلبات خلال فترة زمنية محددة.

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

Apache APISIX هي بوابة API سحابية ديناميكية وفورية وعالية الأداء توفر وظائف غنية لإدارة حركة المرور مثل موازنة الحمل، المصدر الديناميكي، الإصدار التدريجي، كسر الدائرة، المصادقة، وقابلية المراقبة.

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

مقدمة عن إضافات التسجيل النموذجية في APISIX

elasticsearch-logger

Elastic Search و Apache APISIX

Elastic Search هو محرك بحث وتحليل مفتوح المصدر يستخدم لمعالجة كميات كبيرة من البيانات ويشتهر بتحليل السجلات. يمكن لوحة البيانات التكميلية Kibana تخصيص مخططات إحصائية مختلفة بسهولة لتلبية احتياجات المنظمة للتحليل البصري.

في التطبيقات العملية، نظرًا لأن معظم سجلات البرمجيات التقليدية يتم حفظها في ملفات محلية، يتم استخدام مشروع في نظام Elastic Search يسمى Filebeat لمراقبة ملفات السجلات على الأجهزة المحلية وإرسال السجلات التزايدية إلى خادم Elastic Search.

ومع ذلك، فإن إضافة elasticsearch-logger التي توفرها APISIX يمكنها إرسال سجلات وصول APISIX مباشرة إلى خادم Elastic Search، مما يوفر عدة فوائد:

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

kafka-logger

تتميز سجلات وصول البوابة بسمة بارزة: حجم بيانات السجلات يتناسب مع حجم طلبات الأعمال: كلما زادت الطلبات، زادت السجلات.

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

هذا يمثل تحديًا كبيرًا لأنظمة تخزين السجلات، وضمان أن النظام يمكن أن يعمل بشكل كافٍ خلال فترات الذروة هو مهارة حاسمة لكل مسؤول ElasticSearch.

Apache APISIX و Kafka

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

لهذا الغرض، توفر APISIX إضافة kafka-logger، التي توصل سجلات الوصول إلى خوادم Kafka، مما يتجنب التأثير المباشر على تخزين السجلات.

loggly

في السنوات الأخيرة، أصبح مفهوم [SaaS (البرمجيات كخدمة)] (https://en.wikipedia.org/wiki/Software_as_a_service) شائعًا بشكل تدريجي، حيث يحظى بتفضيل العديد من الشركات الصغيرة والمتوسطة بسبب عتبة الدخول المنخفضة ونموذج التسعير الدفع مقابل الاستخدام. في مجال تحليل السجلات، ظهرت العديد من منتجات SaaS، وأصبحت loggly رائدة بفضل مصادر السجلات الغنية وقدرات التحليل.

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

مثل إضافة Loggly، توفر APISIX أيضًا إضافات google-cloud-logging، sls-logger، و tencent-cloud-cls، والتي يمكنها التكامل بسهولة مع خدمات السجلات الرئيسية لمزودي السحابة.

Apache APISIX Log SaaS

error-log-logger

الإضافات المقدمة أعلاه كلها تستخدم لجمع سجلات الوصول. ومع ذلك، هناك نوع آخر من السجلات في APISIX، وهو سجل الأخطاء (error.log)، والذي يعتبر بالغ الأهمية لتشخيص أعطال البوابة.

لذلك، توفر APISIX إضافة error-log-logger لإرسال سجلات الأخطاء إلى خادم بعيد للتخزين والتحليل. في الممارسة العملية، يمكن استخدام تكوين مستوى تسجيل APISIX لطباعة المزيد من سجلات التصحيح أو المعلومات، والتي تحتوي على سجلات أكثر تفصيلاً عن حالة تشغيل البوابة. باستخدام هذه السجلات، يمكننا تحديد معظم المشكلات.

الخلاصة

تحتوي سجلات البوابة على قيمة هائلة، ويمكننا أن نرى من وفرة إضافات السجلات في مشروع Apache APISIX أن مستخدمي الشركات في المجتمع يدركون قيمة سجلات البوابة. بالإضافة إلى ذلك، تقلل هذه الإضافات من تكلفة إعداد نظام السجلات للمستخدمين الجدد.

علاوة على ذلك، لدى APISIX نوعان آخران من إضافات قابلية المراقبة: metrics و tracing. بالاقتران مع إضافات السجلات، ستعزز هذه الإضافات قابلية مراقبة البوابة وتساعد في بناء استقرار النظام.

Tags: