انتقل إلى المحتوى

خيارات الإعداد لعقدة Wallarm المبنية على NGINX

تعلم خيارات التعديل المتاحة للوحدات Wallarm الخاصة بNGINX للحصول على أقصى استخدام من حل Wallarm.

وثائق NGINX الرسمية

التحكم في الإعداد لـ Wallarm مشابه للغاية للتحكم في الإعداد لـ NGINX. راجع وثائق NGINX الرسمية. بالإضافة إلى خيارات الإعداد الخاصة بـ Wallarm، يمكنك الوصول لكامل قدرات الإعداد في NGINX.

توجيهات Wallarm

disable_acl

تتيح تعطيل تحليل أماكن المشتقات للطلبات. إذا تم تعطيلها (on)، لن يقوم العقدة الفرعية بتحميل قوائم IP من سحابة Wallarm وستتجاهل تحليل مصادر IPs للطلب.

Info

يمكن تعيين هذا العامل داخل blocks http، server، و location.

القيمة الافتراضية هي off.

wallarm_acl_access_phase

تجبر التوجيه عقدة Wallarm المبنية على NGINX على حجب الطلبات الواصلة من IPs مدرجة في القائمة السوداء في مرحلة الوصول إلى NGINX وهذا يعني:

  • بواسطة wallarm_acl_access_phase on، ستحجب عقدة Wallarm فورًا أي طلبات من IPs مدرجة في القائمة السوداء في أي وضع تصفية ولن تبحث عن علامات هجوم في الطلبات من IPs المدرجة في القائمة السوداء.

    هذه هي القيمة الافتراضية والموصى بها حيث تجعل القوائم السوداء تعمل بطريقة قياسية وتقلل بشكل كبير من حمل وحدة المعالجة المركزية للعقدة.

  • بواسطة wallarm_acl_access_phase off، ستحلل عقدة Wallarm الطلبات للعثور على علامات الهجوم أولًا ثم إذا كانت تعمل في وضع block أو safe_blocking ستحجب الطلبات القادمة من IPs مدرجة في القائمة السوداء.

    في وضع التصفية off، لا تقوم العقدة بتحليل الطلبات ولا تتحقق من القوائم السوداء.

    في وضع التصفية monitoring، تبحث العقدة عن علامات الهجوم في جميع الطلبات ولكنها أبدًا لن تحجبها حتى لو كانت IP المصدر مدرجة في القائمة السوداء.

    سلوك عقدة Wallarm عند wallarm_acl_access_phase off يزيد بشكل كبير من حمل وحدة المعالجة المركزية للعقدة.

القيمة الافتراضية والتفاعل مع التوجيهات الأخرى

القيمة الافتراضية: on (بداية من عقدة Wallarm 4.2)

يمكن تعيين التوجيه داخل block http فقط في ملف تكوين NGINX.

  • مع disable_acl on، قوائم IP لا يتم معالجتها وتمكين wallarm_acl_access_phase لا معنى له.
  • التوجيه wallarm_acl_access_phase لديه الأولوية على wallarm_mode الذي ينتج عنه حجب الطلبات من IPs المدرجة في القائمة السوداء حتى لو كان وضع العقدة الفرعية off أو monitoring (بواسطة wallarm_acl_access_phase on).

wallarm_acl_export_enable

تتيح التوجيه تمكين on / تعطيل off إرسال الإحصائيات حول الطلبات من IPs مدرجة في القائمة السوداء من العقدة إلى السحابة.

  • مع wallarm_acl_export_enable on سيتم عرض الإحصائيات على الطلبات من IPs المدرجة في القائمة السوداء في قسم الهجمات.

  • مع wallarm_acl_export_enable off لن يتم عرض الإحصائيات حول الطلبات من IPs المدرجة في القائمة السوداء.

Info

هذا المعلم معين داخل block http.

القيمة الافتراضية: on

wallarm_api_conf

مسار إلى ملف node.yaml، الذي يحتوي على متطلبات الوصول لواجهة برمجة التطبيقات API الخاصة بـ Wallarm.

مثال:

wallarm_api_conf /etc/wallarm/node.yaml

# تثبيتات صور Docker المبنية على NGINX ، صور السحابة وجميع التثبيتات في حالة واحدة
# wallarm_api_conf /opt/wallarm/etc/wallarm/node.yaml

