GH GambleHub

ميزانيات الخطأ وإدارة SLO

1) لماذا ميزانية SLO والخطأ

SLO (هدف مستوى الخدمة) - مستوى الجودة المستهدف الذي يراه المستخدم ؛ SLI - مقياس ؛ ميزانية الخطأ - تحمل الانحرافات لكل نافذة (عادة 30/90 يومًا).
تحول ميزانية الخطأ الموثوقية من «التجريد» إلى مورد مُدار: عندما تحترق الميزانية بسرعة، نقوم بتجميد الميزات والشينيم ؛ عندما تكون الميزانية صحية - يمكنك تسريع الإصدارات.

2) اختيار SLI: ما يعتبر «جيدًا»

المعيار: «ناجح من وجهة نظر المستخدم».

2. 1 SLIs كلاسيكية

التوافر هو النسبة المئوية للطلبات الناجحة (باستثناء تلك التي ألغاها العميل).
"success = http_status ∈ {2xx, 3xx, 404} and no timeout' (404 يمكن اعتباره نجاح API للقراءة إذا كان من المتوقع دلالات).
الكمون: نسبة الطلبات أسرع من العتبة (على سبيل المثال، p95 ≤ 300 ms).
«good _ latency = duration_ms ≤ 300».
النضارة/الصلابة: «بيانات لا تزيد عن X دقيقة» (مخبأ، أدلة، معاملات).
الجودة: صحة النتيجة (تمرير المصدقين على الأعمال/الثوابت الخلفية).

2. 2 الحدود والقطاعات

يجب احتساب SLI حسب الشرائح المهمة: «الطريق»، «المستأجر/العلامة التجارية»، «المنطقة/الولاية القضائية»، «الدفع _ المزود». لذلك لن «تشوه» فشل مقبض نقدي واحد في جميع أنحاء النظام.

3) الصيغ والميزانية

3. 1 على أساس الطلب (المفضل لواجهة برمجة التطبيقات)


SLO_availability = good_requests / total_requests
Error_budget = 1 - SLO_target
Burn = 1 - SLO_actual

3. 2 قائمة على الوقت (لخدمات المعلومات الأساسية/البث)


SLO_uptime = good_minutes / total_minutes

3. 3 مثال على الأهداف

API العام: 99. 9٪ توافر في 30 يومًا → الميزانية = 0. 1%.
أقلام الدفع الحرجة: 99. 95%; الكتالوجات/البحث: 99. 5%.
زمن الوصول: p95 ≤ 300 ms on'/v1/payments'، p99 ≤ 800 ms.

4) أجهزة SLI

4. 1 المبادئ

سجلات/مسارات → مقاييس RED (معدل/أخطاء/مدة) مع دلاء صريحة.
تأكد من وضع «مستأجر» و «منطقة» و «مسار _ فئة» (بدون PII).
عد اثنين من المقاييس: «النجاح» و «المجموع» و «الكمون» و «السريع» و «الكلي».

4. 2 مثال بروميثيوس (معدل لكل 5 ملايين)

promql
Availability (successes/total)
sli:success:rate5m = sum by(region, route)(
rate(http_requests_total{code=~"2..    3.."}[5m])
)
sli:total:rate5m = sum by(region, route)(
rate(http_requests_total[5m])
)
sli:availability:ratio5m = sli:success:rate5m / sli:total:rate5m

Latency (fraction faster than 300 ms)
sli:fast:rate5m = sum by(region, route)(
rate(http_request_duration_seconds_bucket{le="0. 3"}[5m])
)
sli:latency_ok:ratio5m = sli:fast:rate5m / sli:total:rate5m

5) التنبيهات حسب معدل الحرق (متعدد النوافذ ومتعدد الحروق)

5. 1 فكرة

نحن ننظر إلى مدى سرعة احتراق الميزانية بالنسبة للهدف. إذا كانت السرعة عالية على نافذة قصيرة وطويلة، فإننا نشير.

5. 2 ملفات تعريف العتبة (لـ SLO 99. 9%)

النداء: معدل الحرق ≥ 14. 4 × (10% الميزانية لمدة 1 ساعة و 5 في المائة لساعات 6).
التذكرة: معدل الحرق ≥ 6 × (2٪ في 6 ساعات و 1٪ في 24 ساعة).

5. 3 قواعد المثال (بروميثيوس، زائف)

promql
Let's calculate the error_ratio on two windows short = 1 - (sum (rate (http_requests_total{code=~"2..    3.."}[5m])) /
sum(rate(http_requests_total[5m])))
long = 1 - (sum(rate(http_requests_total{code=~"2..    3.."}[1h])) /
sum(rate(http_requests_total[1h])))

For SLO = 99. 9%, error_budget=0. 001. BurnRate = error_ratio / 0. 001 burn_short = short / 0. 001 burn_long = long / 0. 001

Paging: Both windows exceed 14. 4× alert: SLOErrorBudgetBurnRateHigh expr: burn_short > 14. 4 and burn_long > 14. 4 for: 5m labels: { severity="page" }
annotations:
summary: "SLO burn rate high (short & long windows)"
runbook: "slo/runbooks/payments. md"

وبالمثل 6 ساعات/24 ساعة للتذكرة.

6) مكتب الميزانية: العمليات

6. 1 بوابات الإصدار

