Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cpra — CPRA هو نظام مراقبة بنية تحتية عالي الأداء مصمم لفرق المنصات التي تدير بنى الخدمات المصغرة واسعة النطاق. مبني على بنية الكيان-المكوّن-النظام (Entity-Component-System — ECS) ومبادئ نظرية الطوابير، يتعامل CPRA مع أكثر من 1,000,000 فحص صحة متزامن مع توسيع تلقائي لتجمع العمال (worker pool) لتحقيق أهداف SLO. | Kitploit
أدوات/GitHubGitHub/ziad-hsn/cpra
أمن البنية التحتية السحابيةأدوات عامةأمن الحاوياتتدقيق التكوينأمن الشبكاتDevSecOpsالاستجابة للحوادثكشف الشذوذتحليل السجلات
GitHubziad-hsn/cpra

cpra

عرض المستودع
14منذ 6 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
الموقع الإلكتروني

حول

CPRA هو نظام مراقبة بنية تحتية عالي الأداء مصمم لفرق المنصات التي تدير بنى الخدمات المصغرة واسعة النطاق. مبني على بنية الكيان-المكوّن-النظام (Entity-Component-System — ECS) ومبادئ نظرية الطوابير، يتعامل CPRA مع أكثر من 1,000,000 فحص صحة متزامن مع توسيع تلقائي لتجمع العمال (worker pool) لتحقيق أهداف SLO.

مشاركة

CPRA - نظام النبض المتزامن والتصحيح والتنبيه

Go Version License Documentation

راقب ملايين الخدمات بشكل متزامن مع التصحيح التلقائي والتوسع الديناميكي للعاملين.

CPRA هو نظام مراقبة بنية تحتية عالي الأداء مصمم لفرق المنصة التي تدير بنيات الخدمات المصغرة واسعة النطاق. مبني على بنية نظام المكونات-الكيانات (ECS) ومبادئ نظرية الطوابير، يعالج CPRA 1,000,000+ فحص صحي متزامن مع توسيع تلقائي لتجمّع العاملين لتلبية أهداف مستوى الخدمة (SLO).


