GH GambleHub

رصد الهياكل الأساسية

مراقبة البنية التحتية

1) الأهداف والإطار

مراقبة البنية التحتية هي نظام إشارات حول صحة وأداء وتوافر المنصة. ويجب عليه:
  • حذر قبل تعطل المستخدم (الكشف المبكر).
  • قم بتشخيص السبب الجذري (من الأعراض إلى الأسباب).
  • دعم بوابات SLO للإطلاقات والتراجع التلقائي.
  • تغذية تحليل ما بعد الحادث (الأدلة كبيانات).

المبادئ الداعمة: يمكن ملاحظتها حسب التصميم، ضوضاء أقل - المزيد من الإشارات، أتمتة ردود الفعل، لوحة واحدة من الحقيقة.

2) ثالوث قابلية الملاحظة

التسلسل الزمني - السعر/الطلب/الخطأ/التشبع (الاستخدام/الأحمر)

السجلات: تفاصيل الأحداث مع السياق ؛ لا تحتوي على أسرار/PII.
الآثار: حالات موزعة ذات علاقات سببية.

بالإضافة إلى:
  • التنميط (CPU/heap/lock/io)، eBPF لمستوى النظام.
  • الأحداث/مراجعة الحسابات (الأحداث K8s، التغييرات في التشكيلات/الأسرار).

3) SLI/SLO/SLA - لغة جيدة

SLI: «التوافر»، «الخطأ _ المعدل»، «p95 _ latency»، «قائمة الانتظار _ lag».

SLO (الهدف): "الطلبات الناجحة ≥ 99. 9٪ في 30 يومًا"

ميزانية الخطأ: التسامح ؛ تستخدم في عمليات التوقف التلقائي.

مثال SLO (YAML):
yaml service: "api-gateway"
slis:
- name: success_rate query_good: sum(rate(http_requests_total{status!~"5.."}[5m]))
query_total: sum(rate(http_requests_total[5m]))
slo: 99. 9 window: 30d

4) خريطة طبقات المراقبة

1. المضيفون/VM/العقد: CPU/Load/Steal، RAM/Swap، Disk IOPS/Latency، Filesystem.
2. الشبكة/LB/DNS: RTT، الحزم/القطرات، الأعمال المتراكمة، SYN/Timeout، المجسات الصحية.
3. Kubernetes/Orchestrator: خادم واجهة برمجة التطبيقات، وما إلى ذلك، ووحدات تحكم، وجدول ؛ القرون/العقد، المعلقة/المطرودة، الاختناق، أحداث الكوب.
4. الخدمات/الحاويات: RED (معدل/أخطاء/مدة)، الاستعداد/الحيوية.
5. قواعد البيانات/المخابئ: QPS، انتظار القفل، تأخر النسخ، ضربة عازلة، استفسارات بطيئة.
6. قوائم الانتظار/الحافلات: تأخر المستهلك، الطلب/الحروف الميتة، الإنتاجية.
7. التخزين/السحابة: أخطاء S3/Blob وكمون، 429/503 من مقدمي الخدمة.
8. حدود المحيط: WAF/Rate Limits، 4xx/5xx حسب المسار، CDN.
9. Synthetics: HTTP script checks (deposit/output), TLS/cellicates.
10. الاقتصاد/القدرة: التكلفة لكل خدمة، والاستخدام، والفرصة.

5) Whitebox и Blackbox

Whitebox: المصدرون/SDKs داخل الخدمات (Prometheus، OpenTelemetry).
Blackbox: عينات خارجية من مناطق مختلفة (توافر، زمن انتقال، انتهاء صلاحية TLS).
اجمع: «وقع بالخارج» + «التشخيص بالداخل».

مثال على «blackbox _ exporter»:
yaml modules:
https_2xx:
prober: http http:
method: GET preferred_ip_protocol: "ip4"

6) Kubernetes: إشارات رئيسية

Кластер: 'apiserver _ request _ total', 'etcd _ server _ has _ leader', etcd fsync.
Узлы: 'الحاوية _ المعالجة المركزية _ cfs _ chottled _ seconds _ total', 'node _ pressure'.
الفوط: معلقة/CrashLoopBackOff، OOMKilled، تستأنف.
الخطط/الحدود: الطلبات مقابل الحدود، PodDistructionBudget، HPA/VPA.
الشبكة: تسقط NetworkPolicy، إرهاق التوصيل.

Дашборды: «الصحة العنقودية»، «تشبع عبء العمل»، «أفضل خدمات الخطأ».

7) DB وقوائم الانتظار

PostgreSQL/MySQL: تأخر النسخ، الجمود، الاستعلام البطيء٪، نقطة التفتيش I/O.
Redis/Memcached: نسبة الضرب، الإخلاء، الاتصالات المرفوضة.
كافكا/RabbitMQ: تأخر المستهلك، غير معبأ، طلب، سمسار ISR، استخدام القرص.

8) مقاييس RED/USE والعلاقات التجارية

