ديف أوبس

كيفية إيجاد سجلات Redis على أوبنتو

كيفية إيجاد سجلات Redis على نظام أوبنتو: الدليل الكامل للمطورين ومسؤولي الخوادم

تُعد قاعدة البيانات Redis من أشهر قواعد البيانات المستخدمة لتخزين البيانات في الذاكرة (In-memory Data Store)، نظرًا لأدائها العالي وسهولة استخدامها في مجموعة واسعة من التطبيقات. ومع الانتشار الكبير لاعتماد Redis في تطبيقات الويب، والأنظمة الموزعة، والتخزين المؤقت (Caching)، أصبحت القدرة على تتبع سجلات Redis (Logs) على نظام تشغيل أوبنتو أمرًا بالغ الأهمية، سواء لأغراض التصحيح (Debugging)، أو للمراقبة الأمنية، أو لضبط الأداء.

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


مفهوم سجلات Redis

تُعد سجلات Redis ملفات نصية تُسجل فيها معلومات حيوية عن سير عمل الخادم، بدءًا من العمليات الأساسية مثل التشغيل والإيقاف، مرورًا بالأوامر المرسلة من العملاء، وصولًا إلى الأخطاء والمشكلات التي قد تواجه الخدمة.

تمكّن هذه السجلات مسؤولي الأنظمة والمطورين من:

  • تتبع الأحداث والأخطاء.

  • تشخيص مشاكل الأداء أو الاتصال.

  • مراقبة نشاط المستخدمين.

  • التحقيق في الأنشطة المشبوهة أو محاولات الاختراق.

  • التأكد من استقرار الخدمة وسلامتها التشغيلية.


الموقع الافتراضي لسجلات Redis على أوبنتو

بشكل افتراضي، يتم تحديد موقع السجل في ملف الإعدادات الخاص بـ Redis والذي يُعرف بـ redis.conf. هذا الملف يُستخدم لتكوين إعدادات الخادم عند بدء التشغيل، ويحتوي على إعداد خاص بمكان حفظ السجلات يعرف باسم logfile.

المسار الافتراضي للسجل على معظم توزيعات أوبنتو الحديثة يكون:

pgsql
/var/log/redis/redis-server.log

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

للتحقق من المسار الحالي، يمكنك استخدام الأمر:

bash
grep logfile /etc/redis/redis.conf

إذا كانت القيمة هي "" (فارغة)، فهذا يعني أن Redis سيستخدم النظام القياسي لتسجيل السجلات (مثل systemd أو syslog)، ولن يُخزن أي ملف خارجي مخصص للسجلات.


قراءة سجلات Redis

بعد التأكد من مكان السجل، يمكن قراءة محتواه باستخدام أدوات سطر الأوامر القياسية على أوبنتو:

bash
sudo less /var/log/redis/redis-server.log

أو لمتابعة السجلات مباشرةً في الزمن الحقيقي:

bash
sudo tail -f /var/log/redis/redis-server.log

إذا لم يظهر شيء أو لم يكن الملف موجودًا، فمن المرجح أن Redis يستخدم systemd لتسجيل سجلاته، وهو النظام المعتمد حديثًا في معظم توزيعات لينكس.


استخدام journalctl لعرض سجلات Redis

في حال كانت Redis تعمل كخدمة خاضعة لإدارة systemd، يمكن استخدام journalctl لاستعراض السجلات مباشرةً دون الحاجة إلى ملفات خارجية:

bash
sudo journalctl -u redis

لعرض السجلات الحديثة فقط:

bash
sudo journalctl -u redis --since "1 hour ago"

أو لمتابعة السجلات الحية في الزمن الفعلي:

bash
sudo journalctl -u redis -f

تتمثل ميزة استخدام journalctl في أنه يدعم عمليات الفلترة والتاريخ، ويحتوي على طوابع زمنية دقيقة تسهّل تتبع الأخطاء ومعرفة متى وقعت.


كيفية تفعيل أو تغيير موقع السجلات في redis.conf

لضبط Redis على حفظ السجلات في ملف معين (أو تغيير المسار)، يجب تعديل ملف الإعدادات:

bash
sudo nano /etc/redis/redis.conf

ثم البحث عن السطر:

pgsql
logfile /var/log/redis/redis-server.log

ويمكن تعديله إلى أي مسار ترغب فيه، شريطة أن يمتلك المستخدم redis صلاحيات الكتابة في هذا المسار.