تُستخدم لتحميل طلبات مسلسلة مباشرةً من العقدة الفرعية إلى واجهة برمجة التطبيقات API لـ Wallarm (السحابة) بدلاً من تحميلها في وحدة postanalytics (Tarantool).

يتم إرسال الطلبات التي تحتوي على هجمات فقط إلى واجهة برمجة التطبيقات API. لا يتم حفظ الطلبات دون هجمات.

مثال على محتوى ملف node.yaml:

# بيانات اعتماد الاتصال بواجهة برمجة التطبيقات API

hostname: <بعض الأسماء>
uuid: <بعض uuid>
secret: <سر بعض>

# معلمات الاتصال بواجهة برمجة التطبيقات API (المعلمات أدناه تُستخدم افتراضيًا)

api:
  host: api.wallarm.com
  port: 443
  ca_verify: true

wallarm_application

معرف فريد للتطبيق المحمي المراد استخدامه في سحابة Wallarm. يمكن أن تكون القيمة عدد صحيح موجب باستثناء 0.

يمكن تعيين معرفات فريدة لكلاً من نطاقات التطبيق ومسارات النطاق، على سبيل المثال:

ملف التكوين للنطاق example.com:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    listen 443 ssl;

    ...

    wallarm_mode monitoring;
    wallarm_application 1;
    location / {
            proxy_pass http://example.com;
            include proxy_params;
    }
}

ملف التكوين للنطاق test.com:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    listen 443 ssl;

    ...

    wallarm_mode monitoring;
    wallarm_application 2;
    location / {
            proxy_pass http://test.com;
            include proxy_params;
    }
}
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    listen 443 ssl;

    ...

    wallarm_mode monitoring;
    location /login {
            proxy_pass http://example.com/login;
            include proxy_params;
            wallarm_application 3;
    }

    location /users {
            proxy_pass http://example.com/users;
            include proxy_params;
            wallarm_application 4;
    }
}

المزيد من التفاصيل عن إعداد التطبيقات →

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية: -1.

wallarm_block_page

تتيح لك إعداد الرد على الطلب المحجوب.

مزيد من التفاصيل حول تكوين صفحة الحجب ورمز الخطأ→

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

wallarm_block_page_add_dynamic_path

يُستخدم هذا التوجيه لتهيئة صفحة الحجب التي لديها متغيرات NGINX في كودها والمسار إلى هذه الصفحة المحجوبة المُعينة أيضا باستخدام المتغير. خلاف ذلك، لا يُستخدم التوجيه.

مزيد من التفاصيل حول تكوين صفحة الحجب ورمز الخطأ→

Info

يمكن تعيين التوجيه داخل block http في ملف تكوين NGINX.

wallarm_cache_path

دليل فيه يتم إنشاء كتالوج النسخ الاحتياطي لتخزين نسخة من بروتون.دي بي وملف مجموعة القواعد المخصصة عند بدء الخادم. يجب أن يكون هذا الدليل قابل للكتابة للعميل الذي يشغل NGINX.

Info

يتم تكوين هذا المعلم داخل block http فقط.

wallarm_custom_ruleset_path

مسار إلى الملف المجموعة القاعدية المخصصة التي تحتوي على معلومات حول التطبيق المحمي وإعدادات العقدة الفرعية.

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية:

  • /opt/wallarm/etc/wallarm/custom_ruleset لتثبيتات صور Docker المبنية على NGINX، صور السحابة وجميع التثبيتات في حالة واحدة
  • /etc/wallarm/custom_ruleset للآثار التثبيتية الأخرى

wallarm_enable_libdetection

تمكين/تعطيل التحقق الإضافي من الهجمات SQL Injection عبر مكتبة libdetection. استخدام libdetection يضمن الكشف المزدوج عن الهجمات ويقلل من عدد الإيجابيات الكاذبة.

تحليل الطلبات بمكتبة libdetection مُمكّن بشكل افتراضي في جميع خيارات الإنشاء. لتقليل عدد الإيجابيات الكاذبة، نوصي بالمحافظة على تمكين التحليل.

المزيد من التفاصيل على libdetection

زيادة استهلاك الذاكرة

عند تحليل الهجمات باستخدام مكتبة libdetection، قد يزيد مقدار الذاكرة المستهلكة من قبل عمليات NGINX وWallarm بنسبة حوالي 10%.

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية هي on لجميع خيارات الإنشاء.

wallarm_fallback