إذا كان رصيد الميزانية أقل من 25٪ وكان الاتجاه سلبيًا - «تجميد الرمز» على الميزات، فإن الأولوية هي SRE/الاستقرار.
يجب أن تحتوي إصدارات الكناري على شريحة SLO منفصلة ('نشر. البيئة =» الكناري»).

6. 2 تحديد أولويات الأعمال المتراكمة

توزيع قدرة القيادة بما يتناسب مع معدل الاحتراق وتأثير الإيرادات.
تبرير الديون الفنية بالمقاييس: «الإصلاح سيقلل معدل الحرق بنسبة Y٪».

6. 3 بعد الحادث

كل حادثة - RCA و «إصلاح لا يمكن التراجع عنه» (قابل للتنفيذ)، السيطرة «عادت إلى SLO».

7) SLO كرمز

7. 1 SLO مثال واضح (YAML)

yaml service: payments-api owner: team-payments slis:
- name: availability type: request_based success_query: sum(rate(http_requests_total{svc="pay",code=~"2..    3.."}[5m]))
total_query:  sum(rate(http_requests_total{svc="pay"}[5m]))
objective: 99. 95 window: 30d segments: ["region", "tenant", "route"]
- name: latency_p95_300ms type: latency_threshold good_query: sum(rate(http_request_duration_seconds_bucket{svc="pay",le="0. 3"}[5m]))
total_query: sum(rate(http_request_duration_seconds_count{svc="pay"}[5m]))
objective: 99. 0 window: 30d alerts:
- name: burn_high_page windows: ["5m", "1h"]
threshold_burn: 14. 4 severity: page

7. 2 توليد القواعد

استخدم المولدات (المولد البطيء، البيرا، الكسلان) لإنشاء القواعد ولوحات القيادة والتقارير تلقائيًا.

8) تدهور SLO وحمايته

تساقط الأحمال: أعط إجابات سريعة دون اعتمادات «باهظة الثمن» في الذروة.
Cache & stale: قراءة «قديمة بينما تعيد المصادقة» для.
السعر/حدود التوافق: يحمي الخلف ؛ طرق هامة - أولوية.
الدائرة/المهلة: المهلة السريعة والفروع «الاحتياطية».
أعلام الميزة: تعطيل الميزات الثقيلة بزر واحد.

9) إمكانية رصد SLO

لوحات القيادة: SLO الفعلية مقابل الهدف، رصيد الميزانية، معدل الحرق، المساهمة حسب الطرق/مقدمي الخدمة.
الارتباط: من «ثقب» → SLO إلى مثال → تتبع محدد → السجلات/الملامح.
التقارير: أسبوعية - اتجاهات، استهلاك الميزانية، أهم أسباب التدهور.

10) أنتيباترن

واحد SLO «عالمي» لكل → يخفي المشاكل. الجزء.
«99. 99٪ على كل شيء" باستثناء التكلفة والواقع. اختر الأهداف من تجربة المستخدم.
تنبيهات وحدة المعالجة المركزية/الأكوام بدلاً من معدل الحرق/SLO.
تجاهل عمليات إعادة التوجيه 4xx/الطويلة التي تفسد UX.
نافذة غير شفافة (رولينج مقابل تقويم) - مقارنات بين «التفاح والبرتقال».

11) تفاصيل iGaming/Finance

المسارات النقدية (الودائع/عمليات السحب): فرادى المنظمات غير الحكومية التي تتجاوز المستوى العام (مثلاً) 99. توافر 95 في المائة ؛ p95 ≤ 250 ms).
مزودو PSP/KYC: SLO لكل مزود + تنبيهات لمساهمتهم في الحرق ؛ التبديل التلقائي للطريق (التوجيه الذكي).
الولايات القضائية/المستأجرين: المنظمات غير الحكومية والميزانيات حسب «المنطقة/الولاية/العلامة التجارية» بحيث لا «تغمر» المشكلة المحلية المقياس العالمي.
اللعبة المسؤولة: SLO لفترة تطبيق الحدود/الاستبعاد الذاتي (صيغ الامتثال).
مراجعة الحسابات/التنظيم: الاحتفاظ بتقارير مكتب الإحالة والحوادث ؛ الشفافية في عمليات المراجعة الداخلية للحسابات.

12) قائمة التحقق من الاستعداد

  • يتم تحديد مؤشرات الاستدامة المستدامة (التوافر/زمن الكمون/الجودة/النضارة) والقطاعات (المسار/المستأجر/المنطقة).
  • الأهداف (SLOs) واقعية ومتوافقة مع الأعمال التجارية ؛ هناك نوافذ متدحرجة 30/90 يومًا.
  • التنبيهات حسب معدل الحرق مع النوافذ المتعددة (paging/ticket).
  • SLO كرمز (قاعدة/مولد لوحة القيادة) ؛ تقارير الميزانية.
  • ترتبط بوابات الإفراج ببقية الميزانية ؛ أقسام الكناري.
  • يتم تنفيذ واختبار آليات التحلل (سقيفة، مخبأ قديم، دائرة، حدود).
  • المقاييس ↔ ترابط المسارات، دفاتر تشغيل واضحة.
  • المسارات المالية/القضائية - منظمات/تنبيهات منفصلة ؛ PSP/KYC مفصلة.
  • استثمارات الموثوقية المنتظمة في الحوادث القديمة والقائمة على الحرق.

13) TL ؛ د

حدد SLIs حسب قيمة المستخدم، وضبط SLOs الواقعية، وإدارة عبر ميزانية الخطأ ومعدل الحرق باستخدام نوافذ متعددة. تمكين SLO-as-code وإطلاق البوابات والتدهور كما هو مخطط. الجزء حسب المسار/المستأجر/المنطقة ؛ للمسارات المالية الحفاظ على أهداف أكثر إحكامًا وتنبيهات منفصلة.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.