The Elastic Stack (المعروفة سابقاً باسم ELK Stack) هي حل قوي لتسجيل البيانات مركزيًا. وهي عبارة عن مجموعة من البرمجيات مفتوحة المصدر تم تطويرها بواسطة Elastic. وهي تتيح لمديري النظام البحث في السجلات التي يتم إنشاؤها من أي مصدر وبأي تنسيق وتحليلها وتصورها مرئيًا. وتُعرف هذه الممارسة باسم تسجيل البيانات مركزيًا (centralized logging). يمكن أن يكون تسجيل البيانات مركزيًا مفيدًا جدًا عند محاولة تحديد المشكلات في الخوادم والتطبيقات بدقة، حيث يتيح البحث في جميع السجلات من مكان واحد. كما يمكن أن يساعد أيضًا في تحديد المشكلات عبر خوادم متعددة من خلال ربط السجلات في وقت محدد.
في هذا الدليل، تعرف على كيفية تثبيت Elastic Stack على Ubuntu 18.04. أولاً، اتبع دليلنا التعليمي لتتمكن بسهولة من تثبيت خادم Ubuntu الخاص بك على CloudSigma.
The Elastic Stack على Ubuntu
تتكون Elastic Stack من المكونات التالية:
- Elasticsearch: محرك بحث موزع RESTful. ويقوم بتخزين جميع البيانات التي تم جمعها.
- Logstash: جزء معالجة البيانات في Elastic Stack. حيث يقوم بإرسال البيانات الواردة إلى Elasticsearch.
- Kibana: واجهة ويب توفر ميزات البحث وتصور السجلات مرئيًا.
- Beats: ناقل بيانات خفيف الوزن ووحيد الغرض. يمكنه إرسال البيانات من أجهزة متعددة إلى Logstash أو Elasticsearch.
ستحتاج إلى تثبيت كل مكون من مكونات المجموعة يدويًا.
المتطلبات الأساسية
قبل المتابعة في تثبيت the Elastic Stack، يجب تلبية العديد من متطلبات النظام:
- متطلبات العتاد:
- المعالج: معالجان (2 CPUs) (يمكن الوصول إليهما من مستخدم sudo غير جذري)
- ذاكرة الوصول العشوائي (RAM): 4 جيجابايت
- OpenJDK 11 (أحدث إصدار Java LTS). لتثبيته، ألقِ نظرة على الدليل التعليمي حول كيفية إعداد Java على Ubuntu 18.04.
- Nginx مع التكوينات المناسبة. يمكنك اتباع دليلنا لتثبيت Nginx على Ubuntu 18.04 لإعداده.
يرجى ملاحظة أن مساحة التخزين تعتمد على عدد السجلات التي سيتم جمعها وتخزينها. بالإضافة إلى ذلك، تتعامل Elastic Stack أيضًا مع معلومات قيمة حول الخادم. للحفاظ على أمان نقل البيانات، نوصي بشدة بتكوين شهادة TLS/SSL. اتبع هذا الدليل التعليمي للحصول على شهادة SSL مجانية على خادم Nginx الخاص بك.
بالإضافة إلى الخادم المشفر، ستكون الخطوات التالية ضرورية أيضًا:
- اسم نطاق مؤهل بالكامل (FQDN). في هذا الدليل، سيكون <domain>.
- يوجه كلا سجلي DNS للنطاقات التالية إلى الخادم.
- سجل من النوع A مع <domain> يشير إلى عنوان IP العام للخادم.
- سجل من النوع A مع www.<domain> يشير إلى عنوان IP العام للخادم.
تثبيت Elastic Stack
-
تكوين مستودع Elastic
مكونات Elastic Stack ليست متاحة مباشرة من مستودع Ubuntu الرسمي. لحسن الحظ، يسمح Ubuntu لـ 3rd-party (الطرف الثالث) لتثبيت الحزم. لغرضنا، سنقوم بإضافة مستودع حزم Elastic. يقدم المستودع أحدث تحديثات الحزم لجميع حزم Elastic. جميع حزم Elastic موقعة بمفتاح توقيع Elasticsearch لمنع تزييف الحزم. أولاً، أضف المفتاح إلى حلقة مفاتيح Ubuntu:
|
1 |
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - |
ثم، أضف قائمة مصادر Elastic تحت دليل “sources.list.d”. وهو الدليل المخصص الذي يستخدمه APT للبحث عن مصادر جديدة:
|
1 |
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list |
أخيرًا، قم بتحديث ذاكرة التخزين المؤقت لـ APT:
|
1 |
sudo apt update |
وفقًا للوثائق الرسمية، يوصى بتثبيت كل مكون من المكونات بالترتيب الموضح في هذا الدليل. يضمن ذلك أن تكون المكونات التي يعتمد عليها كل منتج في مكانها الصحيح.
-
تثبيت وتكوين Elasticsearch
بمجرد تكوين مستودع Elastic، يصبح APT جاهزًا لتنزيل وتثبيت جميع حزم Elastic. قم بتشغيل الأمر التالي لتثبيت Elasticsearch:
|
1 |
sudo apt install elasticsearch |
الآن يمكنك تكوين Elasticsearch. يوفر الملف “elasticsearch.yml” خيارات التكوين حول المجموعات (clusters)، والعقد (nodes)، والمسارات، والشبكات، والذاكرة، والبوابة (gateway)، وغيرها. معظمها يأتي مكوّنًا مسبقًا في الملف. بعد ذلك، افتح ملف تكوين Elasticsearch باستخدام محرر نصوص من اختيارك:
|
1 |
sudo vim /etc/elasticsearch/elasticsearch.yml |
يستمع Elasticsearch على المنفذ 9200 من أي مكان. نوصي بتقييد الوصول الخارجي إلى Elasticsearch لمنع الغرباء من قراءة البيانات أو إيقاف تشغيل مجموعات Elasticsearch باستخدام واجهة برمجة تطبيقات REST الخاصة به. لتقييد الوصول إلى Elasticsearch وتعزيز أمانه، قم بإلغاء التعليق على السطر التالي واستبدل قيمته:
|
1 |
network.host: localhost |
إذا كان Elasticsearch سيستمع إلى عنوان IP محدد، فاستبدل “localhost” بعنوان IP المستهدف. هذا هو الحد الأدنى من متطلبات التكوين قبل تشغيل Elasticsearch. احفظ ملف التكوين وأغلقه. بعد ذلك، ابدأ خدمة Elasticsearch. قد يستغرق بدء تشغيل Elasticsearch بضع لحظات:
|
1 |
sudo systemctl start elasticsearch |
بعد ذلك، تحتاج إلى التأكد من بدء تشغيل Elasticsearch في كل مرة يتم فيها تشغيل الخادم:
|
1 |
sudo systemctl enable elasticsearch |
سيتحقق الأمر التالي مما إذا كانت خدمة Elasticsearch قيد التشغيل. كل ما يتطلبه الأمر هو إرسال طلب HTTP:
|
1 |
curl -X GET "localhost:9200" |
ستبدو الاستجابة كشيء من هذا القبيل. ستكون استجابة تعرض بعض المعلومات الأساسية حول العقدة المحلية.
تثبيت وتكوين لوحة تحكم Kibana
يتوفر Kibana مباشرة من مستودع Elastic. لاحظ أنه يجب عليك تثبيت Kibana فقط بعد تثبيت Elasticsearch. بافتراض أن المستودع متاح بالفعل، يمكن لـ APT جلب Kibana وتثبيته مباشرة:
|
1 |
sudo apt install kibana |
بمجرد التثبيت، قم بتمكين وبدء خدمة Kibana:
|
1 2 |
sudo systemctl enable kibana sudo systemctl start kibana |
بشكل افتراضي، تم تكوين Kibana للاستماع فقط إلى “localhost”. للوصول الخارجي، يتطلب الأمر تكوين وكيل عكسي. هنا، سيكون Nginx هو الوكيل العكسي. استخدم الأمر openssl لإنشاء مستخدم مسؤول لـ Kibana. سيكون هذا حساب المستخدم للوصول إلى واجهة ويب Kibana. هنا، سيكون اسم المستخدم التجريبي هو “kibana_admin”. لضمان أمان أفضل، نوصي باستخدام اسم مستخدم غير قياسي. سيقوم الأمر التالي بإنشاء مستخدم مسؤول لـ Kibana. سيتم إنشاء اسم المستخدم وكلمة المرور وتخزينهما في ملف “htpasswd.users”. سيتعين تكوين Nginx لاستخدام اسم المستخدم وكلمة المرور:
|
1 |
echo "kibana_admin:`openssl passwd -apr1`" | sudo tee -a /etc/nginx/htpasswd.users |
أدخل كلمة المرور وأكدها عند المطالبة. ستكون كلمة المرور هذه مهمة للوصول إلى واجهة Kibana. بعد ذلك، تحتاج إلى إنشاء ملف كتلة خادم Nginx. للتوضيح، سيكون example.com. يمكن أن يكون أيضًا أي اسم وصفي آخر. إذا كانت هناك سجلات FQDN و DNS مكونة للخادم، فيمكن أن يكون اسم الملف أيضًا باسم FQDN:
|
1 |
sudo vim /etc/nginx/sites-available/example.com |
إذا كان هناك أي محتوى موجود مسبقًا، فقم بإزالة المحتويات واستبدالها بأسطر التعليمات البرمجية التالية:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
server { listen 80; server_name example.com; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.users; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } |
احفظ الملف وأغلقه. قم بإنشاء رابط رمزي للتكوين الجديد تحت دليل “sites-enabled”. إذا كان هناك أي رابط موجود مسبقًا بنفس اسم الملف، فقد لا تكون هذه الخطوة ضرورية:
|
1 |
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com |
سيطلب الأمر التالي من Nginx التحقق مما إذا كان هناك أي خطأ في بناء الجملة:
|
1 |
sudo nginx -t |
إذا كانت هناك أي مشكلة في بناء الجملة، فتأكد من وضع محتويات الملف بشكل صحيح. بعد ذلك، أعد تشغيل خدمة Nginx:
|
1 |
sudo systemctl restart nginx |
أخبر UFW بالسماح بالاتصال بـ Nginx:
|
1 |
sudo ufw allow 'Nginx Full' |
يجب أن يكون Kibana الآن متاحًا عبر FQDN أو عنوان IP العام لخادم Elastic Stack. تحقق من صفحة حالة خادم Kibana:
|
1 |
http://<server_ip>:5601/status |
تثبيت وتكوين Logstash
بينما يمكن لـ Beats إرسال البيانات مباشرة إلى قاعدة بيانات Elasticsearch’s، يوصى باستخدام Logstash لمعالجة البيانات. يمكن لـ Logstash جمع البيانات وتحويلها إلى تنسيق مشترك قبل تصديرها إلى قاعدة بيانات أخرى. قم بتشغيل أمر APT التالي لتثبيت Logstash:
|
1 |
sudo apt install logstash |
بمجرد اكتمال التثبيت، يحين وقت تكوين Logstash. ملفات تكوين Logstash تكون بتنسيق JSON. يمكنك العثور عليها جميعًا في دليل “/etc/logstash/conf.d” directory. من المفيد التفكير في Logstash كخط أنابيب، يستقبل البيانات من أحد الطرفين، ويعالجها، ثم يرسلها إلى الوجهة. يتطلب خط أنابيب Logstash عنصرين إلزاميين – input و output مع عنصر اختياري واحد – filter. يقوم المكون الإضافي input بإدخال البيانات، ويقوم المكون الإضافي filter بمعالجة البيانات، ويقوم المكون الإضافي output بكتابة البيانات إلى الوجهة. سيقوم الأمر التالي بإنشاء ملف تكوين يقوم بإعداد Logstash لمدخلات Filebeat:
|
1 |
sudo vim /etc/logstash/conf.d/02-beats-input.conf |
أدخل تكوين input التالي. يصف هذا التكوين مدخلات beats التي ستستمع على المنفذ 5044 عبر بروتوكول TCP:
|
1 2 3 4 5 |
input { beats { port => 5044 } } |
الخطوة التالية هي إنشاء ملف تكوين يسمى “10-syslog-filter.conf”. سنستخدمه لإعداد مصفاة لـ syslogs (سجلات النظام):
|
1 |
sudo vim /etc/logstash/conf.d/10-syslog-filter.conf |
أدخل رمز تكوين syslog التالي. هذا الرمز متاح مباشرة من Elastic guide. يوضح هذا الرمز تكوين input لـ Logstash:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
إدخال{ beats{ منفذ => 5044 مضيف => "0.0.0.0" } } تصفية { إذا [مجموعة ملفات][وحدة] == "نظام" { إذا [مجموعة ملفات][اسم] == "مصادقة" { grok { مطابقة => { "رسالة" => ["%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:\[%{POSINT:[system][auth][pid]}\])?: %{DATA:[system][auth][ssh][event]} %{DATA:[system][auth][ssh][method]} for (invalid user )?%{DATA:[system][auth][user]} from %{IPORHOST:[system][auth][ssh][ip]} port %{NUMBER:[system][auth][ssh][port]} ssh2(: %{GREEDYDATA:[system][auth][ssh][signature]})?", "%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:\[%{POSINT:[system][auth][pid]}\])?: %{DATA:[system][auth][ssh][event]} user %{DATA:[system][auth][user]} from %{IPORHOST:[system][auth][ssh][ip]}", "%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:\[%{POSINT:[system][auth][pid]}\])?: Did not receive identification string from %{IPORHOST:[system][auth][ssh][dropped_ip]}", "%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sudo(?:\[%{POSINT:[system][auth][pid]}\])?: \s*%{DATA:[system][auth][user]} :( %{DATA:[system][auth][sudo][error]} ;)? TTY=%{DATA:[system][auth][sudo][tty]} ; PWD=%{DATA:[system][auth][sudo][pwd]} ; USER=%{DATA:[system][auth][sudo][user]} ; COMMAND=%{GREEDYDATA:[system][auth][sudo][command]}", "%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} groupadd(?:\[%{POSINT:[system][auth][pid]}\])?: new group: name=%{DATA:system.auth.groupadd.name}, GID=%{NUMBER:system.auth.groupadd.gid}", "%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} useradd(?:\[%{POSINT:[system][auth][pid]}\])?: new user: name=%{DATA:[system][auth][user][add][name]}, UID=%{NUMBER:[system][auth][user][add][uid]}, GID=%{NUMBER:[system][auth][user][add][gid]}, home=%{DATA:[system][auth][user][add][home]}, shell=%{DATA:[system][auth][user][add][shell]}$", "%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} %{DATA:[system][auth][program]}(?:\[%{POSINT:[system][auth][pid]}\])?: %{GREEDYMULTILINE:[system][auth][message]}"] } pattern_definitions => { "GREEDYMULTILINE"=> "(.|\n)*" } remove_field => "message" } date { match => [ "[system][auth][timestamp]", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } geoip { source => "[system][auth][ssh][ip]" target => "[system][auth][ssh][geoip]" } } else if [fileset][name] == "syslog" { grok { match => { "message" => ["%{SYSLOGTIMESTAMP:[system][syslog][timestamp]} %{SYSLOGHOST:[system][syslog][hostname]} %{DATA:[system][syslog][program]}(?:\[%{POSINT:[system][syslog][pid]}\])?: %{GREEDYMULTILINE:[system][syslog][message]}"] } pattern_definitions => { "GREEDYMULTILINE" => "(.|\n)*" } remove_field => "message" } date { match => [ "[system][syslog][timestamp]", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } } |
سيتعامل ملف التكوين التالي مع المخرجات. افتح ملفًا جديدًا باسم “30-elasticsearch-output.conf”:
|
1 |
sudo vim /etc/logstash/conf.d/30-elasticsearch-output.conf |
أدخل الكود التالي. يوضح هذا الكود تكوين المخرجات لـ Logstash:
|
1 2 3 4 5 6 7 |
output { elasticsearch { hosts => ["localhost:9200"] manage_template => false index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" } } |
اختبر تكوين Logstash. ثم قم بتشغيل الأمر التالي:
|
1 |
sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t |
إذا لم يكن هناك خطأ، فسيقوم Logstash بطباعة رسالة النجاح التالية. إذا لم يكن ناجحًا، فتأكد من أن جميع ملفات التكوين تحتوي على الأكواد الصحيحة. أخيرًا، ابدأ خدمة Logstash وقم بتمكينها:
|
1 2 |
sudo systemctl start logstash sudo systemctl enable logstash |
الآن بعد أن تم تشغيل Logstash بنجاح وتكوينه بالكامل، فلنقم بتثبيت Filebeat.
تثبيت وتكوين Filebeat
تستخدم Elastic Stack أدوات شحن البيانات، المعروفة باسم “Beats” لجمع البيانات من مصادر مختلفة ونقلها إلى Logstash/Elasticsearch. إليك قائمة قصيرة بـ Beats المتاحة من Elastic:
- Filebeat: جمع/شحن ملفات السجل.
- Metricbeat: جمع/شحن المقاييس من الأنظمة والخدمات.
- Packetbeat: جمع/تحليل بيانات الشبكة.
- Winlogbeat: جمع سجلات أحداث Windows.
- Auditbeat: جمع بيانات إطار عمل تدقيق Linux ومراقبة سلامة الملفات.
- Heartbeat: مراقبة الخدمات للتحقق من توفرها.
لأغراض هذا البرنامج التعليمي، سنحتاج إلى Filebeat لشحن السجلات المحلية إلى Elastic Stack. أولاً، قم بتثبيت Filebeat:
|
1 |
sudo apt install filebeat |
يمكنك الآن تكوين Filebeat. أولاً، يحتاج إلى الاتصال بـ Logstash. سنستخدم التكوين النموذجي الذي يأتي مع Filebeat. افتح ملف التكوين في محرر نصوص. لاحظ أنه نظرًا لأن الملف بتنسيق YAML، فإن المسافة البادئة المناسبة مهمة:
|
1 |
sudo vim /etc/filebeat/filebeat.yml |
ابحث عن القسم “output.elasticsearch” وقم بوضع علامة تعليق على السطور التالية. سيؤدي ذلك إلى تكوين Filebeat لإرسال الأحداث مباشرة إلى Elasticsearch/Logstash لمزيد من المعالجة. بعد ذلك، انتقل إلى القسم “output.logstash.” بعد ذلك، قم بإلغاء تعليق السطور:
|
1 2 3 4 5 6 7 |
#output.elasticsearch: # مصفوفة من المضيفين للاتصال بهم. # hosts: ["localhost:9200"] output.logstash: # مضيفو Logstash hosts: ["localhost:5044"] |
يدعم Filebeat الوحدات التي يمكنها توسيع وظائفه. في هذا البرنامج التعليمي، سنستخدم وحدة النظام التي تجمع وتحلل السجلات التي تم إنشاؤها بواسطة خدمة تسجيل النظام لتوزيعات Linux الشائعة. قم بتمكين وحدة نظام Filebeat:
|
1 |
sudo filebeat modules enable system |
سيقوم أمر Filebeat التالي بسرد جميع الوحدات الممكنة والمعطلة:
|
1 |
sudo filebeat modules list |
بشكل افتراضي، تم تعيين Filebeat لاتباع المسارات الافتراضية لسجلات syslog وسجلات المصادقة. تتوفر معلمات الوحدات في ملف التكوين “/etc/filebeat/modules.d/system.yml”.
الخطوة التالية هي تحميل قالب الفهرس إلى Elasticsearch. إن فهرس Elasticsearch يشير إلى مجموعة من المستندات التي تشترك في خصائص مماثلة. يأتي كل فهرس باسم. الاسم ضروري عند إجراء عمليات مختلفة بداخله. يتم تطبيق قالب الفهرس تلقائيًا في كل مرة يتم فيها إنشاء فهرس جديد. بعد ذلك، قم بتحميل القالب:
|
1 |
sudo filebeat setup --template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]' |
يحتوي Filebeat على لوحة معلومات نموذجية لـ Kibana بشكل افتراضي. يساعد ذلك في تصور بيانات Filebeat في Kibana. ومع ذلك، قبل استخدام لوحة المعلومات، من الضروري إنشاء نمط الفهرس وتحميل لوحات المعلومات إلى Kibana. أثناء تحميل لوحات المعلومات، يتصل Filebeat بـ Elasticsearch للحصول على معلومات الإصدار. لتحميل لوحات المعلومات، أثناء تمكين Logstash، يلزم تعطيل مخرجات Logstash وتمكين مخرجات Elasticsearch. سيقوم الأمر التالي بالمهمة:
|
1 |
sudo filebeat setup -e -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601 |
أخيرًا، يمكنك تشغيل Filebeat:
|
1 2 |
sudo systemctl start filebeat sudo systemctl enable filebeat |
الآن، حان الوقت لاختبار تكوين Elastic Stack. إذا تم تكوينه بشكل صحيح، فستبدو المخرجات كالتالي:
|
1 |
curl -XGET 'http://localhost:9200/filebeat-*/_search?pretty' |
إذا أظهرت المخرجات 0 من إجمالي النتائج، فإن Elasticsearch لا يقوم بتحميل أي سجلات تحت الفهرس الذي بحثنا عنه. يشير هذا إلى وجود خطأ في التكوين. إذا كانت المخرجات كما هو متوقع، فقد تم تكوين Elastic Stack بنجاح.
نظرة عامة على لوحات معلومات Kibana
الآن، حان الوقت لاستكشاف واجهة ويب Kibana التي قمنا بتثبيتها بالفعل. أولاً، افتح لوحة معلومات Kibana. يجب أن تكون موجودة على FQDN أو عنوان IP العام لخادم Elastic Stack:
|
1 |
http://<server_ip>:5601 |
أدخل بيانات اعتماد تسجيل الدخول التي قمنا بإنشائها من قبل. بمجرد تسجيل الدخول، ستبدو لوحة المعلومات كالتالي:
من شريط التنقل الأيسر، حدد “Discover”. ثم حدد نمط “filebeat-*”. يعرض هذا جميع السجلات التي تم جمعها على مدار الـ 15 دقيقة الماضية. من الممكن البحث في السجلات وتصفحها وتخصيص لوحة التحكم:
من شريط التنقل الأيسر، انتقل إلى Dashboard >> Filebeat System. هنا، تتوفر جميع لوحات المعلومات النموذجية من وحدة نظام Filebeat.
في المثال التالي، يوضح تفاصيل الإحصاءات المختلفة بناءً على رسائل syslog:
يمكنه أيضًا الإبلاغ عن المستخدمين الذين قاموا بتنفيذ أوامر باستخدام sudo:
أخيرًا، تمنحك Kibana الفرصة لاستكشاف العديد من الوظائف الأخرى مثل الرسم البياني والتصفية، لذا لا تتردد في الاستكشاف بنفسك.
أفكار نهائية
تعد Elastic Stack حلاً قويًا لتحليل سجلات النظام. ضع في اعتبارك أنه على الرغم من إمكانية إرسال أي سجل أو بيانات مفهرسة إلى Logstash باستخدام Beats، إلا أنها تصبح أكثر فائدة عند تحليلها وهيكلتها من خلال مرشحات Logstash.
حوسبة سعيدة!









التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.