تحتوي ملفات السجل على الكثير من البيانات المهمة حول أداء البنية الأساسية الخاصة بك ، ولكن عندما تكون بطول آلاف السطور ، قد يكون من الصعب الحصول على رؤى مفيدة منها. تساعد أدوات إدارة السجل في حل هذه المشكلة.
لماذا يجب علي الاهتمام بملفات السجل؟
يتم تسجيل كل اتصال بخادم الويب الخاص بك ؛ في أي وقت يطلب المستخدم موردًا ، تتم كتابة سطر في ملف السجل. يمكنك استخدام هذه الأنواع من السجلات للحصول على عرض دقيق للغاية لحركة المرور الواردة إلى موقعك. لا يقدمون أي بيانات حول كيفية تفاعل المستخدم مع الموقع ، والتي تُترك لأدوات التحليلات ، لكنها تخبرك بكيفية تعامل خادم الويب الخاص بك مع كل طلب.
غالبًا ما يتم تسجيل رمز حالة HTTP للطلب ، لذلك يمكن أن تكون هذه السجلات مفيدة لتتبع الروابط المعطلة والأخطاء التي تعرض 404 (والتي يمكن أن تؤثر على ترتيب موقعك عندما تزحف محركات البحث مثل Google إلى الموقع) ، شيء ما لم يتم إرجاعها باستخدام معظم أدوات التحليلات (حيث لم يتم تحميل صفحتك حتى).
تنشئ التطبيقات سجلات للأخطاء ، وهو أمر مفيد لتعقب المشكلات في الواجهة الخلفية. إذا تسببت واجهة برمجة تطبيقات معينة في حدوث أخطاء ، فستظهر في ملفات السجل بسرعة كبيرة. سوف تتطلب منك تطبيقاتك الخاصة تنفيذ سجلاتك الخاصة ، ولكن هناك الكثير من مكتبات التسجيل التي تجعل العملية أسهل.
يحتفظ Unix بسجلات لكل ما يحدث مع النظام. يتم تسجيل كل أمر تدخله على
~ /.bash_history
، يتم تسجيل كل محاولة تسجيل دخول (بما في ذلك محاولات الفاشلة ، وربما الخبيثة) إلى
/ var / log / auth.log
ومعظم أحداث النظام الأخرى ستنشئ ملفات السجل الخاصة بها ، وعادة ما يتم تخزينها في
/ var / log /
المشكلة: عدد كبير جدًا من الخوادم ، عدد كبير جدًا من السجلات

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

ستعمل أداة إدارة السجلات مثل Fluentd على خادم في مكان ما ، سواء كان ذلك في السحابة خلف واجهة ويب مُدارة أو مستضافًا ذاتيًا على أنظمتك الخاصة. يُطلق على الخادم الذي يتم تشغيله عليه اسم خادم مجمع ، ويجمع السجلات من مصادر خارجية متعددة.
تبدأ العملية بإدخال ملفات السجل من نظام العميل التي يتم إدخالها في المجمع بمساعدة برنامج يسمى log shipper. شركات شحن السجلات مثل مكتبة
rsyslogهي مكتبات خفيفة الوزن تقع على أنظمة العميل ، وتشير إلى الخادم المجمع.
بمجرد استيعاب ملفات السجل ، يعود ما يحدث لها إلى أداة إدارة السجل. بالنسبة لبعض الأدوات ، تكفي المجموعة البسيطة منها ، ويمكن فرزها وإدخالها في قاعدة بيانات السلاسل الزمنية مثل InfluxDB لمزيد من التحليل. بالنسبة للآخرين ، مثل Graylog ، فإن الخدمة مبنية على جودة أدوات التصور والتحليل الخاصة بهم.
ما الأداة التي يجب أن أستخدمها؟

المكدس المرن (يُطلق عليه أيضًا ELK stack) هو عبارة عن منصة تسجيل شائعة جدًا. إنه يتألف من أربعة تطبيقات مختلفة ، جميعها مفتوحة المصدر مع نفس المطورين. إنه مجاني تمامًا ، لكنك ستحتاج إلى استضافته بنفسك.
- Beats عبارة عن شاحنات خفيفة الوزن مصممة ليتم تثبيتها على أجهزة العميل ، وإرسال البيانات إلى التطبيقات الأخرى في المكدس.
- Logstash هو محرك الابتلاع ، والذي يمكنه أخذ البيانات من Beats أو برامج أخرى مثل
rsyslogوإعدادها لإرسالها إلى Elasticsearch (أو محرك تحليلات آخر).
- Elasticsearch هو المحرك الموجود في مركز الكومة المرنة (وبعد ذلك تم تسمية المكدس). يعمل كقاعدة بيانات لتخزين سجلاتك (وكائنات أخرى) ويكشف عن واجهة برمجة تطبيقات RESTful لاستخدامها في تطبيقات أخرى.
- Kibana هي الواجهة الأمامية لـ Elastic Stack ، وتوفر جميع التصورات والمخططات والرسوم البيانية وخيارات البحث للمستخدم النهائي.
العديد من الأدوات في Elastic Stack يتم توصيلها وتشغيلها إلى حد ما مع أدوات إدارة السجلات الأخرى ، لذلك إذا كان لديك تفضيل لشيء آخر ، فمن المحتمل أن تستبدل هذا العنصر في المكدس. بشكل عام ، ستتبع معظم الأدوات والأطر نفس الهيكل العام مثل Elastic Stack-log shipper > محرك استيعاب > قاعدة بيانات > أداة التصور.
Fluentd و Filebeat هما محركا ابتلاع بديلان ، وسيحلان محل Logstash في المكدس. يمكن أن تغذي هذه البيانات في قاعدة بيانات السلاسل الزمنية مثل InfluxDB ، والتي تحتوي على مكون إضافي مضمن لـ Grafana ، وهو نظام أساسي للتحليلات والتصور.
Logwatch هي أداة مساعدة أساسية جدًا لسطر الأوامر تراقب ملفات السجل الخاصة بك وترسل لك تقريرًا يوميًا. لا يقوم بأي نوع من التجميع ، لذلك فهو مثالي لإعدادات الخادم الفردي التي تريد المزيد من المعلومات حول سجلات الخادم.
Graylog يستبدل Elastic Stack تمامًا ، ولا يتطلب سوى شركات شحن السجل الخارجية لاستيعاب البيانات. تدعم واجهة الويب الخاصة بهم إنشاء مخططات ولوحات معلومات مخصصة لمراقبة سجلاتك ، ولكنها قد تكون غير متوفرة مقارنة بالإعداد باستخدام قاعدة بيانات مناسبة و Grafana.
SolarWinds Papertrail هي خدمة مُدارة بالكامل تعرض السجلات في الوقت الفعلي ، والتي يمكن أن تكون مفيدة جدًا عند تصحيح الأخطاء في الخوادم الخاصة بك. خططهم رخيصة إلى حد ما ، حيث يتم تقسيمها لكل جيجابايت وتبدأ من 7 دولارات فقط.
تراقب Splunk تقريبًا كل شيء يحيط بتطبيقاتك ، بما في ذلك السجلات. إذا كنت تريد مجموعة تحليلات شاملة ، فقد تكون Splunk مناسبة لك.
LogDNA هي أداة بسيطة لتحليل السجلات بخطط رخيصة جدًا. إذا كنت تبحث عن بديل سهل لتكوين مكدس ELK ، فيمكن إعداد LogDNA بسرعة.