تثبيت Graylog على أوبنتو واستخدامه لتحليل السجلات (Logs)
الكلمات المفتاحية: Graylog, أوبنتو, تحليل السجلات, إدارة السجلات, ELK, Log Management, Logging System, Elasticsearch, MongoDB, Open Source Logging, SIEM
تُعَدّ أنظمة تحليل السجلات (Logs) أحد الركائز الأساسية في تأمين الأنظمة ومراقبة أدائها وتحليل الحوادث في بيئات العمل الحديثة. من بين أشهر هذه الأنظمة وأكثرها كفاءة هو نظام Graylog، الذي يوفّر واجهة مرنة وسهلة الاستخدام لتجميع وتحليل السجلات في الوقت الحقيقي، مما يساعد مسؤولي الأنظمة وأمن المعلومات على رصد التغيرات والتحذير من الأنشطة غير الاعتيادية. يُعتمد Graylog بشكل واسع في بيئات المؤسسات لما يقدمه من خصائص متميزة مثل البحث المتقدم، التصفية، التنبيهات، التكامل مع أدوات أخرى، وتوسعة قابليته للإدارة والتحليل.
في هذا المقال الموسع، سيتم استعراض كيفية تثبيت Graylog على توزيعة أوبنتو Ubuntu، وتهيئة بيئة العمل الخاصة به، مع شرح مفصل لكيفية استخدامه لتحليل السجلات بكفاءة. سنتناول المكونات الأساسية التي يحتاجها النظام للعمل، والخطوات التفصيلية لتثبيته، وأخيرًا كيفية إرسال السجلات إليه وتحليلها بفعالية.
نظرة عامة على Graylog
Graylog هو منصة مفتوحة المصدر لإدارة وتحليل السجلات، تم تصميمه لتخزين كميات ضخمة من بيانات السجلات القادمة من مصادر مختلفة مثل الخوادم، الأجهزة الشبكية، تطبيقات الويب، قواعد البيانات، وغيرها. يعتمد Graylog في بنيته التحتية على عدد من الأدوات الأخرى:
-
MongoDB: قاعدة بيانات NoSQL تستخدم لتخزين البيانات الوصفية والتكوينات.
-
Elasticsearch: محرك بحث وتحليل يستعمل لتخزين واسترجاع بيانات السجلات.
-
Graylog Server: المعالج الرئيسي للبيانات.
-
Web Interface: لوحة تحكم رسومية لتصفح وتحليل السجلات.
متطلبات النظام لتثبيت Graylog على أوبنتو
قبل بدء عملية التثبيت، يجب التأكد من توفر المتطلبات التالية:
-
نظام تشغيل Ubuntu 20.04 LTS أو إصدار أحدث.
-
معالج رباعي النواة على الأقل.
-
ذاكرة RAM لا تقل عن 4 غيغابايت (موصى به 8 غيغابايت أو أكثر).
-
مساحة تخزين كافية (اعتمادًا على حجم السجلات المتوقعة).
-
اتصال بالإنترنت لتنزيل الحزم والتحديثات.
-
صلاحيات Root أو حساب مستخدم مع امتيازات sudo.
خطوات تثبيت Graylog على أوبنتو
1. تحديث النظام وتثبيت الحزم الأساسية
bashsudo apt update && sudo apt upgrade -y sudo apt install apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen curl gnupg2 -y
ملاحظة: يستخدم Graylog إصدار Java 11. لذلك نستخدم JRE المناسب.
2. تثبيت MongoDB
MongoDB ضروري لتخزين بيانات التكوين الخاصة بـ Graylog.
bashwget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
3. تثبيت Elasticsearch
يُستخدم Elasticsearch لتخزين وتحليل السجلات:
bashwget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install -y elasticsearch
قم بتعديل ملف التكوين:
bashsudo nano /etc/elasticsearch/elasticsearch.yml
أضف أو عدّل القيم التالية:
yamlcluster.name: graylog
action.auto_create_index: false
بعد ذلك:
bashsudo systemctl daemon-reexec
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
4. تثبيت Graylog
أضف المستودع الرسمي:
bashwget https://packages.graylog2.org/repo/packages/graylog-5.1-repository_latest.deb sudo dpkg -i graylog-5.1-repository_latest.deb sudo apt update sudo apt install graylog-server -y
5. إعداد كلمة مرور المسؤول وتكوين Graylog
استخدم الأمر التالي لإنشاء كلمة مرور مشفرة:
bashpwgen -N 1 -s 96
ثم:
bashecho -n yourpassword | sha256sum
افتح ملف التكوين:
bashsudo nano /etc/graylog/server/server.conf
وحرر القيم التالية:
inipassword_secret = <ناتج أمر pwgen>
root_password_sha2 = <ناتج أمر sha256sum>
root_username = admin
root_email = [email protected]
http_bind_address = 0.0.0.0:9000
ثم:
bashsudo systemctl enable graylog-server
sudo systemctl start graylog-server
بعد ثوانٍ، ستتمكن من الوصول إلى واجهة Graylog من خلال المتصفح عبر:
cpphttp://:9000
إرسال السجلات إلى Graylog
للاستفادة من Graylog، يجب إعداد مدخلات (Inputs) لتلقي السجلات من الأنظمة الأخرى. يدعم Graylog العديد من البروتوكولات:
-
Syslog (UDP/TCP)
-
GELF (Graylog Extended Log Format)
-
Beats (مثل Filebeat)
-
HTTP JSON Inputs
مثال: استخدام Filebeat لإرسال السجلات
-
تثبيت Filebeat:
bashsudo apt install filebeat -y
-
تعديل الإعدادات:
bashsudo nano /etc/filebeat/filebeat.yml
أضف التالي في قسم output:
yamloutput.logstash:
hosts: ["graylog_ip:5044"]
-
تشغيل Filebeat:
bashsudo systemctl enable filebeat
sudo systemctl start filebeat
وفي Graylog، قم بإنشاء input من نوع Beats على المنفذ 5044.
تحليل السجلات باستخدام واجهة Graylog
بمجرد استلام السجلات، يمكن البدء في استعراضها من خلال الواجهة الرسومية. يتميز Graylog بعدة وظائف تحليلية:
1. البحث والاستعلامات
يتيح Graylog كتابة استعلامات باستخدام لغة مشابهة لـ Lucene. يمكن تصفية السجلات حسب المصدر، المستوى، الرسالة، الوقت، وغيرها.
2. إنشاء لوحات تحكم (Dashboards)
من خلال تحديد الرسوم البيانية والمعايير، يمكن إعداد لوحات لعرض مؤشرات الأداء أو تنبيهات الأمان في الزمن الحقيقي.
3. إعداد التنبيهات
عبر Graylog يمكن إنشاء تنبيهات ترسل إشعارات عبر البريد الإلكتروني، Slack أو HTTP webhook عند تحقق شروط محددة مثل زيادة عدد الأخطاء أو ظهور أنماط مشبوهة.
مقارنة Graylog مع أنظمة أخرى (مثل ELK Stack)
| المعيار | Graylog | ELK Stack |
|---|---|---|
| واجهة المستخدم | بسيطة وسهلة الاستخدام | معقدة نسبيًا |
| الأداء مع البيانات الكبيرة | جيد جدًا مع التكوين الصحيح | ممتاز لكنه يستهلك موارد أكبر |
| دعم التنبيهات | متقدم ومبني ضمن النظام | يتطلب تثبيت Watcher أو أدوات إضافية |
| إدارة التكوين | مركزي وسهل من خلال الواجهة | غالبًا يعتمد على ملفات YAML |
| التثبيت | أبسط نسبيًا | أكثر تعقيدًا |
استخدامات متقدمة في Graylog
-
Pipeline Processing: لتعديل محتوى السجلات قبل تخزينها.
-
Extractors: لاستخراج البيانات من السجلات وتحويلها إلى حقول قابلة للتحليل.
-
Lookup Tables: لتغذية الحقول من قواعد بيانات خارجية أو ملفات.
الحماية وتقييد الوصول
من الأفضل تأمين الوصول إلى واجهة Graylog باستخدام HTTPS عبر Nginx أو Apache كمُوجّه عكسي (Reverse Proxy). كما يجب إنشاء أدوار وصلاحيات تحدد من يمكنه عرض السجلات أو تعديل التكوينات.
النسخ الاحتياطي واستعادة البيانات
ينبغي بشكل دوري عمل نسخ احتياطية من:
-
ملفات تكوين Graylog
-
قواعد بيانات MongoDB
-
مؤشرات Elasticsearch
يمكن استخدام أدوات مثل mongodump و elasticdump للنسخ الاحتياطي.
الخلاصة
يمثل Graylog حلاً موثوقًا ومفتوح المصدر لتحليل السجلات في البيئات الحديثة، بفضل تكامله مع أدوات قوية مثل Elasticsearch و MongoDB، ودعمه لبروتوكولات متعددة لتجميع السجلات، وواجهته الرسومية الفعالة. يتيح لمتخصصي تقنية المعلومات مراقبة الأنظمة، تحليل الأداء، واكتشاف المشكلات الأمنية بسرعة وكفاءة، مما يجعله أداة أساسية في مراكز البيانات والمؤسسات الرقمية.
المراجع:

