Logstash في عامل ميناء

Logstash Fy Aml Myna



Logstash هو خط أنابيب مفتوح المصدر لمعالجة البيانات يسمح لك بجمع بيانات السجل ومعالجتها وإعادة توجيهها من مصادر مختلفة.

سنرشدك في هذا البرنامج التعليمي خلال عملية تشغيل Logstash في حاوية Docker ذات التكوين الأساسي.

متطلبات:

قبل أن نبدأ بالبرنامج التعليمي، تأكد من أن لديك ما يلي:







  1. تم تثبيت Docker على جهازك المضيف (يوصى بالإصدار 23 وما فوق)
  2. تم تثبيت Docker Compose على جهازك

بعد استيفاء المتطلبات المحددة، يمكننا المضي قدمًا في البرنامج التعليمي.



قم بإعداد ملف تكوين Logstash

يستخدم Logstash ملفات التكوين لتحديد كيفية استيعاب البيانات وتصفيتها وإرسالها إلى الإخراج. هناك مجموعة متنوعة من الخيارات التي يمكنك تهيئتها كما يمكنك الرجوع إليها في الوثائق الرسمية.



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





قم بإنشاء ملف يسمى 'logstash.conf' وأضف التكوين كما يلي:

مدخل {
ملف {
المسار => '/var/log/Apache/access.log'

start_position => 'بداية'

ncedb_path => '/ ديف/خالية'

تجاهل_أقدم => 0
}
}

منقي {
إذا [رسالة] =~ 'خطأ' {
يفهم باستفاضة {
تطابق => { 'رسالة' => '%{COMBINEDAPACHELOG}' }
}
}
}

انتاج {
ملف {
المسار => '/var/log/Apache/error_logs.log'
}
}

يحدد الملف السابق التكوين كما هو موضح في ما يلي:

  1. قسم الإدخال - يستخدم قسم الإدخال البرنامج الإضافي لإدخال الملف لقراءة ملف سجل Apache الموجود في /var/log/Apache/access.log.
    • نقوم بعد ذلك بتعيين موضع البداية في البداية والذي يسمح لـ Logstash بقراءة الملف بأكمله من البداية.
    • Sindb_path - تتيح لنا هذه المعلمة تعطيل تتبع Logstash منذ ذلك الحين عن طريق تعيين القيمة على /dev/null. وهذا يضمن أن يقرأ Logstash دائمًا من بداية الملف.
    • Ignore_older - يؤدي تعيين قيمة هذه المعلمة إلى 0 إلى السماح لـ Logstash بمعالجة جميع إدخالات ملف السجل.
  2. قسم التصفية - في قسم التصفية، نحدد نمط التصفية للتحقق مما إذا كانت رسالة السجل تحتوي على كلمة خطأ. يمكنك ضبط شروط كتل التصفية لتصفية التطابقات الأكثر دقة في الملف.
    • إذا تم استيفاء الشرط، نستخدم مرشح grok لتحليل سطر سجل Apache باستخدام نمط COMBINEDAPACHELOG وهو نمط مدمج في Logstash لتحليل سجلات Apache.
  3. قسم الإخراج - يسمح لنا هذا القسم بتحديد تنسيق الإخراج للإدخالات المطابقة.
    • في حالتنا، نكتبها في الملف /var/log/Apache/error_logs.log باستخدام معلمة المسار.

من المفترض أن يزودنا هذا بتكوين Logstash الأساسي الذي يسمح لنا بإظهار بعض أعمال Logstash الأساسية.

يرجى الرجوع إلى المزيد حول إنشاء وتكوين مسارات Logstash في مصدر الوثائق المقدم التالي:

https://www.elastic.co/guide/en/logstash/current/configuration.html

قم بإنشاء ملف Docker

بمجرد تحديد تكوينات Logstash، يمكننا المتابعة ومعرفة كيفية تشغيل الحاوية. داخل نفس الدليل الذي يوجد به ملف 'logstash.conf'، قم بإنشاء ملف جديد يسمى 'Dockerfile'.

قم بتحرير هذا الملف وإضافة الإدخالات كما يلي:

من docker.elastic.co/logstash/logstash:8.9.2

انسخ logstash.conf /usr/share/logstash/pipeline/logstash.conf

في المثال المذكور، قمنا بتعريف الصورة الأساسية على أنها صورة Logstash الرسمية باستخدام الإصدار 8.9.2.

نقوم بعد ذلك بنسخ ملف 'logstash.conf' الذي قمنا بإنشائه إلى /usr/share/logstash/pipeline/logstash.conf الموجود في الصورة.

بناء صورة عامل الميناء

بعد ذلك، انتقل إلى الدليل الذي يحتوي على ملف التكوين Dockerfile وLogstash. قم بتشغيل الأمر التالي لإنشاء الصورة:

$ بناء عامل ميناء صورة سجل مخصصة .

قم بتشغيل حاوية Logstash

الآن بعد أن أنشأنا صورة Docker، يمكننا تشغيل حاوية Logstash باستخدام أمر Docker 'run' كما يلي:

$ تشغيل عامل الميناء --اسم logstash-server custom-logstash-image

يجب أن يؤدي هذا إلى تشغيل حاوية Logstash باستخدام الصورة التي أنشأناها في الخطوة السابقة.

تحقق من سجلات حاوية Logstash

للتحقق من أن Logstash يعمل بشكل صحيح، يمكنك التحقق من سجلات الحاوية باستخدام الأمر التالي:

$ سجلات عامل الميناء < اسم الحاوية >

انتاج:

خاتمة

في هذا البرنامج التعليمي، تعلمت كيف يمكنك بسرعة إعداد خادم Logstash الذي يعمل كـ Docker باستخدام ملف تكوين مخصص. نوصي بالتحقق من الوثائق المتعلقة بمعلمات الصورة وخيارات التكوين.