شرح برنامج ELK Stack التعليمي: Kibana، Logstash و Elasticsearch
⚡ ملخص ذكي
تجمع حزمة ELK Stack بين ثلاث أدوات مفتوحة المصدر - Elasticsearch، Logstashو Kibana - لجمع وتخزين والبحث عن بيانات الآلة وعرضها بصريًا، مما يمنح فرق الهندسة تسجيلًا مركزيًا وتحليلات في الوقت الفعلي لتسريع استكشاف الأخطاء وإصلاحها عبر الخوادم والتطبيقات.

تُعدّ حزمة ELK واحدة من أكثر حلول المصادر المفتوحة استخدامًا لتسجيل البيانات وتحليلها مركزيًا. يشرح هذا الدليل التعليمي لحزمة ELK ما هو Elasticsearch، Logstash، و Kibana، وكيف تتكامل الأدوات الثلاث معًا، وأين يتم استخدام المنصة في أعمال المراقبة والرصد في العالم الحقيقي.
ما هو ELK المكدس؟
استخدم إلك ستاك عبارة عن مجموعة من ثلاثة منتجات مفتوحة المصدر - Elasticsearch، LogstashوKibana. يوفر نظام تسجيل مركزي يساعدك على تحديد مشاكل الخوادم أو التطبيقات من خلال تمكينك من البحث في جميع سجلاتك في مكان واحد. كما يساعدك على ربط السجلات عبر خوادم متعددة خلال فترة زمنية محددة.
- E يرمز إلى Elasticsearch: يستخدم لتخزين السجلات.
- L لتقف على Logstash: يستخدم للسفنping، ومعالجة السجلات وتخزينها.
- K يرمز إلى كيبانا: أ أداة التصور (واجهة ويب) يتم استضافتها من خلال Nginx أو Apache.
Elasticsearch، Logstashتم تطوير وإدارة وصيانة كل من و Kibana بواسطة شركة تُدعى مرن.
تم تصميم مجموعة ELK Stack بشكل متكامل لتمكين المستخدمين من أخذ البيانات من أي مصدر، بأي تنسيق، ثم البحث عن تلك البيانات وتحليلها وعرضها في الوقت الفعلي.
إلك ستاك Architecture
الآن بعد أن عرفت ما هي المكدس، يشرح هذا القسم بنية ELK وكيفية تدفق البيانات بين المكونات.
تتبع سلسلة عمليات ELK تسلسلاً واضحاً حيث يكون لكل أداة مهمة مخصصة:
- السجلات: تم تحديد سجلات الخادم التي تحتاج إلى تحليل.
- Logstash: يقوم بجمع السجلات وبيانات الأحداث، ثم يقوم بتحليلها وتحويلها.
- بحث مرن: البيانات التي تم تحويلها بواسطة Logstash يتم تخزينها والبحث فيها وفهرستها.
- كيبانا: يستخدم قاعدة بيانات Elasticsearch لاستكشاف البيانات وتصورها ومشاركة الأفكار.
مع ذلك، غالبًا ما يُضاف مكون رابع يُسمى Beats لجمع البيانات. Beats عبارة عن برامج نقل بيانات خفيفة الوزن تُثبّت على الخوادم، وقد دفعت إضافتها شركة Elastic إلى إعادة تسمية ELK إلى Elastic Stack.
عند التعامل مع كميات كبيرة جدًا من البيانات، يمكنك إضافة Kafka أو RabbitMQ أمام خط الأنابيب للتخزين المؤقت والمرونة.
لزيادة الأمان، يمكن وضع خادم وكيل عكسي مثل Nginx أمام المكدس.
مع الأخذ في الاعتبار بنية النظام، تتناول الأقسام التالية نظرة فاحصة على كل منتج مفتوح المصدر في المجموعة.
ما هو Elasticsearch؟
البحث المرن هو أ قاعدة بيانات NoSQL يعتمد هذا النظام على محرك البحث Lucene، وهو مبني باستخدام واجهات برمجة تطبيقات RESTful. يوفر سهولة في النشر، وموثوقية عالية، وإدارة سهلة، كما يخزن جميع بياناتك مركزياً لتتمكن من إجراء استعلامات متقدمة وعمليات بحث سريعة عن المستندات.
يُتيح لك Elasticsearch أيضًا تخزين كميات كبيرة من البيانات والبحث فيها وتحليلها. ويُستخدم غالبًا كمحرك أساسي لتشغيل التطبيقات ذات متطلبات البحث العالية.
نظراً لأنه يضيف تحليلات والعديد من الميزات المتقدمة إلى جانب البحث السريع، فقد تم اعتماد Elasticsearch على نطاق واسع في منصات البحث لتطبيقات الويب والهواتف المحمولة الحديثة.
ميزات Elasticsearch
يوفر Elasticsearch مجموعة غنية من الإمكانيات لفهرسة البيانات والبحث فيها:
- خادم بحث مفتوح المصدر مكتوب بلغة Java.
- قادر على فهرسة أي نوع من البيانات غير المتجانسة.
- يوفر واجهة ويب REST API مع مخرجات JSON.
- البحث في النص الكامل.
- البحث شبه الفوري (NRT).
- مخزن مستندات JSON مجزأ، ومكرر، وقابل للبحث.
- مخزن مستندات موزع قائم على REST و JSON بدون مخطط.
- دعم متعدد اللغات وتحديد الموقع الجغرافي.
مزايا البحث المرن
- يخزن البيانات غير المخططة ويمكنه أيضًا إنشاء مخطط لبياناتك.
- يتيح لك هذا البرنامج معالجة السجلات واحداً تلو الآخر باستخدام واجهات برمجة التطبيقات متعددة المستندات.
- يدعم تصفية بياناتك والاستعلام عنها للحصول على رؤى قيّمة.
- يعتمد على Apache Lucene ويوفر واجهة برمجة تطبيقات RESTful.
- يوفر قابلية التوسع الأفقي والموثوقية وإمكانية تعدد المستأجرين للفهرسة في الوقت الفعلي والبحث بشكل أسرع.
- يساعدك على التوسع عموديًا وأفقيًا.
يوضح الجدول أدناه المصطلحات الرئيسية التي ستصادفها عند العمل مع Elasticsearch:
| مصطلح | الأستعمال |
|---|---|
| Cluster | المجموعة هي عبارة عن مجموعة من العقد التي تحتوي معًا على بياناتك وتوفر إمكانيات فهرسة وبحث مشتركة. |
| العقدة | العقدة هي نسخة واحدة من Elasticsearch. يتم إنشاؤها عند بدء تشغيل نسخة Elasticsearch. |
| فهرس | الفهرس عبارة عن مجموعة من المستندات التي تشترك في خصائص متشابهة، مثل بيانات العملاء أو كتالوج المنتجات. وهو مفيد لعمليات الفهرسة والبحث والتحديث والحذف، ويمكنك تعريف العديد من الفهارس في مجموعة واحدة. |
| وثيقة | المستند هو الوحدة الأساسية للمعلومات التي يمكن فهرستها. يتم التعبير عنه كزوج من المفتاح والقيمة بتنسيق JSON، ويرتبط كل مستند بنوع ومعرف فريد. |
| قشرة | يمكن تقسيم كل فهرس إلى عدة أجزاء لتوزيع البيانات. الجزء هو الوحدة الأساسية للفهرس، ويمكن توزيعه عبر المجموعة مع إضافة المزيد من العقد. |
ما هي تفاصيل Logstash?
Logstash هي أداة خط أنابيب جمع البيانات في هذه المجموعة. تقوم بجمع مدخلات البيانات وتغذيتها إلى Elasticsearch، حيث تجمع جميع أنواع البيانات من مصادر مختلفة وتجعلها متاحة لمزيد من الاستخدام.
Logstash يُمكنك توحيد البيانات من مصادر مُتباينة وتنسيقها وفقًا للوجهات التي تختارها. وهذا يُتيح لك تنظيف جميع بياناتك وجعلها متاحة للجميع، مما يُسهّل استخدامها في مجموعة واسعة من تطبيقات التحليلات والتصورات البيانية.
يتكون من ثلاثة مكونات:
- الإدخال: يقوم البرنامج بتمرير السجلات وتحويلها إلى تنسيق قابل للقراءة آلياً.
- المرشحات: مجموعة من الشروط التي تؤدي إلى إجراء معين على حدث ما.
- الإخراج: صانع القرار الذي يوجه كل حدث أو سجل تتم معالجته.
ميزات Logstash
Logstash يتضمن العديد من الميزات التي تجعل معالجة السجلات مرنة:
- تمر الأحداث عبر كل مرحلة باستخدام قوائم انتظار داخلية.
- يسمح بإدخال بيانات مختلفة لسجلاتك.
- يدعم تصفية وتحليل سجلاتك.
مزايا Logstash
- يُركز معالجة بياناتك.
- يقوم بتحليل مجموعة واسعة من البيانات والأحداث المنظمة وغير المنظمة.
- يوفر إضافات للربط مع أنواع عديدة من مصادر الإدخال والمنصات.
ما هو كيبانا؟
Kibana هي أداة تصور البيانات التي تُكمل حزمة ELK. تُستخدم لتصور مستندات Elasticsearch وتساعد المطورين على اكتساب فهم سريع لبياناتهم من خلال المخططات التفاعلية والبيانات الجغرافية المكانية والرسوم البيانية التي تجعل الاستعلامات المعقدة سهلة الفهم.
يمكنك استخدام Kibana للبحث عن البيانات المخزنة في فهارس Elasticsearch وعرضها والتفاعل معها. كما يساعدك على تنفيذ مهام متقدمة. تحليل البيانات وقم بعرض بياناتك في مجموعة متنوعة من الجداول والرسوم البيانية والخرائط.
يدعم Kibana عدة طرق للبحث في بياناتك. فيما يلي أنواع البحث الأكثر شيوعًا:
| نوع البحث | الأستعمال |
|---|---|
| عمليات بحث نصية مجانية | تُستخدم للبحث عن سلسلة نصية محددة. |
| عمليات البحث على المستوى الميداني | تُستخدم للبحث عن سلسلة نصية داخل حقل معين. |
| تصريحات منطقية | تُستخدم لدمج عمليات البحث في عبارة منطقية. |
| عمليات بحث القرب | تُستخدم للبحث عن المصطلحات ضمن نطاق أحرف محدد. |
كما يوفر Kibana عددًا من الميزات القوية لاستكشاف البيانات المفهرسة:
- لوحة تحكم أمامية قوية تعرض المعلومات المفهرسة من مجموعة Elasticsearch.
- يُمكّن من البحث الفوري عن المعلومات المفهرسة.
- يتيح لك البحث عن البيانات المخزنة في Elasticsearch وعرضها والتفاعل معها.
- ينفذ الاستعلامات على البيانات ويعرض النتائج في الرسوم البيانية والجداول والخرائط.
- لوحة تحكم قابلة للتخصيص لتقسيم البيانات وتحليلها Logstash السجلات في Elasticsearch.
- يوفر بيانات تاريخية في شكل رسوم بيانية ومخططات وغيرها.
- يوفر لوحات تحكم فورية سهلة التكوين.
مزايا وعيوب كيبانا
وكأي أداة أخرى، يتمتع برنامج Kibana بنقاط قوة واضحة تفسر شعبيته:
- سهولة عرض البيانات بصرياً.
- متكامل تمامًا مع Elasticsearch.
- يعمل كأداة مخصصة للتصور.
- يوفر التحليل والرسم البياني والتلخيص وتصحيح الأخطاء في الوقت الفعلي.
- يوفر واجهة سهلة الاستخدام وبديهية.
- يسمح بمشاركة لقطات من السجلات التي قمت بالبحث فيها.
- يسمح بحفظ وإدارة لوحات معلومات متعددة.
كما أن لها بعض القيود التي يجب مراعاتها:
- لا يعمل إلا مع Elasticsearch كمصدر بياناته.
- قد يتطلب بناء وضبط لوحات المعلومات المعقدة فترة تعلم طويلة.
لماذا تحليل السجل؟
في البنى التحتية القائمة على الحوسبة السحابية، يعتبر الأداء والعزل مهمين للغاية.
يمكن أن يختلف أداء الأجهزة الافتراضية في السحابة بناءً على الأحمال والبيئات المحددة وعدد المستخدمين النشطين، لذا يمكن أن تصبح الموثوقية وفشل العقدة مشكلات كبيرة.
A منصة إدارة السجلات يمكنه مراقبة كل هذه المشكلات. كما يمكنه معالجة سجلات نظام التشغيل، وسجلات خادم الويب Nginx وIIS لتحليل حركة المرور، وسجلات التطبيقات، والسجلات التي يتم إنشاؤها على AWS (Amazon خدمات الويب).
في النهاية، تساعد إدارة السجلات DevOps يتخذ المهندسون ومديرو الأنظمة قرارات أفضل تستند إلى البيانات. ولهذا السبب أصبح تحليل السجلات باستخدام Elastic Stack أو أدوات مماثلة أمراً ضرورياً.
ELK مقابل Splunk
أحد الأسئلة الشائعة هو كيف تتم مقارنة ELK Stack مع Splunk، وهو بديل تجاري شائع. يلخص الجدول أدناه الاختلافات الرئيسية:
| ELK | Splunk |
|---|---|
| ELK هي أداة مفتوحة المصدر. | Splunk هي أداة تجارية. |
| لا تقدم شركة ELK Solaris إمكانية التنقل بفضل كيبانا. | عروض سبلانك Solaris قابلية التنقل. |
| سرعة المعالجة محدودة للغاية. | يوفر معالجة دقيقة وسريعة. |
| ELK عبارة عن مجموعة تقنية تم إنشاؤها من خلال دمج Elasticsearch، Logstash، وكيبانا. | Splunk هي أداة مملوكة توفر حلولاً محلية وسحابية. |
| في ELK، لا يمكن إجراء البحث والتحليل والتصور إلا بعد إعداد المكدس. | Splunk عبارة عن حزمة متكاملة لإدارة البيانات جاهزة للاستخدام الفوري. |
| يوفر برنامج ELK تكاملاً محدوداً مدمجاً مع الأدوات الأخرى. | يُعد Splunk مفيدًا لإعداد عمليات التكامل مع الأدوات الأخرى. |
دراسات الحالة
تعتمد العديد من الشركات المعروفة على حزمة ELK لتشغيل عمليات التسجيل والتحليل على نطاق واسع. توضح الأمثلة أدناه كيفية استخدامها في بيئة الإنتاج.
Netflix
Netflix تعتمد الشركة بشكل كبير على حزمة ELK لمراقبة وتحليل سجلات الأمان الخاصة بعمليات خدمة العملاء. تتيح هذه المنصة Netflix فهرسة وتخزين والبحث عن المستندات عبر أكثر من خمس عشرة مجموعة تتكون من حوالي 800 عقدة.
لينكد إن
يستخدم موقع لينكدإن للتواصل المهني حزمة ELK لمراقبة الأداء والأمان. وقد قام فريق الموقع بدمج ELK مع Kafka لمعالجة الأحمال في الوقت الفعلي، وتغطي هذه العملية أكثر من 100 مجموعة عبر ستة مراكز بيانات.
الشرارة
تستخدم شركة Tripwire، وهي شركة عالمية متخصصة في إدارة معلومات وأحداث الأمان (SIEM)، حزمة ELK لدعم تحليل سجلات حزم المعلومات.
متوسط
تستخدم منصة Medium، وهي منصة نشر المدونات الشهيرة، حزمة ELK لتصحيح أخطاء الإنتاج واكتشاف المشكلات. DynamoDB النقاط الساخنة. تساعد هذه التقنية الشركة على دعم 25 مليون قارئ فريد وآلاف المنشورات الجديدة كل أسبوع.
مزايا وعيوب نظام ELK Stack
المزايا
توفر حزمة ELK العديد من المزايا التي تفسر انتشارها الواسع:
- يعمل النظام بشكل أفضل عندما تتجمع سجلات التطبيقات المختلفة للمؤسسة في مثيل واحد من ELK.
- فهو يوفر رؤية ثرية من تلك الحالة الواحدة، ويزيل الحاجة إلى تسجيل الدخول إلى مئات من مصادر البيانات المنفصلة.
- تركيب سريع في الموقع.
- سهل النشر وقابل للتوسع رأسياً وأفقياً.
- توفر شركة Elastic العديد من برامج لغات البرمجة، بما في ذلك Ruby. PythonPHP، Perl، .NET Javaو Javaالنصي.
- تتوفر مكتبات للعديد من لغات البرمجة وكتابة النصوص البرمجية.
عيوب
على الرغم من نقاط قوتها، فإنّ نظام ELK Stack يعاني من بعض العيوب التي يجب أخذها في الاعتبار:
- قد يصبح التعامل مع المكونات المختلفة صعباً عند الانتقال إلى إعداد أكثر تعقيداً.
- هناك منحنى تعليمي حقيقي، لذا توقع بعض المحاولات والأخطاء أثناء اكتسابك الخبرة.