مع القيمة المُعيَّنة كـ on، لدى NGINX القدرة على الدخول في وضع الطوارئ؛ إذا لم يتمكن من تنزيل بروتون.دي بي أو مجموعة القواعد المخصصة، يعطل هذا الإعداد وحدة Wallarm للـ blocks http، server، و location، الذين فشلت البيانات في التنزيل. NGINX يستمر في العمل.

Info

القيمة الافتراضية هي on.

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

wallarm_force

تعيين تحليل الطلبات وتوليد القواعد المخصصة استنادًا إلى حركة المرور المتناظرة لـ NGINX. انظر تحليل حركة المرور المتناظرة مع NGINX.

wallarm_general_ruleset_memory_limit

تعيين حد للكمية القصوى من الذاكرة التي يمكن استخدامها بواسطة نسخة واحدة من بروتون.دي بي وملف مجموعة القواعد المخصصة.

إذا تم تجاوز الحد المعيَّن خلال معاللجة بعض الطلبات، سيلغى المستخدم الخطأ 500.

يمكن استخدام اللاحقات التالية في هذا المعلم:

  • k أو K للكيلوبايت

  • m أو M لميغابايت

  • g أو G لجيغابايت

قيمة 0 توقف الحد.

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و/أو location.

القيمة الافتراضية: 1 غيغابايت

wallarm_global_trainingset_path

التوجيه مهجور

بدءاً من عقدة Wallarm 3.6، يرجى استخدام التوجيه wallarm_protondb_path بدلاً من ذلك. ما عليك سوى تغيير اسم التوجيه، لم تتغير منطقه.

wallarm_file_check_interval

تعرف فاستقة بين فحص البيانات الجديدة في بروتون.دي بي وملف مجموعة القواعد المخصصة. تحدد وحدة القياس في اللاحقة على النحو التالي:

  • لا لاحقة للدقائق

  • s للثواني

  • ms للمللي ثانية

Info

يتم تكوين هذا المعلم فقط داخل block http.

القيمة الافتراضية: 1 (دقيقة واحدة)

wallarm_instance

التوجيه مهجور

  • إذا كان التوجيه يُستخدم لتعيين معرف فريد للتطبيق المحمي، فقط أعد تسميته إلى wallarm_application.
  • لتعيين معرف فريد للمستأجر للعقد العديدة-المستأجرة، بدلا من wallarm_instance، استخدم التوجيه wallarm_partner_client_uuid.

عند تحديث التكوين الذي استخدمته للعقدة الفرعية الخاصة بك من الإصدار قبل 4.0:

  • إذا قمت بترقية العقدة الفرعية دون خاصية المتعدد المستأجرين ولديك أي wallarm_instance يُستخدم لتعيين معرف فريد للتطبيق المحمي، فقط أعد تسميته إلى wallarm_application.
  • إذا قمت بتحديث عقدة الفرعية مع خاصية المتعدد المستأجرين، فافترض أن جميع wallarm_instance أن تكون wallarm_application، ثم أعد كتابة التكوين كما وصف في تعليمات إعادة التكوين ذات الأمانة المتعددة.

wallarm_key_path

مسار إلى المفتاح الخاص الخاص بـ Wallarm المُستخدم لتشفير / فك تشفير ملفات بروتون.دي بي ومجموعة القواعد المخصصة.

Info

القيمة الافتراضية:

  • /opt/wallarm/etc/wallarm/private.key لتثبيتات صور Docker المبنية على NGINX، صور السحابة وجميع التثبيتات في حالة واحدة
  • /etc/wallarm/private.key لآثار التثبيت الأخرى

wallarm_local_trainingset_path

التوجيه مهجور

بدءاً من عقدة Wallarm 3.6، يرجى استخدام التوجيه wallarm_custom_ruleset_path بدلاً من ذلك. ما عليك سوى تغيير اسم التوجيه، لم تتغير منطقه.

wallarm_memlimit_debug

هذا التوجيه يحدد ما إذا كانت وحدة Wallarm NGINX تولد ملف /tmp/proton_last_memlimit.req الذي يحتوي على تفاصيل الطلب عند تجاوز حد الذاكرة. يمكن أن يكون هذا لا غنى عنه لتصحيح مشكلات المعالجة المتعلقة بحد ذاكرة الطلب.

Info

حاليًا هذا التوجيه متاح فقط لعقد NGINX المنشرة مع المثبت كل في واحد الإصدار 4.8.8 أو أعلى.

يمكن تعيين هذا المعلم داخل blocks http،server، و location.

القيمة الافتراضية: on.

wallarm_mode

وضع معالجة حركة المرور:

  • off

  • monitoring

  • safe_blocking

  • block

Wallarm node behavior off monitoring safe_blocking block
Analyzes incoming requests for input validation, virtual patch, and regex-based malicious payloads - + + +
Uploads malicious requests to the Wallarm Cloud so that they are displayed in the event list - + + +
Blocks malicious requests - - Only those originated from graylisted IPs +
Blocks requests originated from denylisted IPssee exception
(IPs added manually and automatically by multi-attack protection and behavioral protection: API abuse prevention, manual BOLA, brute force and forced browsing)
- + + +
Blocks requests originated from graylisted IPs
(IPs added manually and automatically by the same protection measures as for denylist)
- - Only those containing malicious payloads -
Allows requests originated from allowlisted IPs - + + +

Exception for denylist

If wallarm_acl_access_phase off, the Wallarm node does not block requests from denylisted IPs in the monitoring mode.

يمكن تقييد استخدام wallarm_mode بواسطة التوجيه wallarm_mode_allow_override.

تعليمات تفصيلية حول تكوين وضع التصفية →

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية تعتمد على طريقة نشر العقدة الفرعية (يمكن أن تكون off أو monitoring)

wallarm_mode_allow_override

تدير القدرة على تجاوز قيم wallarm_mode عبر قواعد الفلترة التي تم تنزيلها من سحابة Wallarm (مجموعة القواعد المخصصة):

  • off - يتم تجاهل القواعد المخصصة.
  • strict - يمكن للقواعد المخصصة فقط تقوية وضع التشغيل.
  • on - من الممكن تقوية وتخفيف وضع التشغيل.

على سبيل المثال، مع wallarm_mode monitoring و wallarm_mode_allow_override strict مُعيّنين، يمكن استخدام Wallarm Console لتمكين حجب بعض الطلبات، ولكن لا يمكن تعطيل تحليل الهجوم بالكامل.

تعليمات تفصيلية حول تكوين وضع التصفية →

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية: on

wallarm_parse_response

ما إذا كان سوف يتم تحليل استجابات التطبيق. تحتاج تحليل الاستجابة للكشف عن الثغرات الأمنية أثناء الكشف السلبي و توثيق التهديد النشط.

القيم الممكنة هي on (تحليل الاستجابة مُمكّن) و off (تحليل الاستجابة معطل).

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية: on

wallarm_parse_websocket

يوفر Wallarm الدعم الكامل لـ WebSockets تحت خطة الاشتراك في الأمان API. بشكل افتراضي، رسائل WebSockets لا يتم تحليلها للهجمات.

لإرغام الميزة، قم بتنشيط خطة الاشتراك في الأمان API واستخدم التوجيه wallarm_parse_websocket.

القيم الممكنة:

  • on: تحليل الرسائل مُمكّن.
  • off: تحليل الرسائل معطل.

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية: off

wallarm_parser_disable

يتيح تعطيل المحلل. تتوافق قيم التوجيه مع اسم المحلل الذي سيتم تعطيله:

  • cookie
  • zlib
  • htmljs
  • json
  • multipart
  • base64
  • percent
  • urlenc
  • xml
  • jwt

مثال

wallarm_parser_disable base64;
wallarm_parser_disable xml;
location /ab {
    wallarm_parser_disable json;
    wallarm_parser_disable base64;
    proxy_pass http://example.com;
}
location /zy {
    wallarm_parser_disable json;
    proxy_pass http://example.com;
}

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

wallarm_proton_log_mask_master

إعدادات لتسجيل التصحيح لعملية السيد NGINX.

استخدام التوجيه

تحتاج إلى تكوين التوجيه فقط إذا قيل لك ذلك من قبل عضو فريق الدعم في Wallarm. سيقدمون لك القيمة التي ستستخدم مع التوجيه.

Info

يمكن تكوين هذا المعلم على المستوى الرئيسي فقط.

wallarm_proton_log_mask_worker

إعدادات التصحيح لعملية NGINX العاملة.

استخدام التوجيه

تحتاج إلى تكوين التوجيه فقط إذا قيل لك ذلك من قبل عضو فريق الدعم في Wallarm. سيقدمون لك القيمة التي ستستخدم مع التوجيه.

Info