RED: «معدل» (RPS)، «أخطاء» (4xx/5xx)، «مدة» (p95/p99).
الاستخدام (للموارد): الاستخدام والتشبع والأخطاء.
ارتبط بالمنتج: نجاح الودائع/المدفوعات، أعلام الاحتيال، التحويل - هؤلاء «حراس» للإفراج عن الكناري.

9) هيكل التنبيه

المستوى 1 (صفحة): الحوادث التي تؤثر على المكونات الحرجة للمجموعات (التوافر، 5xx، زمن الوصول، فشل المكونات الحرجة للمجموعات).
Tier-2 (تذكرة): تدهور القدرات، نمو الأخطاء دون التأثير على SLO.
Tier-3 (معلومات): الاتجاهات، القدرة التنبؤية، الشهادات المنتهية الصلاحية.

قواعد التصعيد: وقت الصمت/الضغط المكرر، التناوب عند الطلب، متابعة الشمس.

مثال على طرق Alertmanager:
yaml route:
group_by: ["service","severity"]
receiver: "pager"
routes:
- match: { severity: "critical" }
receiver: "pager"
- match: { severity: "warning" }
receiver: "tickets"

10) أمثلة قاعدة بروميثيوس

10. 1 5xx أخطاء مع عتبة SLO

yaml groups:
- name: api rules:
- alert: HighErrorRate expr:
sum(rate(http_requests_total{status=~"5.."}[5m])) /
sum(rate(http_requests_total[5m])) > 0. 005 for: 10m labels: { severity: "critical", service: "api-gateway" }
annotations:
summary: "5xx > 0. 5% 10m"
runbook: "https://runbooks/api-gateway/5xx"

10. 2 ميزانية خطأ محترق (حرق متعدد النوافذ)

yaml
- alert: ErrorBudgetBurn expr:
(1 - (
sum(rate(http_requests_total{status!~"5.."}[1m])) /
sum(rate(http_requests_total[1m]))
)) > (1 - 0. 999) 14 for: 5m labels: { severity: "critical", slo: "99. 9" }
annotations: { summary: "Fast burn >14x for 5m" }

10. 3 تشبع النظام (خنق وحدة المعالجة المركزية)

yaml
- alert: CPUThrottlingHigh expr: rate(container_cpu_cfs_throttled_seconds_total[5m]) > 0. 1 for: 10m labels: { severity: "warning" }
annotations: { summary: "CPU throttling >10%" }

11) السجلات: الجمع والتطبيع والاحتفاظ

التوحيد القياسي: سجلات JSON: 'ts' و' level' و 'service' و 'trace _ id' و 'user/مستأجر'.
خط الأنابيب: العامل (Fluent Bit/Vector) → مؤشر/تخزين → الاحتياطي.
مراجعة: PII/إخفاء الأسرار على الحافة.
الاحتفاظ: فئة التخزين السريع (7-14 يومًا)، الأرشيف البارد (30-180 يومًا).
الدلالات: ميزانيات الخطأ/النقض - قنوات منفصلة.

12) المسارات والقياس عن بعد المفتوح

نقاط إدخال الأجهزة (البوابة)، المكالمات kliyent→servis، DB/caches/قوائم الانتظار.
ربط المقاييس لتتبع السمات (النماذج) للملاحة السريعة.
UTel Collector كبوابة مركزية: الترشيح، أخذ العينات، التصدير إلى خلفيات مختارة.

UTel Collector (جزء):
yaml receivers: { otlp: { protocols: { http: {}, grpc: {} } } }
processors: { batch: {}, tail_sampling: { policies: [ { name: errors, type: status_code, status_codes: [ERROR] } ] } }
exporters: { prometheus: {}, otlp: { endpoint: "traces. sink:4317" } }
service:
pipelines:
metrics: { receivers: [otlp], processors: [batch], exporters: [prometheus] }
traces: { receivers: [otlp], processors: [tail_sampling,batch], exporters: [otlp] }

13) المواد التركيبية والفحوصات الخارجية

يدير HTTP سيناريوهات الأعمال (تسجيل الدخول، الإيداع، السحب، الشراء).
TLS/المجال: مصطلح الشهادة/CAA/DNS الصحة.
الإقليمية: عينات من البلدان/مقدمي الخدمات الرئيسيين (قوائم التوجيه/المجموعات).
يجب أن تنبه المواد التركيبية إذا لم تكن متاحة للمستخدم، حتى مع القياس الداخلي الأخضر.

14) التنميط و eBPF

التنميط المستمر: تحديد الوظائف الساخنة والأقفال.
eBPF: أحداث النظام (syscalls، TCP retransmitts)، على المنتج بأقل قدر من النفقات العلوية.
تنبيهات الملف الشخصي دون إجهاد (التذاكر)، وللانتكاسات بعد الإصدار - كإشارة للتراجع.

15) لوحات القيادة و «لجنة الحقيقة»

المجموعة الدنيا:

1. نظرة عامة على المنصة: SLI/SLO حسب الخدمات الرئيسية، خطأ في الميزانية، تنبيهات.

2. API RED: RPS/الأخطاء/المدة حسب الطريق.

3. المجموعة K8s: مستوى التحكم، узлы، مساحة السعة.

