تحليل سجلات السيرفر: كيف تقرأ الـ logs

access.log، error.log، syslog — كل سجل يحكي قصة. نشرح كيف تقرأ وتحلل سجلات السيرفر لاكتشاف المشاكل.
ما أهمية تحليل سجلات السيرفر؟
سجلات السيرفر (Server Logs) هي الصندوق الأسود لتطبيقك. كل طلب، كل خطأ، كل محاولة اختراق، كل عملية — كلها مسجّلة. المشكلة: معظم المطورين لا يقرأون السجلات إلا بعد ما تقع المشكلة. لو تعلّمت تقرأ السجلات بشكل دوري، تكتشف المشاكل قبل ما تتحول لأزمات.
هذا الدليل يشرح أنواع السجلات الرئيسية، وكيف تقرأها، وكيف تستخرج منها معلومات قيّمة.
أنواع السجلات الرئيسية
| نوع السجل | المسار الافتراضي | المحتوى |
|---|---|---|
| سجل نظام التشغيل | /var/log/syslog أو /var/log/messages | أحداث النظام والخدمات |
| سجل المصادقة | /var/log/auth.log | محاولات تسجيل الدخول (SSH, sudo) |
| سجل Nginx Access | /var/log/nginx/access.log | كل طلب HTTP وارد |
| سجل Nginx Error | /var/log/nginx/error.log | أخطاء خادم الويب |
| سجل MySQL | /var/log/mysql/error.log | أخطاء قاعدة البيانات |
| سجل التطبيق | storage/logs/ (Laravel) | أخطاء واستثناءات التطبيق |
قراءة سجل الوصول (Access Log)
كل سطر في سجل الوصول يحتوي معلومات قيّمة. هذا مثال لسطر واحد من Nginx:
192.168.1.1 - - [25/Mar/2026:10:15:30 +0300] "GET /api/users HTTP/1.1" 200 1534 "https://example.com" "Mozilla/5.0..."
- 192.168.1.1: عنوان IP الزائر
- [25/Mar/2026:10:15:30]: التاريخ والوقت
- "GET /api/users HTTP/1.1": نوع الطلب والمسار
- 200: رمز الاستجابة (200 = نجاح)
- 1534: حجم الاستجابة بالبايت
- Mozilla/5.0...: معلومات المتصفح
رموز الاستجابة المهمة
| الرمز | المعنى | الإجراء |
|---|---|---|
| 200 | نجاح | لا شيء |
| 301/302 | إعادة توجيه | تأكد إنها مقصودة |
| 403 | ممنوع الوصول | تحقق من الصلاحيات |
| 404 | الصفحة غير موجودة | أصلح الروابط المكسورة |
| 500 | خطأ داخلي في السيرفر | راجع سجل الأخطاء فوراً |
| 502 | Bad Gateway | التطبيق الخلفي لا يستجيب |
| 503 | الخدمة غير متاحة | السيرفر مُحمّل فوق طاقته |
أوامر تحليل أساسية
أكثر 10 صفحات زيارة
استخدم الأمر التالي لاستخراج أكثر الصفحات زيارة من سجل Nginx:
awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -10
أكثر 10 عناوين IP
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -10
عدد الأخطاء 500 في الساعة الأخيرة
awk '$9 == 500' access.log | wc -l
محاولات SSH الفاشلة
grep "Failed password" /var/log/auth.log | tail -20
أدوات تحليل متقدمة
GoAccess
أداة تحليل سجلات في الطرفية مع واجهة ويب اختيارية:
- تحليل فوري لملفات السجل
- لوحة تحكم تفاعلية في الطرفية
- تقارير HTML قابلة للمشاركة
- خفيف جداً — يعالج ملايين الأسطر في ثوانٍ
ELK Stack (Elasticsearch + Logstash + Kibana)
الحل الأكثر قوة لتحليل السجلات على نطاق واسع:
- Logstash: يجمع السجلات من مصادر متعددة ويعالجها
- Elasticsearch: يخزّن ويفهرس السجلات للبحث السريع
- Kibana: واجهة بصرية للبحث وإنشاء لوحات تحكم
- ملاحظة: يحتاج RAM كبير (8GB كحد أدنى للمكدس كاملاً)
Loki + Grafana
بديل خفيف لـ ELK من Grafana Labs:
- لا يفهرس المحتوى — يفهرس البيانات الوصفية فقط (أرخص بكثير)
- يتكامل مع Grafana الموجود لديك
- مناسب لبيئات Kubernetes والحاويات
ماذا تراقب في السجلات يومياً؟
- أخطاء 500: أي زيادة مفاجئة تعني مشكلة في الكود أو قاعدة البيانات
- أخطاء 404 المتكررة: روابط مكسورة تضر بتجربة المستخدم و SEO
- محاولات تسجيل دخول فاشلة: إشارة محتملة لمحاولة اختراق
- استعلامات بطيئة: MySQL Slow Query Log يكشف الاستعلامات التي تحتاج تحسين
- حجم السجلات: سجلات تنمو بسرعة غير طبيعية تعني مشكلة
إدارة السجلات (Log Rotation)
السجلات تتراكم وتملأ القرص لو لم تُدار. أداة logrotate تدير هذا تلقائياً:
- ضغط السجلات القديمة (gzip)
- حذف السجلات بعد فترة محددة (مثلاً 30 يوماً)
- تدوير يومي أو أسبوعي حسب الحجم
- تأكد إن logrotate مُعَد لكل خدمة: Nginx, MySQL, التطبيق
نصائح أمنية
- لا تعرض السجلات للعامة (تحقق من صلاحيات الملفات)
- أرسل نسخة من السجلات لسيرفر خارجي (في حالة الاختراق، السجلات المحلية قد تُحذف)
- فعّل مراقبة تلقائية على أنماط معينة (مثلاً: أكثر من 100 محاولة SSH فاشلة في ساعة)
تحليل السجلات على كلاود
سيرفرات كلاود (cloud.net.sa) تمنحك صلاحيات root كاملة لتثبيت وإعداد أي نظام تحليل سجلات تحتاجه. سواء GoAccess البسيط أو ELK Stack الكامل، البنية جاهزة لك. فريق كلاود يساعد مطوّرك في إعداد نظام السجلات المناسب ضمن جلسات التوجيه الفني المجانية.
تعلّم قراءة السجلات مهارة أساسية لكل مطور ومدير سيرفر. ابدأ بالأوامر البسيطة (grep, awk, tail)، ثم تدرّج نحو الأدوات المتقدمة حسب حجم بيئتك. المهم: اقرأ سجلاتك كل يوم، حتى لو لمدة 5 دقائق. ستكتشف أشياء لم تكن تعرف عنها.
--- ### ابدأ الآن تبي تجرب بنفسك؟ اختر باقة الاستضافة المناسبة أو صمم سيرفرك الخاص بالمواصفات اللي تبيها.