المراقبة والملاحظة والاستجابة للحوادث

SLOs وSLIs وميزانيات الأخطاء

4 دقيقة للقراءة

SLOs هي حجر الزاوية في SRE. تُحدد أهداف الموثوقية وتُوجه قرارات الهندسة.

المصطلحات

المصطلح التعريف مثال
SLI مؤشر مستوى الخدمة - ما نقيسه زمن الطلب p99
SLO هدف مستوى الخدمة - هدفنا زمن p99 < 200ms
SLA اتفاقية مستوى الخدمة - عقد 99.9% توفر أو استرداد
ميزانية الأخطاء عدم الموثوقية المسموح 0.1% = 43.8 دقيقة/شهر

التسلسل الهرمي SLI/SLO/SLA

SLA: التزام تعاقدي (خارجي)
 │   "نضمن 99.9% توفر أو نصدر أرصدة"
 └── SLO: هدف داخلي (أصرم من SLA)
      │   "نهدف لـ 99.95% توفر"
      └── SLI: ما نقيسه فعلاً
           "الطلبات الناجحة / إجمالي الطلبات"

SLIs الشائعة

SLI التوفر

# التوفر = الطلبات الناجحة / إجمالي الطلبات
sum(rate(http_requests_total{status!~"5.."}[30d]))
/
sum(rate(http_requests_total[30d]))

# النتيجة: 0.9995 = 99.95% توفر

SLI الزمن

# نسبة الطلبات أسرع من 200ms
sum(rate(http_request_duration_seconds_bucket{le="0.2"}[30d]))
/
sum(rate(http_request_duration_seconds_count[30d]))

# النتيجة: 0.95 = 95% من الطلبات تحت 200ms

SLI الإنتاجية

# الطلبات في الثانية
sum(rate(http_requests_total[5m]))

شرح ميزانيات الأخطاء

ميزانية الأخطاء = 100% - هدف SLO

SLO التوقف المسموح/الشهر ميزانية الأخطاء
99.9% 43.8 دقيقة 0.1%
99.95% 21.9 دقيقة 0.05%
99.99% 4.38 دقيقة 0.01%
99.999% 26 ثانية 0.001%

حساب ميزانية الأخطاء

فترة 30 يوم
SLO: 99.9% توفر
إجمالي الدقائق: 30 × 24 × 60 = 43,200 دقيقة

ميزانية الأخطاء: 43,200 × 0.001 = 43.2 دقيقة توقف

إذا كان لدينا 30 دقيقة توقف:
الميزانية المتبقية: 43.2 - 30 = 13.2 دقيقة (30% متبقية)

استخدام ميزانيات الأخطاء

سياسة ميزانية الأخطاء:

الميزانية > 50% متبقية:
  → أطلق الميزات، خذ مخاطر
  → يمكن التجريب بنشر جديد

الميزانية 25-50% متبقية:
  → تابع بحذر
  → أولوية لعمل الموثوقية

الميزانية < 25% متبقية:
  → تجميد الميزات
  → ركز على الاستقرار
  → تحقق من الأسباب الجذرية

الميزانية استُنفدت:
  → لا نشر جديد
  → الجميع على الموثوقية
  → تحليلات ما بعد الحادث مطلوبة

أفضل ممارسات SLO

اختيار SLOs جيدة

SLO جيد SLO سيء
مبني على تجربة المستخدم مبني على مقاييس تقنية
قابل للقياس والتحقيق صارم جداً أو فضفاض جداً
له عواقب واضحة لا أحد يهتم
يُراجع فصلياً يُضبط ويُنسى

مثال وثيقة SLO

الخدمة: Payment API
المالك: فريق المدفوعات

SLIs:
  - التوفر:
      الوصف: "معاملات الدفع الناجحة"
      القياس: "الردود غير 5xx / إجمالي الردود"
  - الزمن:
      الوصف: "وقت معالجة الدفع"
      القياس: "وقت الاستجابة p99"

SLOs:
  - التوفر:
      الهدف: 99.95%
      النافذة: 30 يوم متدحرج
      العاقبة: "تجميد الميزات إذا تحت 99.9%"
  - الزمن:
      الهدف: "p99 < 500ms"
      النافذة: 30 يوم متدحرج
      العاقبة: "سبرنت أداء إذا تجاوز"

ميزانية الأخطاء:
  - الميزانية_الشهرية: 21.9 دقيقة
  - التنبيه: "استدعاء عند استهلاك 50% في < 7 أيام"
  - التصعيد: "مراجعة المدير عند استهلاك 75%"

SLOs متعددة النوافذ

اكتشف المشاكل في نطاقات زمنية مختلفة:

# احتراق سريع: استهلاك سريع (اكتشاف الانقطاعات)
- النافذة: 1h
  معدل_الاحتراق: 14.4x  # سيستنفد ميزانية 30 يوم في يومين
  التنبيه: استدعاء

# احتراق بطيء: تدهور تدريجي
- النافذة: 6h
  معدل_الاحتراق: 6x     # سيستنفد الميزانية في 5 أيام
  التنبيه: استدعاء

# احتراق بطيء جداً: مشاكل طفيفة
- النافذة: 3d
  معدل_الاحتراق: 1x     # على المسار لاستنفاد الميزانية
  التنبيه: تذكرة

أسئلة المقابلة

س: "كيف تقرر أهداف SLO؟"

  1. ابدأ بتوقعات المستخدم: ما الذي يعتبره المستخدمون "يعمل"؟
  2. خط أساس الأداء الحالي: ماذا نحقق اليوم؟
  3. فكر في احتياجات الأعمال: ما الذي يمكننا تحمل صيانته؟
  4. احسب التبعيات: لا يمكن أن تكون أفضل من أسوأ تبعية
  5. ابدأ محافظاً: التشديد أسهل من التخفيف

س: "فريقك على وشك استنفاد ميزانية الأخطاء. ماذا تفعل؟"

الإجراءات الفورية:
1. أوقف النشر غير الحرج
2. راجع التغييرات الأخيرة لمرشحي التراجع
3. زد حساسية المراقبة
4. وظّف مناوبة إضافية إذا لزم

على المدى القصير:
1. حدد أعلى المساهمين في الأخطاء
2. أصلح المشاكل الأعلى تأثيراً
3. أضف اختبارات لمنع الانحدار

على المدى الطويل:
1. تحليل ما بعد الحادث لاستنفاد الميزانية
2. راجع مناسبة SLO
3. استثمر في تحسينات الموثوقية

س: "كيف تتعامل مع SLOs للتبعيات التي لا تتحكم فيها؟"

الاستراتيجية متى تستخدم
اعكس SLO التبعية التبعية موثوقة بما فيه الكفاية
ضع هدفاً أقل التبعية غير موثوقة
Circuit breaker التدهور السريع مطلوب
متعدد المزودين خدمة حرجة، ميزانية متاحة
التخزين المؤقت/إعادة المحاولة الفشل العابر مقبول

التالي، سنغطي الاستجابة للحوادث—اختبار مهارة SRE النهائي. :::

اختبار

الوحدة 5: المراقبة والملاحظة والاستجابة للحوادث

خذ الاختبار