4. DB/Cache: lag/locks/slow query٪، ضرب النسبة.

5. قوائم الانتظار: تراكم/تأخر، فشل/إعادة.

6. لكل إصدار: مقارنة بين المقاييس السابقة/اللاحقة (نوافذ الكناري).

7. FinOps: التكلفة لكل مساحة اسم/خدمة، ресурсы خاملة/كبيرة الحجم.

16) الحوادث وضوضاء التنبيه والتصعيد

التفريغ - تجميع الخدمة/السبب، القمع التعاقبي

الصمت/الصيانة: لا ينبغي للإطلاقات/الهجرات أن «ترسم» كل شيء باللون الأحمر.
دفاتر التشغيل: كل تنبيه مهم مع خطوات تشخيصية و «زر» التراجع.
تشريح الجثة: الجدول الزمني، ما تعلموه، الإشارات المضافة/المنظفة.

17) السلامة في الرصد

المكتب الإقليمي لآسيا والمحيط الهادئ لقواعد القراءة/التحرير/مصادر البيانات.
الأسرار: رموز المصدر/الوكيل - عبر المدير السري.
العزل: مقاييس العميل/المستأجر - في مساحات/علامات تبويب منفصلة.
النزاهة: توقيع الوكلاء/البناء، التكوينات عبر GitOps (مراجعة الدمج).

18) التمويل والقدرة (FinOps)

الحصص والميزانيات ؛ تنبيهات للنمو غير الطبيعي.
الحجم الصحيح: تحليل الطلبات/الحدود، واستخدام وحدة المعالجة المركزية/إدارة السجلات والمحفوظات، والحالات الموقعية للمهام غير الحرجة.
«التكلفة لكل طلب/مستأجر» كمؤشرات أداء رئيسية للأداء.

19) الأنماط المضادة

مقاييس البنية التحتية فقط بدون SLIs المخصصة.
100 + تنبيه «حول كل شيء» → العمى عند الطلب.
السجلات هي المصدر الوحيد (بدون مقاييس وتتبع).
لوحات القيادة القابلة للتغيير بدون إصدار/مراجعة.
نقص المواد التركيبية: «كل شيء أخضر»، لكن الجبهة غير متوفرة.
لا توجد صلة بالإصدارات: من المستحيل الإجابة على «ما تغير في الوقت الحالي X».

20) قائمة التنفيذ المرجعية (0-60 يومًا)

0-15 أيام

تعريف SLI/SLO للخدمات الرئيسية 3-5.
تمكين المصدرين/الوكلاء الأساسيين، توحيد سجلات JSON.
ضبط تنبيهات المستوى 1 (توافر، 5xx، p95).

16-30 يومًا

أضف مواد تركيبية للسيناريوهات الحرجة.
تمكين OTEL على المدخلات/الخدمات الحيوية.
لوحات القيادة «لكل إصدار» وقواعد حرق ميزانية الخطأ.

31-60 يومًا

قم بتغطية DB/قوائم الانتظار/المخبأ بإشارات متقدمة.
تنفيذ eBPF/التنميط لخدمات وحدة المعالجة المركزية عالية.
GitOps للقواعد/لوحات القيادة/التنبيهات، التنظيف المنتظم للضوضاء.

21) مقاييس النضج

تغطية SLO للخدمات الرئيسية ≥ 95٪.
MTTA/MTTR (الهدف: دقيقة/عشرات الدقائق).
نسبة تنبيهات المستوى 1 المغلقة عن طريق الحركة التلقائية أو التراجع السريع.
نسبة التنبيهات «المفيدة «/» الصاخبة «هي> 3:1.
التغطية الاصطناعية لجميع مسارات «المال» = 100٪.

22) التطبيقات: قوالب مصغرة

بروميثيوس - التوافر حسب فئة الحالة

yaml
- record: job:http:availability:ratio_rate5m expr: sum(rate(http_requests_total{status!~"5.."}[5m])) / sum(rate(http_requests_total[5m]))

غرافانا - نصيحة لجزر الكناري


expr: histogram_quantile(0. 95, sum(rate(http_request_duration_seconds_bucket{version=~"stable    canary"}[5m])) by (le,version))

Alertmanager - الواجب والصمت

yaml receivers:
- name: pager slack_configs:
- channel: "#oncall"
send_resolved: true inhibit_rules:
- source_match: { severity: "critical" }
target_match: { severity: "warning" }
equal: ["service"]

23)

المراقبة ليست مجموعة من الرسوم البيانية، ولكن نظام تشغيل SRE: SLI/SLO كعقد جودة، والمقاييس/المسارات/السجلات كمصادر للحقيقة، والتنبيهات كإشارة متحكم فيها، والمواد التركيبية كـ «صوت المستخدم»، GitOps كنظام للتغيير. قم ببناء حلقة واحدة من المضيف إلى واجهة برمجة التطبيقات، وربطها بالإصدارات والتراجع - والمنصة متوقعة وسريعة واقتصادية.

Contact

اتصل بنا

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

بدء التكامل

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

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

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