جدول المحتويات

  • لماذا CPRA؟
  • الميزات الرئيسية
  • خصائص الأداء
  • البنية
  • البدء السريع
  • التثبيت
  • الإعدادات
  • خيارات سطر الأوامر
  • التوثيق
  • استكشاف الأخطاء وإصلاحها
  • المساهمة
  • الترخيص

  • لماذا CPRA؟

    استخدم CPRA عندما تحتاج إلى:

    • مراقبة 100,000+ خدمة أو حاوية أو نقطة نهاية متزامنة
    • تصحيح الأعطال تلقائيًا دون تدخل بشري
    • توسيع بنية المراقبة ديناميكيًا بناءً على الحمل
    • تحقيق زمن استجابة P95 أقل من 100 مللي ثانية من الاكتشاف إلى التنبيه
    • تقليل استخدام الذاكرة (~100 بايت لكل مراقب)

    الميزات الرئيسية

    🚀 قابلية التوسع الهائلة

    • يعالج 1,000,000+ مراقب متزامن على أجهزة تجارية
    • توسع خطي مع تحميل إضافي ضئيل لكل مراقب
    • تصميم فعال في استهلاك الذاكرة: ~100 بايت لكل مراقب

    ⚡ أداء عالٍ

    • 10,000+ فحص صحي في الثانية لكل خط أنابيب
    • زمن استجابة P95 < 100 مللي ثانية من الجدولة إلى معالجة النتيجة
    • المعالجة الدفعية والطوابير الخالية من الأقفال تقلل التحميل الزائد

    🔄 التصحيح التلقائي

    • ثلاثة خطوط أنابيب مستقلة:
      1. النبض: فحص الصحة (HTTP، TCP، ICMP، نصوص مخصصة)
      2. التدخل: الاسترداد التلقائي (إعادة تشغيل الخدمات، توسيع الموارد، تشغيل النصوص)
      3. التنبيه: التنبيهات والإشعارات (البريد الإلكتروني، الرسائل النصية، webhooks، PagerDuty)

    🧠 التوسع الذكي

    • نظرية الطوابير M/M/c: تحسب تلقائيًا العدد الأمثل للعاملين
    • تقريب Allen-Cunneen: يعالج تغير عبء العمل الحقيقي
    • حجم يعتمد على SLO: يتوسع ديناميكيًا لتلبية أهداف زمن الاستجابة

    🏗️ بنية موجهة للبيانات

    • نظام المكونات-الكيانات (ECS) باستخدام mlange-42/ark
    • تخطيط ذاكرة صديق للذاكرة المخبئية لتحقيق أقصى أداء
    • الحد الأدنى من التخصيصات وضغط GC

    🔧 جاهز للإنتاج

    • ملف تعريف pprof مدمج لتصحيح الأخطاء
    • إيقاف تشغيل أنيق مع إلغاء السياق
    • تسجيل شامل مع وضع التصحيح
    • إدارة الذاكرة مع تشغيل GC تلقائي

    خصائص الأداء

    المقياسالقيمة
    أقصى عدد من المراقبين المتزامنين1,000,000+
    الإنتاجية10,000+ فحص/ثانية/خط أنابيب
    زمن الاستجابة (P95)< 100 مللي ثانية (قابل للتكوين عبر SLO)
    الذاكرة لكل مراقب~100 بايت
    إجمالي الذاكرة (1 مليون مراقب)~100 ميجابايت + تحميل مجموعة العاملين
    توسع العاملينديناميكي (يعتمد على M/M/c)

    اطلع على نظرة عامة على البنية للحصول على معايير وتحليلات مفصلة.


    البنية

    يستخدم CPRA بنية ثلاثية خطوط الأنابيب مبنية على مبادئ نظام المكونات-الكيانات:

    بنية ECS

    ثلاثة خطوط أنابيب معالجة مستقلة

    تدفق خط الأنابيب

    1. خط أنابيب النبض: ينفذ فحوصات الصحة (طلبات HTTP، اتصالات TCP، نصوص مخصصة)
    2. خط أنابيب التدخل: يؤدي التصحيح التلقائي عند فشل المراقبين
    3. خط أنابيب التنبيه: يرسل إشعارات تنبيه إلى أنظمة إدارة الحوادث

    يعمل كل خط أنابيب بشكل مستقل مع طابوره الخاص ومجموعة العاملين الموسعة ديناميكيًا، مما يتيح:

    • ضبط خاص بكل خط أنابيب: تكوين كل خط أنابيب بشكل منفصل
    • عزل الأعطال: فشل خط أنابيب واحد لا يؤثر على الآخرين
    • توسع مستقل: توسيع العاملين بناءً على حمل كل خط أنابيب

    بنية الطابور ومجموعة العاملين

    طابور ومجموعة العاملين

    تطبيقات الطوابير:

    • HybridQueue: مخزن حلقي + شريحة فائض لمعالجة FIFO موثوقة
    • AdaptiveQueue: مخزن حلقي ذاتي التوسع للحمل المتغير
    • WorkivaQueue: مخزن حلقي خالٍ من القفل لزمن استجابة فائق الانخفاض

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

    • مدعومة بمجموعة goroutines panjf2000/ants
    • توسع تلقائي باستخدام نظرية الطوابير M/M/c
    • حد أدنى/أقصى قابل للتكوين للعاملين وأهداف SLO

    للحصول على شرح شامل للبنية، راجع نظرة عامة على البنية.


    البدء السريع

    الخيار 1: البناء والتشغيل محليًا

    root@kitploit:~
    # المتطلبات الأساسية: Go 1.25 أو أحدث
    go version  # يجب أن يظهر go1.25 أو أعلى
    
    # البناء من المصدر
    git clone https://github.com/ziad/cpra.git
    cd cpra
    go build .
    
    # التشغيل مع إعدادات مثال
    ./cpra --yaml mock-servers/test_10k.yaml
    

    المخرجات المتوقعة:

    root@kitploit:~
    Starting CPRA Optimized Controller for 1M Monitors
    Profiling server listening at http://localhost:6060/debug/pprof/
    Loading monitors from mock-servers/test_10k.yaml...
    Monitor loading completed in 1.2s
    [INFO] Controller started successfully
    [INFO] Pulse pipeline processing 10,000 monitors
    [INFO] Worker pool scaled to 143 workers (target SLO: 100ms)
    

    التثبيت

    المتطلبات الأساسية

    • Go 1.25 أو أحدث (تنزيل)
    • Docker (اختياري، للنشر المحصور)

    البناء من المصدر

    1. استنساخ المستودع:

      root@kitploit:~
      git clone https://github.com/ziad/cpra.git
      cd cpra
      
    2. تنزيل التبعيات:

      root@kitploit:~
      go mod download
      
    3. بناء التطبيق:

      root@kitploit:~
      go build .
      
    4. التحقق من التثبيت:

      root@kitploit:~
      ./cpra --help
      

    النشر باستخدام Docker

    1. بناء صورة Docker:

      root@kitploit:~
      docker build -f docker/Dockerfile -t cpra:latest .
      
    2. تشغيل الحاوية:

      root@kitploit:~
      docker run -it --rm \
        -v $(pwd)/my-monitors.yaml:/app/monitors.yaml \
        cpra:latest \
        ./cpra --yaml monitors.yaml
      

    الإعدادات

    إعدادات المراقب (YAML)

    أنشئ ملف monitors.yaml لتحديد فحوصات الصحة:

    root@kitploit:~
    monitors:
      - name: "my-service-health-check"
        pulse_check:
          type: http
          interval: 30s
          timeout: 5s
          max_failures: 3
          config:
            method: GET
            url: http://my-service.example.com/health
            retries: 2
        intervention:
          action: docker
          config:
            container: my-service-container
            action: restart
        codes:
          red:
            dispatch: true
            notify: pagerduty
            config:
              url: https://events.pagerduty.com/v2/enqueue
          yellow:
            dispatch: true
            notify: log
            config:
              file: /var/log/cpra-alerts.log
    

    توليد إعدادات الاختبار:

    استخدم mock-servers/generate_monitors.py لتوليد إعدادات اختبار بأي عدد من المراقبين.

    إعدادات التطبيق

    قم بتكوين سلوك CPRA برمجيًا:

    root@kitploit:~
    package main
    
    import (
        "cpra/internal/controller"
    )
    
    func main() {
        config := controller.DefaultConfig()
    
        // وضع التصحيح
        config.Debug = true
    
        // إعدادات مجموعة العاملين (تنطبق على خطوط الأنابيب الثلاثة)
        config.WorkerConfig.MinWorkers = 10
        config.WorkerConfig.MaxWorkers = 500
    
        // إعدادات الطابور
        config.QueueCapacity = 131072  // يجب أن يكون قوة 2
    
        // ضبط الأداء
        config.BatchSize = 2000
        config.SizingServiceTime = 20 * time.Millisecond  // متوسط مدة المهمة
        config.SizingSLO = 100 * time.Millisecond         // زمن الاستجابة المستهدف
        config.SizingHeadroomPct = 0.15                   // 15% حماية أمان
    
        ctrl := controller.NewController(config)
        // ... باقي التهيئة
    }
    

    راجع مرجع API للحصول على خيارات الإعدادات الكاملة.


    خيارات سطر الأوامر

    root@kitploit:~
    ./cpra [OPTIONS]
    
    الخيارالنوعالافتراضيالوصف
    --yamlstringinternal/loader/replicated_test.yamlمسار ملف YAML للمراقبين
    --configstring-مسار ملف الإعدادات (اختياري)
    --debugboolfalseتفعيل التسجيل على مستوى التصحيح
    --pprofbooltrueتفعيل خادم ملف تعريف pprof
    --pprof.addrstringlocalhost:6060عنوان استماع خادم pprof

    أمثلة:

    root@kitploit:~
    # التشغيل مع تسجيل التصحيح
    ./cpra --yaml monitors.yaml --debug
    
    # التشغيل مع منفذ pprof مخصص
    ./cpra --yaml monitors.yaml --pprof.addr localhost:8080
    
    # تعطيل ملف التعريف
    ./cpra --yaml monitors.yaml --pprof=false
    

    التوثيق

    أدلة شاملة

    • نظرة عامة على البنية - تصميم النظام، الرسوم البيانية، وتحليل الأداء
    • مرجع API - توثيق API كامل مع توقيعات الوظائف
    • مرجع الأنواع - هياكل البيانات وتعريفات المكونات
    • دروس البدء السريع - ابدأ في 5-10 دقائق
    • المهام الشائعة - أدلة إرشادية للعمليات النموذجية

    موارد إضافية

    • بدء الاستخدام - دليل الإعداد والنشر المفصل

    استكشاف الأخطاء وإصلاحها

    المشكلات الشائعة

    المشكلة: YAML file not found

    root@kitploit:~
    Warning: YAML file monitors.yaml not found, starting without loading monitors
    

    الحل: تحقق من صحة مسار الملف. استخدم مسارات مطلقة أو مسارات نسبية بالنسبة لمكان تشغيل الثنائي:

    root@kitploit:~
    ./cpra --yaml $(pwd)/monitors.yaml
    

    المشكلة: Build fails with Go version error

    root@kitploit:~
    go.mod requires go >= 1.25
    

    الحل: قم بترقية Go إلى الإصدار 1.25 أو أحدث:

    root@kitploit:~
    go version  # تحقق من الإصدار الحالي
    # تنزيل Go 1.25+ من https://go.dev/dl/
    

    المشكلة: High memory usage الحل: تحقق من استخدام الذاكرة باستخدام pprof:

    root@kitploit:~
    # أثناء تشغيل CPRA، ادخل إلى pprof
    go tool pprof http://localhost:6060/debug/pprof/heap
    
    # عرض أكبر مستهلكي الذاكرة
    (pprof) top
    

    قم بضبط حدود الذاكرة في الإعدادات:

    root@kitploit:~
    config.WorkerConfig.MaxWorkers = 200  // تقليل الحد الأقصى للعاملين
    config.QueueCapacity = 65536          // تقليل حجم الطابور
    

    المشكلة: Worker pool not scaling الحل: قم بتفعيل تسجيل التصحيح لرؤية قرارات التوسع:

    root@kitploit:~
    ./cpra --yaml monitors.yaml --debug
    

    تحقق من معاملات نظرية الطوابير:

    root@kitploit:~
    config.SizingServiceTime = 50 * time.Millisecond  // زده إذا استغرقت المهام وقتًا أطول
    config.SizingSLO = 200 * time.Millisecond         // خفف SLO إذا لزم الأمر
    

    المشكلة: Monitors not executing الحل: تحقق من تنسيق إعدادات المراقب واطلع على السجلات:

    root@kitploit:~
    ./cpra --yaml monitors.yaml --debug 2>&1 | grep ERROR
    

    تحقق من صحة بناء YAML:

    root@kitploit:~
    # استخدم مدقق YAML
    python -m yaml monitors.yaml
    

    الحصول على المساعدة

    • التوثيق: راجع مجلد docs/ للحصول على أدلة مفصلة
    • المشكلات: افتح مشكلة للإبلاغ عن الأخطاء أو طلب الميزات
    • المناقشات: اطرح الأسئلة وشارك الأفكار في مناقشات GitHub
    • السجلات: قدم دائمًا السجلات عند الإبلاغ عن المشكلات (استخدم علامة --debug)

    المساهمة

    نرحب بمساهمات المجتمع! CPRA هو مشروع مفتوح المصدر ونقدر:

    • 🐛 تقارير الأخطاء وإصلاحاتها
    • ✨ طلبات الميزات وتطبيقاتها
    • 📖 تحسينات التوثيق
    • 🧪 تحسينات تغطية الاختبارات
    • 💡 تحسينات الأداء

    بدء المساهمة:

    1. ابحث عن المشكلات الموسومة بـ good first issue
    2. قم بعمل fork للمستودع وقدم طلب سحب

    موارد التطوير:

    • نظرة عامة على البنية - فهم تصميم النظام
    • مرجع API - توقيعات الوظائف والاستخدام

    الترخيص

    هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.


    الإقرارات

    CPRA مبني على مكتبات مفتوحة المصدر ممتازة:

    • mlange-42/ark - نظام المكونات-الكيانات عالي الأداء
    • panjf2000/ants - مجموعة goroutines مع توسع ديناميكي
    • Workiva/go-datastructures - هياكل بيانات خالية من القفل
    • uber-go/zap - تسجيل منظم

    التوثيق • البنية • المشكلات

    بُني بحب لفرق المنصة التي تدير البنية التحتية واسعة النطاق

    تنزيل الأداة