SLO/SLA والمقاييس
SLO/SLA والمقاييس
1) المصطلحات والتسلسل الهرمي
SLI (مؤشر مستوى الخدمة) - مؤشر قابل للقياس «كما يرانا المستخدم»: حصة الطلبات الناجحة، وكمون p95، ونضارة البيانات، وحصة الدفعات المعالجة بنجاح، وما إلى ذلك.
SLO (هدف مستوى الخدمة) - استهداف قيمة SLI في فترة المراقبة (28/30/90 أيام). مثال: "99. 9٪ من الطلبات/الدفع تنتهي ≤ 400 مللي ثانية"
ميزانية الخطأ - 1 − SLO. في SLO 99. 9٪ ميزانية خطأ = 0. 1٪ من الوقت/الطلبات.
SLA (اتفاق) - مستوى الخدمة المهم قانونًا: يشمل SLO والقياس والاستثناءات والتعويضات/الغرامات.
2) مبادئ التصميم
الأعراض> المقاييس الداخلية. يجب أن تعكس SLIs تجربة المستخدم الفعلية.
عدد قليل من SLIs الرئيسية. للخدمة - 2-5 رئيسية: النجاح، زمن الكمون، الإنتاجية/النضارة، الصواب.
تغطية المسارات الحرجة. لكل سيناريو عمل (الخروج، تسجيل الدخول، خطاف الويب، تنزيل ETL) مجموعة خاصة به من SLI/SLO.
دلالات «النجاح» الصارمة. ليس «رمز 200»، ولكن «المستخدم تلقى استجابة في الوقت المحدد والنتيجة صالحة».
الفصل بين المنظمات الخارجية والداخلية. داخلي - أكثر صرامة ؛ ≤ جيش تحرير السودان الخارجي 1-2 تسعة أقل.
3) فهرس SLI (مرجع)
3. 1 API/الخدمات عبر الإنترنت
النجاح: 'SLI _ success = 1 − (5xx + timeout + business_error )/ all_requests'
زمن الوصول: p95/p99 "http _ server _ termation _ seconds' حسب المسار/الطريقة/المستأجر
عرض النطاق الترددي: «RPS »/الحدود/الحصص
الصواب: نسبة الردود الصحيحة (التوقيعات، المخططات، الثوابت)
3. 2 خطافات ويب/عمليات تسليم غير متزامنة
التسليم: نسبة الأحداث المؤكدة في ثواني T و ≤ N
العملاء: النسبة المئوية للمشتركين دون تأخير طويل (لكل مستأجر)
3. 3 بيانات/ETL/DWH
النضارة: 'الآن − last_successful_ingest_ts'
الاكتمال: "ابتلع _ صفوف/ expected_rows'
الصواب: نسبة السجلات التي اجتازت فحوصات الجودة
خطوط الأنابيب: حصة الوظائف المكتملة قبل الموعد النهائي
3. 4 محمول/عميل SDKs
نجاح العميل: نسبة الجلسات دون أخطاء فادحة
زمن الانتقال ذهابا وإيابا: p95 من الطلب إلى العرض
ضربات ذاكرة التخزين المؤقت: النسبة المئوية المقدمة من ذاكرة التخزين المؤقت (كعرض من أعراض الأداء)
4) صيغ وأمثلة للأهداف
التوافر (عند الطلب):- 'SLI _ req _ avail = 1 − (failed_requests/ total_requests)'
- 'SLO _ req _ avail = 99. 95٪ 'لمدة 30 يومًا → ميزانية الخطأ = 0. 05٪ من الطلبات.
- وقت التشغيل = (obs_window − وقت التوقف )/ obs_window'
- 'SLO _ latency = p95 (الطريق = «/pay ») ≤ 400 ms' على شرائح مدتها 7 أيام، باستثناء عمليات الإحماء المخبأة (1٪)
- «SLO _ freshness (مجموعة البيانات =» الطلبات «) ≤ 10 دقائق» p99 في 24 ساعة.
5) خطأ في إدارة الميزانية والتغيير
الميزانية (باء): 'B = 1 − SLO'.
الحرق - نسبة الأخطاء الفعلية إلى الأخطاء المسموح بها.
- الإنفاق الزائد (حرق> 1) → تجميد الميزة، والتركيز على الموثوقية.
- بمعدل حرق> X في نافذة قصيرة - حادث وقبعة. تدابير.
- التخطيط: ترتبط حصة العدو السريع من الموثوقية بالحرق خلال الفترة الماضية.
6) التنبيه: معدل الحرق وقواعد النوافذ المتعددة
الفكرة: نلتقط تسريبات سريعة وانجراف بطيء.
مثال (SLO 99. 9٪، الميزانية 0. 1%):- حرج: «2٪ ميزانية في ساعة 1» (نار سريعة).
- تحذير: «5٪ من الميزانية في 6 ساعات» (تدهور زاحف).
- نافذة قصيرة (دقيقة ساعة) للحوادث السريعة.
- نافذة طويلة (6-24 ساعة) للاتجاهات.
- Latency: alert by p99> threshold ≥5 min, with supplication of fling and communication with trace internationals.
error_ratio_5m = errors[5m] / requests[5m]
error_ratio_1h = errors[1h] / requests[1h]
burn_5m = error_ratio_5m / error_budget_fraction burn_1h = error_ratio_1h / error_budget_fraction alert_critical if burn_1h > 14 and burn_5m > 14 alert_warning if burn_6h > 6 and burn_30m > 6
7) تعدد المستأجرين والتجزئة
يتم احتساب SLI/SLO وفقًا للمستأجرين/الخطط/المناطق، وإلا فإن المتوسط «سيتستر» على الإخفاقات.
الحد الأدنى لعدد الأحداث ذات الأهمية الإحصائية (قضبان الحراسة).
يمكن أن يختلف SLA في التعريفات (على سبيل المثال، "Pro 99. 9٪، 99 مجانًا. 5%»).
8) الارتباط مع إمكانية الرصد والآثار
مقاييس SLI - من المخططات/العدادات ذات النماذج → الانتقال إلى المسارات «السيئة».
السجلات هي مصدر الأسباب: المهلة، ورموز خطأ العمل، والحدود.
للبيانات - رابط مع النسب: «أي وظيفة أخرت مقياس النضارة».
9) العقود واتفاقات الخدمات
محتوى SLA:- تعاريف SLI/طريقة القياس/النوافذ.
- الاستثناءات (العمل المقرر والقوة القاهرة).
- إجراءات الحوادث والاتصال (صفحة الحالة، RFO/RCA).
- أرصدة الخدمة وأمر الطلب.
- الاختصاص، فترة الصلاحية، شروط التنقيح.
- لا تعد علنًا بأن SLOs أكثر صرامة مما تسمح به البنية والممارسات التشغيلية.
- :: منفصلة عن المنظمات المحلية واتفاقات الأمن الخارجية.
10) التكلفة وتحديد الأولويات
سعر nines لا ينمو خطيا. «99. 9% → 99. 99٪" = فئة بنية مختلفة (N + 1، متعدد المناطق، الأصول إلى الأصول).
ضع SLOs على إجراءات المستخدم الأكثر قيمة.
التحكم في تكلفة القياس عن بعد - التقليل من الحجم والحصص والنسخة المقلدة والتخزين حسب الفئة.
11) الإجراءات والإبلاغ
التقارير الأسبوعية: تنفيذ SLO حسب الخدمة/المستأجر، نفقات الميزانية، الأسباب الرئيسية، خطط التحسين.
RCA بعد الحادث: نحن نرتبط بأجزاء من الميزانية ؛ نضع مهام للقضاء على الأسباب الجذرية.
Fichfriz: including/production standards.
12) القوالب (لبداية سريعة)
12. 1 بطاقة SLO (مثال)
Service: Checkout API
SLI:
success: 1 - (5xx+timeouts+biz_failures)/all latency_p95: p95(http_server_duration_seconds{route="/pay"})
SLO:
success: 99. 95% / 30d latency_p95: ≤ 400ms / 7d
Windows:
primary: 30d rolling secondary: 7d rolling
Burn Alerts:
critical: use 1h/5m > 14 warning: use 6h/30m > 6
Owner: Team Checkout
Tenancy: per-tenant (≥ 1k req/day threshold)
Dashboards: RED + trace exemplars
12. 2 جدول نضج SLO
13) أمثلة على القواعد (الشظايا)
PromQL - النجاح/الأخطاء/زمن الانتقال:promql
Error rate (5xx + timeout) for the sum (rate (http_requests_total{route="/pay",code=~"5. route. 599"}[5m]))
/ sum(rate(http_requests_total{route="/pay"}[5m]))
p99 histogram_quantile latency (0. 99, sum(rate(http_server_duration_seconds_bucket{route="/pay"}[5m])) by (le))
معدل حرق التنبيه (فكرة القواعد):
promql error_budget_fraction = 0. 001 for 99. 9%
(err_rate_5m / 0. 001 > 14) and (err_rate_1h / 0. 001 > 14) # critical
(err_rate_30m / 0. 001 > 6) and (err_rate_6h / 0. 001 > 6) # warning
نضارة البيانات:
promql
Data order lag (minutes)
(max(time()) - max(last_ingest_ts_seconds{dataset="orders"})) / 60
14) SLO للبيانات و ML (ميزات)
SLOs البيانات من البداية إلى النهاية: نضارة p99، اكتمال p99، وقت «إعادة المعالجة» بعد الانهيار.
عقود البيانات: المخططات المتوقعة، والمجلدات، والمواعيد النهائية ؛ انتهاك البيانات → الحادث.
ML: SLO لوقت الاستدلال، SLA لتوافر الميزات، مراقبة الانجراف (جودة النموذج موضوع منفصل، خارج SLA).
15) التكامل مع الأمن والخصوصية
سجلات SLI بدون PII/أسرار ؛ ترميز/إخفاء.
إجراء تغييرات في مراجعة حسابات موظفي الشؤون الخارجية/اتحادات الخدمات والإبلاغ عن المنشورات في سجلات غير قابلة للتغيير.
بالنسبة للمسارات التنظيمية (المدفوعات/PII) - SLOs منفصلة وأكثر صرامة.
16) القوائم المرجعية
قبل بدء الخدمة/الميزات
- تحديد SLIs النجاح/الكمون/الإنتاجية/النضارة.
- تحديد المدار البعيد والنوافذ ؛ يتم حساب ميزانية الخطأ.
- حدد تنبيهات معدل الحرق (قصيرة + طويلة).
- لوحات القيادة RED + نماذج → الطرق ؛ الحوادث الجارية.
- أقسام الإيجار المتعدد وعتبات الأهمية.
- إجراء التجميد والإبلاغ.
عملية
- تقرير SLO/Burn الأسبوعي، خطط التشدد.
- إعادة تقييم SLO عندما تتغير العمارة/التحميل.
- «حوادث الحفر» الدورية وتحديثات runibook.
- رصد تكلفة القياس عن بعد وعدد SLI.
17) Runbook'и
كتاب التشغيل: النمو السريع p99/الأجر
1. تنبيه p99> عتبة → فتح لوحة القيادة → الذهاب عبر نموذج لتتبع.
2. ابحث عن نطاق CLIENT/SERVER ضيق، قارن المناطق/الإصدارات.
3. تمكين التحلل (مخبأ/حد/احتياطي)، إخطار أمر التبعية.
4. بعد التثبيت - RCA، مهام التحسين، تحديث قياسات SLO.
كتيب التشغيل: نفقات الميزانية> 50٪ للأسبوع
1. تجميد الميزات، رفع أولوية الموثوقية.
2. تجميع الأخطاء: حسب الطرق/المستأجرين/المعالين.
3. طرح التصحيحات → تأكيد تعافي الاتجاه.
4. تعديل بأثر رجعي وتنبيه/عتبة.
18) الأسئلة الشائعة
س: كم عدد SLOs التي تحتاجها ؟
ج: الحد الأدنى من سيناريوهات المستخدم الحرجة: النجاح + زمن الوصول. كل شيء آخر خارج عن الضرورة.
س: أيهما أفضل - التوافر حسب الوقت أو بالطلب ؟
ج: عند الطلب - مقياس أكثر للمستخدم. الوقت مناسب لمكونات الشبكة/أدناه.
س: لماذا p95، وليس متوسط ؟
ج: الوسط يخفي الذيل ؛ المستخدم يشعر p95/p99.
س: كيف لا «تضييق الخناق» كثيرًا ؟
ج: ابدأ بأهداف واقعية (بيانات تاريخية)، ثم شد عندما تنضج.
المواد ذات الصلة:- «إمكانية الرصد: السجلات والمقاييس والآثار»
- «آثار موزعة»
- «سجلات التدقيق والسجلات الثابتة»
- «ضمانات تسليم الويب»
- «In Transit/At Rest Encryption»
- «Data Origin (Lineage)»