يمكن تكوين هذا المعلم على المستوى الرئيسي فقط.

wallarm_protondb_path

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

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية:

  • /opt/wallarm/etc/wallarm/proton.db لتثبيتات صور Docker المبنية على NGINX، صور السحابة وجميع التثبيتات في حالة واحدة
  • /etc/wallarm/proton.db لآثار التثبيت الأخرى

wallarm_rate_limit

تعيين تكوين حد السرعة في الشكل التالي:

wallarm_rate_limit <المفتاح لقياس الحدود> rate=<معدل> burst=<تفجير> delay=<تأخير>;
  • المفتاح لقياس الحدود - المفتاح الذي تود قياس الحدود له. يمكن أن يحتوي على نص، متغيرات NGINX ومزيجها.

    على سبيل المثال: "$remote_addr +login" للحد من الطلبات الواصلة من نفس IP والمستهدفة على المسار /login.

  • rate=<معدل> (مطلوب) - حد السرعة، يمكن أن يكون rate=<رقم>r/s أو rate=<رقم>r/m.

  • burst=<تفجير> (اختياري) - العدد الأقصى للطلبات الزائدة للتخزين المؤقت بمجرد تجاوز RPM/RPS المحدد ويتم معالجتها بمجرد عودة السرعة إلى الطبيعي. 0 بشكل افتراضي.

  • delay=<تأخير> - إذا كانت قيمة <تفجير> مختلفة عن 0، يمكنك التحكم في ما إذا كان سيكون لديك للحفاظ على RPM/RPS المحدد بين تنفيذ الطلبات الزائدة المخزنة ضمن النطاق. يشير nodelay إلى التنفيذ المتزامن لجميع الطلبات الزائدة المخزنة ضمن النطاق، دون تأخير حد السرعة. القيمة العددية تعني التحصيل المتزامن للعدد المحدد من الطلبات الزائدة، يتم معالجة البقية بتأخير معين في RPS/RPM.

مثال:

wallarm_rate_limit "$remote_addr +location_name" rate=10r/s burst=9 delay=5;

Info

القيمة الافتراضية: غير موجودة.

يمكن تعيين هذا المعلم داخل blocks http، server، location.

إذا قمت بتعيين الحد السرعة قاعدة حد السرعة (يُوصى به) يكون للتوجيه wallarm_rate_limit أولوية أقل.

wallarm_rate_limit_enabled

تمكين/تعطيل حد السرعة لـ Wallarm.

إذا off، فلا تعمل قاعدة حد السرعة (موصى به) ولا التوجيه wallarm_rate_limit.

Info

القيمة الافتراضية: on ولكن حد السرعة لـ Wallarm لن يعمل بدون إعداد إما القاعدة حد السرعة (يوصى به) أو التوجيه wallarm_rate_limit.

wallarm_rate_limit_log_level

مستوى التسجيل للطلبات المرفوضة من قبل التحكم بحد السرعة. يمكن أن تكون: info، notice، warn، error.

Info

القيمة الافتراضية: error.

يمكن تعيين هذا المعلم داخل blocks http، server، location.

wallarm_rate_limit_status_code

رمز لإرجاع في الاستجابة إلى الطلبات المرفوضة بواسطة وحدة حد السرعة لـ Wallarm.

Info

القيمة الافتراضية: 503.

يمكن تعيين هذا المعلم داخل blocks http، server، location.

wallarm_rate_limit_shm_size

تعيين الحد الأقصى لكمية الذاكرة المشتركة التي يمكن استهلاكها بواسطة حد السرعة لـ Wallarm.

مع متوسط طول المفتاح 64 بايتًا (حروف)، و wallarm_rate_limit_shm_size من 64MB، يمكن للوحدة التعامل مع حوالي 130,000 مفتاح فريد في وقت واحد. زيادة الذاكرة بمقدار ضعفين يضاعف سعة الوحدة على نحو خطي.

المفتاح هو قيمة فريدة للنقطة الطلب التي تستخدمها الوحدة لقياس الحدود. على سبيل المثال، إذا كانت الوحدة تحد من الاتصالات استنادًا إلى عناوين IP، يعتبر كل عنوان IP فريد مفتاحًا واحدًا. بفضل القيمة الافتراضية للتوجيه، يمكن للوحدة معالجة الطلبات الصادرة من ~130,000 IPs مختلفة متزامنًا.

Info

القيمة الافتراضية: 64m (64 ميجابايت).

