كلاود
أدلة

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

كلاود|١١ يناير ٢٠٢٦|4 دقائق قراءة|٥١١ مشاهدة
تحليل سجلات السيرفر: كيف تقرأ الـ 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خطأ داخلي في السيرفرراجع سجل الأخطاء فوراً
502Bad 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 والحاويات

ماذا تراقب في السجلات يومياً؟

  1. أخطاء 500: أي زيادة مفاجئة تعني مشكلة في الكود أو قاعدة البيانات
  2. أخطاء 404 المتكررة: روابط مكسورة تضر بتجربة المستخدم و SEO
  3. محاولات تسجيل دخول فاشلة: إشارة محتملة لمحاولة اختراق
  4. استعلامات بطيئة: MySQL Slow Query Log يكشف الاستعلامات التي تحتاج تحسين
  5. حجم السجلات: سجلات تنمو بسرعة غير طبيعية تعني مشكلة

إدارة السجلات (Log Rotation)

السجلات تتراكم وتملأ القرص لو لم تُدار. أداة logrotate تدير هذا تلقائياً:

  • ضغط السجلات القديمة (gzip)
  • حذف السجلات بعد فترة محددة (مثلاً 30 يوماً)
  • تدوير يومي أو أسبوعي حسب الحجم
  • تأكد إن logrotate مُعَد لكل خدمة: Nginx, MySQL, التطبيق

نصائح أمنية

  • لا تعرض السجلات للعامة (تحقق من صلاحيات الملفات)
  • أرسل نسخة من السجلات لسيرفر خارجي (في حالة الاختراق، السجلات المحلية قد تُحذف)
  • فعّل مراقبة تلقائية على أنماط معينة (مثلاً: أكثر من 100 محاولة SSH فاشلة في ساعة)

تحليل السجلات على كلاود

سيرفرات كلاود (cloud.net.sa) تمنحك صلاحيات root كاملة لتثبيت وإعداد أي نظام تحليل سجلات تحتاجه. سواء GoAccess البسيط أو ELK Stack الكامل، البنية جاهزة لك. فريق كلاود يساعد مطوّرك في إعداد نظام السجلات المناسب ضمن جلسات التوجيه الفني المجانية.

تعلّم قراءة السجلات مهارة أساسية لكل مطور ومدير سيرفر. ابدأ بالأوامر البسيطة (grep, awk, tail)، ثم تدرّج نحو الأدوات المتقدمة حسب حجم بيئتك. المهم: اقرأ سجلاتك كل يوم، حتى لو لمدة 5 دقائق. ستكتشف أشياء لم تكن تعرف عنها.

--- ### ابدأ الآن تبي تجرب بنفسك؟ اختر باقة الاستضافة المناسبة أو صمم سيرفرك الخاص بالمواصفات اللي تبيها.
مشاركة