Skip to content
العودة إلى الرؤى والتحليلات
2 دقائق قراءة

تحليل حادثة تشغيلية: استنزاف مجمع اتصالات CoreDNS تحت ضغط حمولة وكيل الذكاء الاصطناعي

post-mortem sre kubernetes dns

ملخص الحادثة (Incident Summary)

في 8 يوليو 2026، في تمام الساعة 14:15 بتوقيت UTC، حدث انقطاع في خدمة تحليل الأسماء (DNS) على مستوى العنقود البرمجي الرئيسي لنظام Kubernetes (prod-core-svcs)، مما تسبب في إخفاقات في التوجيه عبر عدة خدمات مصغرة. الخدمة المعتمدة على الوصول لقواعد البيانات والواجهات الخارجية تعطلت مؤقتاً.

تم تحفيز الحادثة بواسطة زيادة مفاجئة في استعلامات API الصادرة من خدمة أتمتة وكيل الذكاء الاصطناعي المستقل (aops-agent-scheduler). أدى هذا الارتفاع إلى تجاوز حدود مجمع الاتصالات الخارجي لموجهات DNS.

تمت استعادة الخدمة بالكامل بحلول الساعة 14:52 بتوقيت UTC (المدة: 37 دقيقة) بعد ضبط التخزين المؤقت في CoreDNS وتوسيع عدد النسخ وتطبيق سياسات إعادة استخدام الاتصالات داخل عميل HTTP لوكيل الذكاء الاصطناعي.


الجدول الزمني للحادثة (Timeline)

الوقت (UTC)الحدث / الإجراء
14:12جدولة 5000 مهمة فحص وتدقيق متوازية لوكلاء الذكاء الاصطناعي.
14:15انطلاق تنبيه عالي الخطورة من PagerDuty: APIGatewayErrorRate > 5%.
14:18استجابة مهندس SRE المناوب. الفرضية الأولية: استنزاف اتصالات قاعدة البيانات.
14:22الفحص التشخيصي يظهر سلامة قاعدة البيانات، لكن السجلات تبين خطأ: Dial tcp: lookup db-prod.internal: i/o timeout.
14:25فحص سجلات CoreDNS: [WARNING] plugin/forward: dial tcp 10.x.x.x:53: i/o timeout (استنزاف مجمع الاتصالات).
14:30إجراء موقت: زيادة نسخ CoreDNS من 3 إلى 10.
14:35تحديد خدمة aops-agent-scheduler كمصدر لعاصفة الاستعلامات والحد من إرسالها مؤقتاً.
14:40تطبيق تحديث تهيئة CoreDNS لتفعيل التخزين المؤقت واستراتيجية التناظر المسبق.
14:45إعادة تشغيل جدول وكيل الذكاء الاصطناعي واستقرار مؤشرات استهلاك المعالج و DNS.
14:52زوال كافة التنبيهات وعودة النظام للعمل بنسبة 100%.

التحليل الفني للسبب العلمي (RCA)

لمعرفة سبب تعطل التحليل بفعل 5000 فحص متوازي، تتبع فريق SRE المسار الشبكي. كان وكيل الذكاء الاصطناعي ينشئ كائن نقل HTTP Transport جديد لكل عملية بدلاً من مشاركته، مما عطل إعادة استخدام الاتصالات وشغل 5000 مقبس شبكي تزامناً.

sequenceDiagram
    participant AI as AI Agent Scheduler
    participant KNS as Kube-DNS (CoreDNS)
    participant UP as Upstream DNS (10.x.x.x)

    Note over AI: إنشاء نقل جديد لكل مهمة
    AI->>KNS: 5,000 استعلام تزامني
    Note over KNS: فقدان التخزين المؤقت
    KNS->>UP: توجيه 5,000 استعلام إلى Upstream
    Note over UP: استنزاف حدود مجمع الاتصالات
    UP-->>KNS: حزم مفقودة / i/o timeout
    KNS-->>AI: i/o timeout (إخفاق)

الخطوات التصحيحية والتعزيز المستقبلي (Action Items)

  1. إعادة استخدام الاتصالات: تحديث عميل HTTP في Go لاستخدام مجمع اتصالات مشترك وقابل لإعادة الاستخدام.
  2. تحسين CoreDNS: تفعيل خيارات prefetch و serve_stale في Corefile لمنع طلب الاتصالات الخارجية عند الضغط.
  3. مراقبة التنبيهات: إضافة تنبيه لمعدل حزم UDP المفقودة وحجم مجمع اتصالات DNS.

لنعمل معاً

هل لديك مشروع في ذهنك؟ لنناقش كيف يمكنني مساعدتك في AIOps، وهندسة وكلاء الذكاء الاصطناعي، و MLOps، والبنية التحتية للحوسبة السحابية.

يمكنك التواصل معي عبر GitHub، X، أو LinkedIn.

A.I.D.A. SYSTEM MONITOR

Uplink status: SECURE
Agent role: DevOps Assistant