يمكن تعيين هذا المعلم داخل block http فقط.

wallarm_request_chunk_size

تحدد حجم جزء من الطلب الذي يتم معالجته خلال تكرار واحد. يمكنك تعيين قيمة مخصصة للتوجيه wallarm_request_chunk_size في البايتات عبر تعيين أي عدد صحيح له. التوجيه يدعم أيضا اللاحقات التالية:

  • k أو K للكيلوبايت

  • m أو M لميغابايت

  • g أو G لجيغابايت

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية: 8k (8 كيلوبايت).

wallarm_request_memory_limit

تعيين حد للكمية القصوى من الذاكرة التي يمكن استخدامها لمعالجة طلب واحد.

إذا تم تجاوز الحد، سيلغى معالجة الطلب وسيلغى المستخدم الخطأ 500.

يمكن استخدام اللاحقات التالية في هذا المعلم:

  • k أو K للكيلوبايت

  • m أو M لميغابايت

  • g أو G لجيغابايت

قيمة 0 توقف الحد.

افتراضيا، الحدود معطلة.

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و/أو location.

wallarm_stalled_worker_timeout

تعيين حد زمني لمعالجة طلب واحد للعمل عقدة NGINX بالثواني.

إذا تجاوز الزمن الحد، يتم كتابة بيانات حول عمال NGINX إلى القيم stalled_workers_count و stalled_workers إحصائيات العوامل.

Info

يمكن تعيين هذا المعلم داخل blocks http، server، و location.

القيمة الافتراضية: 5 (خمس ثوانٍ)

wallarm_status

تتحكم في خدمة الإحصاءات Wallarm.

تحتوي قيمة التوجيه على التنسيق التالي:

wallarm_status [on|off] [format=json|prometheus];

من الأفضل تكوين خدمة الإحصاءات في ملف خاص بها، وتجنب التوجيه wallarm_status في ملفات الإعداد الأخرى NGINX، لأن الأخير قد يكون غير آمن. يقع ملف التكوين wallarm-status في:

  • /etc/nginx/wallarm-status.conf للمثبت كل في واحد

  • /etc/nginx/conf.d/wallarm-status.conf للتثبيتات الأخرى

إضافة إلى ذلك، ينصح بشدة بعدم تغيير أي من الخطوط الحالية لتكوين wallarm-status الافتراضي حيث أنه قد يفسد عملية تحميل بيانات المتريكات إلى سحابة Wallarm.

Info

يمكن تكوين التوجيه في سياق server و/أو location في NGINX.

القيمة الافتراضية للمعلم format هي json.

wallarm_tarantool_upstream

مع wallarm_tarantool_upstream، يمكنك موازنة الطلبات بين عدة خوادم postanalytics.

مثال:

upstream wallarm_tarantool {
    server 127.0.0.1:3313 max_fails=0 fail_timeout=0 max_conns=1;
    keepalive 1;
}

# متروك

wallarm_tarantool_upstream wallarm_tarantool;

انظر أيضًا إلى وحدة ngx_http_upstream_module.

الشروط المطلوبة

من الضروري تلبية الشروط التالية بالنسبة للعلامات المحددة max_conns و keepalive:

  • يجب أن تكون قيمة العامل keepalive لا تقل عن عدد خوادم Tarantool.
  • يجب تحديد قيمة max_conns لكل من خوادم التدفق العلوي Tarantool لمنع إنشاء اتصالات مفرطة.

Info

العامل يُعد في block http فقط.

wallarm_unpack_response

ما إذا كان سوف يُفك تشفير البيانات المضغوطة المُرجعة في الاستجابة التطبيقية. القيم الممكنة هي on (عملية التفكيك مُمكّنة) و off (عملية التفكيك معطلة).

هذا المعلم فعّال فقط إذا wallarm_parse_response on.

Info

القيمة الافتراضية: on.

wallarm_upstream_backend

وسيلة لإرسال الطلبات المُسلسلة. يمكن إرسال الطلبات إما إلى Tarantool أو إلى الواجهة البرمجية للتطبيقات API.

القيم الممكنة للتوجيه:

  • tarantool

  • api