بعد حفظ التغييرات، يجب إعادة تشغيل الخدمة:

bash
sudo systemctl restart redis

التحكم في مستوى التفاصيل في السجلات (Log Level)

يدعم Redis تحديد مستوى التفاصيل في السجلات من خلال خيار loglevel في ملف الإعدادات. القيم الممكنة هي:

  • debug: يعرض كل التفاصيل، مناسب لبيئات التطوير.

  • verbose: معلومات مفصلة نسبياً، مناسبة لمعظم الاستخدامات.

  • notice: الوضع الافتراضي، يعرض المعلومات العامة فقط.

  • warning: يعرض فقط التحذيرات والأخطاء.

مثال على التعديل:

nginx
loglevel verbose

بعد الحفظ، يجب إعادة تشغيل الخدمة.


التعامل مع سجل النظام rsyslog (في حال التفعيل)

في بعض البيئات، يمكن إعداد Redis لكتابة السجلات إلى نظام syslog. لتفعيل هذا الخيار، تأكد من وجود الإعداد التالي في ملف redis.conf:

bash
syslog-enabled yes syslog-ident redis

في هذه الحالة، سيتم إرسال السجلات إلى /var/log/syslog أو إلى ملف مخصص حسب إعدادات rsyslog.

لعرض السجلات المرسلة إلى syslog:

bash
grep redis /var/log/syslog

أو باستخدام journalctl بطريقة أكثر كفاءة:

bash
journalctl SYSLOG_IDENTIFIER=redis

تغيير أذونات ملف السجلات

في حال لم يتم إنشاء السجل أو ظهرت أخطاء تفيد بعدم القدرة على الكتابة، تأكد من صلاحيات الملف أو المجلد:

bash
sudo chown redis:redis /var/log/redis sudo chmod 755 /var/log/redis

تفعيل التدوير التلقائي للسجلات (Log Rotation)

لمنع تضخم ملفات السجلات، من الأفضل إعداد نظام التدوير باستخدام logrotate. يمكن إنشاء ملف جديد:

bash
sudo nano /etc/logrotate.d/redis

ومثال على المحتوى:

bash
/var/log/redis/*.log { daily rotate 7 compress missingok notifempty create 640 redis adm postrotate systemctl reload redis > /dev/null endscript }

جدول شامل لتلخيص المسارات والأوامر المتعلقة بسجلات Redis على أوبنتو

الوظيفة الأمر أو المسار
موقع السجل الافتراضي /var/log/redis/redis-server.log
عرض السجل less /var/log/redis/redis-server.log
متابعة السجل الحي tail -f /var/log/redis/redis-server.log
عرض السجلات عبر systemd journalctl -u redis
عرض السجلات مع طابع زمني journalctl -u redis --since "1 hour ago"
البحث داخل syslog grep redis /var/log/syslog
تغيير مسار السجل تعديل logfile في /etc/redis/redis.conf
تغيير مستوى التسجيل تعديل loglevel إلى `debug
إعداد التدوير التلقائي ملف redis داخل /etc/logrotate.d/

أهمية السجلات في إدارة Redis في بيئة الإنتاج

في بيئات الإنتاج، لا يمكن تجاهل دور السجلات في:

  • تشخيص أعطال الأداء: عند بطء Redis أو عند حدوث ارتفاع مفاجئ في الذاكرة، توفر السجلات تفاصيل حول النشاطات الجارية.

  • التحقيق الأمني: يمكن للسجلات المساعدة في كشف محاولات الوصول غير المشروع أو الهجمات.

  • مراجعة أوامر المستخدمين: تسجل Redis أوامر معينة تتيح للمشرف معرفة ما إذا كانت هناك عمليات غير معتادة تُنفذ.

  • الامتثال للتشريعات: في بعض الصناعات، يُطلب الاحتفاظ بسجلات مفصلة لأسباب قانونية أو محاسبية.


الاستفادة من أدوات المراقبة الخارجية

يمكن دمج Redis مع أدوات مراقبة مثل Prometheus أو Grafana، لكن حتى مع هذه الأدوات، تظل السجلات المصدر الأساسي للحقائق الدقيقة في حال وقوع خلل.

كذلك يمكن استخدام أدوات مثل Filebeat لإرسال سجلات Redis إلى Elasticsearch أو Kibana لمزيد من التحليل المرئي والتاريخي.


الخلاصة

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


المراجع