باعتماد التوجيهات الأخرى، سيتم تعيين القيمة الافتراضية على النحو التالي:

  • tarantool - إذا لم يكن هناك توجيه wallarm_api_conf في التكوين.

  • api - إذا كان هناك توجيه wallarm_api_conf، ولكن لا يوجد توجيه wallarm_tarantool_upstream في التكوين.

    Note

    إذا كان التوجيه wallarm_api_conf و wallarm_tarantool_upstream موجودين في نفس الوقت في التكوين، ستحدث خطأ في التكوين بشكل غامض في التصميم العلوي لـ wallarm.

Info

يمكن تعيين هذا المعلم داخل block http فقط.

wallarm_upstream_connect_attempts

تعرف عدد المحاولات الفورية لإعادة الاتصال بـ Tarantool أو واجهة برمجة التطبيقات API.
إذا تم إنهاء الاتصال بـ Tarantool أو الواجهة البرمجية للتطبيقات API، فلن يحدث محاولة لإعادة الاتصال. ومع ذلك، هذا ليس الأمر في حالة عدم وجود المزيد من الاتصالات وطابور الطلبات المُسلسلة ليس فارغًا.

Note

قد تحدث إعادة الاتصال من خلال خادم آخر، لأن النظام الفرعي "التدفق العلوي" هو المسؤول عن اختيار الخادم.

يمكن تعيين هذا المعلم فقط داخل block http.

wallarm_upstream_reconnect_interval

تحدد الفاصل بين محاولات إعادة الاتصال بـ Tarantool أو واجهة برمجة التطبيقات API بعد أن تجاوز عدد المحاولات الفاشلة الحد الذي حدده wallarm_upstream_connect_attempts.

Info

يمكن تعيين هذا المعلم فقط داخل block http.

wallarm_upstream_connect_timeout

تعريف وقت المهلة للاتصال بـ Tarantool أو واجهة برمجة التطبيقات API.

Info

يمكن تعيين هذا المعلم فقط داخل block http.

wallarm_upstream_queue_limit

تحدد حدًا لعدد الطلبات المُسلسلة.
تعيين المعلم wallarm_upstream_queue_limit متزامنًا وعدم تعيين المعلم wallarm_upstream_queue_memory_limit يعني أن لا يوجد حد على الأخير.

Info

يمكن تعيين هذا المعلم فقط داخل block http.

wallarm_upstream_queue_memory_limit

تحدد حدًا لإجمالي حجم الطلبات المُسلسلة.
تعيين المعلم wallarm_upstream_queue_memory_limit متزامنًا وعدم تعيين المعلم wallarm_upstream_queue_limit يعني أن لا يوجد حد على الأخير.

Info

القيمة الافتراضية: 100m.

يمكن تعيين هذا المعلم فقط داخل block http.

wallarm_upstream_connect_attempts

تعرف عدد المحاولات الفورية للاتصال بـ Tarantool أو API.
إذا تم إنهاء الاتصال بـ Tarantool أو API، فلن يحدث محاولة لإعادة الاتصال. ومع ذلك، هذا ليس الحال عندما لا تكون هناك المزيد من الاتصالات وطابور الطلبات المُسردة ليست فارغًا.

Note

قد تحدث إعادة التواصل من خلال خادم آخر، لأن النظام الفرعي "upstream" هو المسؤول عن اختيار الخادم.

يمكن ضبط هذا المعامل فقط داخل block http.

wallarm_upstream_reconnect_interval

تحدد الفاصل بين محاولات الاتصال بـ Tarantool أو API بعد تجاوز عدد المحاولات الفاشلة الحد الذي حدد في wallarm_upstream_connect_attempts.

Info

يمكن ضبط هذا المعامل فقط داخل block http.

wallarm_upstream_connect_timeout

تعرف مهلة التواصل إلى Tarantool أو API.

Info

يمكن ضبط هذا المعامل فقط داخل block http.

wallarm_upstream_queue_limit

تحدد حدًا لعدد الطلبات المُسلسلة.
تعيين المعلم wallarm_upstream_queue_limit متزامنًا وعدم تعيين المعلم wallarm_upstream_queue_memory_limit يعني أن لا يوجد حد على الأخير.

Info

يمكن ضبط هذا المعامل فقط داخل block http.

wallarm_upstream_queue_memory_limit

تحدد حدًا لإجمالي حجم الطلبات المُسلسلة.
تعيين المعلم wallarm_upstream_queue_memory_limit متزامنًا وعدم تعيين المعلم wallarm_upstream_queue_limit يعني أن لا يوجد حد على الأخير.

Info

القيمة الافتراضية:100m.

يمكن ضبط هذا المعامل فقط داخل block http.