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

تنصيب وحدة Postanalytics بشكل منفصل

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

الخيار لتثبيت وحدة Postanalytics على خادم منفصل متاح للأدوات التالية:

بشكل افتراضي، تدلك تعليمات Wallarm لتثبيت كلا الوحدتين على نفس الخادم.

نظرة عامة

يتألف معالجة الطلبات في وحدة Wallarm من مرحلتين:

  • المعالجة الأولية في وحدة NGINX-Wallarm، والتي لا تتطلب الذاكرة ويمكن تنفيذها على خوادم الواجهة الأمامية دون تغيير متطلبات الخادم.

  • تحليل إحصاءات الطلبات المعالجة في وحدة Postanalytics التي تتطلب الذاكرة.

المخططات أدناه تصور تواصل الوحدة في سيناريوين: عند التثبيت على نفس الخادم وعلى خوادم مختلفة.

تدفق المرور بين Postanalytics وNGINX-Wallarm

تدفق المرور بين Postanalytics وNGINX-Wallarm

طرق التثبيت

يمكنك تثبيت وحدة Postanalytics على خادم منفصل بطريقتين مختلفتين:

  • باستخدام المثبت الشامل (متاح ابتداءً من وحدة Wallarm 4.6) - يتم تلقائية العديد من الأنشطة ويجعل تنشيط وحدة Postanalytics أسهل بكثير. وبالتالي فإنها طريقة التثبيت الموصى بها.

  • يدويا - استخدم لأنواع العقد القديمة.

عند تثبيت وحدة التصفية وPostanalytics بشكل منفصل، يمكنك دمج النهج اليدوي والتلقائي: قم بتثبيت الجزء Postanalytics يدويًا ثم الجزء المرشح باستخدام المثبت الشامل، والعكس: الجزء Postanalytics باستخدام المثبت الشامل ثم الجزء المرشح يدويًا.

التثبيت الآلي الشامل

اعتبارًا من Wallarm العقدة 4.6، لتثبيت Postanalytics بشكل منفصل، يوصى باستخدام التثبيت الشامل الذي يتم تلقائية الكثير من النشاطات ويجعل تنشيط وحدة Postanalytics أسهل بكثير.

المتطلبات

  • Access to the account with the Administrator role in Wallarm Console for the US Cloud or EU Cloud

  • Executing all commands as a superuser (e.g. root)

  • Access to https://meganode.wallarm.com to download all-in-one Wallarm installer. Ensure the access is not blocked by a firewall

  • Access to https://us1.api.wallarm.com if working with US Wallarm Cloud or to https://api.wallarm.com if working with EU Wallarm Cloud. If access can be configured only via the proxy server, then use the instructions

  • Installed text editor vim, nano, or any other. In the commands in this article, vim is used

الخطوة 1: تنزيل المثبت Wallarm الشامل

لتنزيل السكريبت المثبت Wallarm الشامل، قم بتنفيذ الأمر:

curl -O https://meganode.wallarm.com/4.10/wallarm-4.10.2.x86_64-glibc.sh
curl -O https://meganode.wallarm.com/4.10/wallarm-4.10.2.aarch64-glibc.sh

الخطوة 2: تحضير الرمز المميز لـ Wallarm

لتثبيت العقدة، سوف تحتاج إلى رمز Wallarm من النوع المناسب. لتحضير رمز:

  1. افتح Wallarm Console → الإعداداترموز API في السحابة الأمريكية أو السحابة الأوروبية.
  2. ابحث أو أنشئ رمز API بدور المصدر Deploy.
  3. انسخ هذا الرمز.
  1. افتح Wallarm Console → العقد في السحابة الأمريكية أو السحابة الأوروبية.
  2. افعل واحدًا من الأتى:
    • أنشئ العقدة من نوع Wallarm node وانسخ الرمز المميز المولد.
    • استخدم مجموعة العقد الموجودة - انسخ الرمز باستخدام قائمة العقد → نسخ الرمز.

الخطوة 3: تشغيل المثبت Wallarm الشامل لتثبيت Postanalytics

لتثبيت Postanalytics بشكل منفصل باستخدام المثبت Wallarm الشامل، استخدم:

# إذا كنت تستخدم الإصدار x86_64:
sudo env WALLARM_LABELS='group=<GROUP>' sh wallarm-4.10.2.x86_64-glibc.sh postanalytics

# إذا كنت تستخدم الإصدار ARM64
sudo env WALLARM_LABELS='group=<GROUP>' sh wallarm-4.10.2.aarch64-glibc.sh postanalytics

يُحدد المتغير WALLARM_LABELS المجموعة التي سيتم إضافة العقدة إليها (تُستخدم لتجميع العقد منطقياً في واجهة Wallarm Console UI).

# إذا كنت تستخدم الإصدار x86_64:
sudo sh wallarm-4.10.2.x86_64-glibc.sh postanalytics

# إذا كنت تستخدم الإصدار ARM64:
sudo sh wallarm-4.10.2.aarch64-glibc.sh postanalytics

الخطوة 4: تكوين وحدة Postanalytics

الموارد والذاكرة

لتغيير كمية الذاكرة التي يستخدمها Tarantool، ابحث عن الإعداد SLAB_ALLOC_ARENA في ملف /opt/wallarm/env.list. يتم تعيينه لاستخدام 1 جيجا بايت افتراضيًا. إذا كنت بحاجة إلى تغيير هذا، يمكنك ضبط الرقم ليتوافق مع كمية الذاكرة التي يحتاجها في الواقع Tarantool. للحصول على مساعدة حول كم مقدار لتعيين، راجع توصياتنا.

لتغيير الذاكرة المخصصة:

  1. افتح الملف /opt/wallarm/env.list للتحرير:

    sudo vim /opt/wallarm/env.list
    
  2. ضع السمة SLAB_ALLOC_ARENA على حجم الذاكرة. يمكن أن يكون هذا القيمة عدد صحيح أو عائم (النقطة . هي فاصلة عشرية). مثلا:

    SLAB_ALLOC_ARENA=2.0
    

الاستضافة والمنفذ

بشكل افتراضي، تم تعيين وحدة Postanalytics لقبول الاتصالات على كل عناوين IPv4 من المضيف (0.0.0.0) باستخدام المنفذ 3313. يُوصى بالاحتفاظ بالتهيئة الافتراضية ما لم يكن التغيير ضروريًا.

ومع ذلك، إذا كنت بحاجة إلى تغيير التهيئة الافتراضية:

  1. افتح الملف /opt/wallarm/env.list للتحرير:

    sudo vim /opt/wallarm/env.list
    
  2. حدث قيم HOST وPORT حسب الضرورة. قم بتعريف المتغير PORT إذا لم يتم تحديده بالفعل، على سبيل المثال:

    # tarantool
    HOST=0.0.0.0
    PORT=3300
    
  3. افتح الملف /opt/wallarm/etc/wallarm/node.yaml للتحرير:

    sudo vim /opt/wallarm/etc/wallarm/node.yaml
    
  4. أدخل القيم host وport الجديدة للمعلمات tarantool، كما هو موضح أدناه:

    hostname: <اسم عقدة postanalytics>
    uuid: <UUID لعقدة postanalytics>
    secret: <مفتاح السر لعقدة postanalytics>
    tarantool:
        host: '0.0.0.0'
        port: 3300
    

الخطوة 5: تمكين الاتصالات الواردة لوحدة Postanalytics

تستخدم وحدة Postanalytics المنفذ 3313 بشكل افتراضي، ولكن بعض منصات السحابة قد تمنع الاتصالات الواردة على هذا المنفذ.

لضمان الاندماج، سمح بالاتصالات الواردة على المنفذ 3313 أو المنفذ المخصص الخاص بك. هذه الخطوة أساسية للوحدة NGINX-Wallarm، التي تم تثبيتها بشكل منفصل، للتواصل مع مثيل Tarantool.

الخطوة 6: إعادة تشغيل خدمات Wallarm

بعد إجراء التغييرات الضرورية، أعد تشغيل خدمات Wallarm على الجهاز الذي يستضيف وحدة Postanalytics لتطبيق التحديثات:

sudo systemctl restart wallarm.service

الخطوة 7: تثبيت وحدة NGINX-Wallarm على خادم منفصل

بمجرد تثبيت وحدة Postanalytics على الخادم المنفصل:

  1. قم بتثبيت وحدة NGINX-Wallarm على خادم مختلف وفقًا لـ الدليل المناسب.

  2. عند إطلاق سكريبت التثبيت لوحدة NGINX-Wallarm على خادم منفصل، قم بتضمين الخيار filtering، على سبيل المثال:

    # إذا كنت تستخدم الإصدار x86_64:
    sudo env WALLARM_LABELS='group=<GROUP>' sh wallarm-4.10.2.x86_64-glibc.sh filtering
    
    # إذا كنت تستخدم الإصدار ARM64:
    sudo env WALLARM_LABELS='group=<GROUP>' sh wallarm-4.10.2.aarch64-glibc.sh filtering
    

    يُحدد المتغير WALLARM_LABELS المجموعة التي سيتم إضافة العقدة إليها (تُستخدم لتجميع العقد منطقياً في واجهة Wallarm Console UI).

    # إذا كنت تستخدم الإصدار x86_64:
    sudo sh wallarm-4.10.2.x86_64-glibc.sh filtering
    
    # إذا كنت تستخدم الإصدار ARM64:
    sudo sh wallarm-4.10.2.aarch64-glibc.sh filtering
    

الخطوة 8: اتصال وحدة NGINX-Wallarm بوحدة Postanalytics

على الجهاز الذي يحتوي على وحدة NGINX-Wallarm، في ملف التهيئة لـ NGINX، حدد عنوان الخادم لوحدة Postanalytics:

upstream wallarm_tarantool {
    server <ip1>:3313 max_fails=0 fail_timeout=0 max_conns=1;
    server <ip2>:3313 max_fails=0 fail_timeout=0 max_conns=1;

    keepalive 2;
    }

    # omitted

wallarm_tarantool_upstream wallarm_tarantool;
  • يجب تحديد قيمة max_conns لكل من خوادم Tarantool العلوية لمنع إنشاء اتصالات زائدة.

  • قيمة keepalive لا يجب أن تكون أقل من عدد خوادم Tarantool.

بمجرد تغيير ملف التهيئة، أعد تشغيل NGINX / NGINX Plus على خادم وحدة NGINX-Wallarm:

sudo systemctl restart nginx
sudo service nginx restart
sudo systemctl restart nginx
sudo systemctl restart nginx
sudo systemctl restart nginx

الخطوة 9: تحقق من تفاعل وحدتي NGINX‑Wallarm وPostanalytics المنفصلتين

للتحقق من تفاعل وحدتي NGINX‑Wallarm وPostanalytics المنفصلتين، يمكنك إرسال الطلب مع اختبار الهجوم إلى عنوان التطبيق المحمي:

curl http://localhost/etc/passwd

إذا تم تكوين وحدتي NGINX‑Wallarm وPostanalytics المنفصلتين بشكل صحيح، سيتم تحميل الهجوم إلى سحابة Wallarm ويتم عرضه في قسم الهجمات في Wallarm Console:

الهجمات في الواجهة

إذا لم يتم تحميل الهجوم إلى السحابة، يرجى التحقق من عدم وجود أخطاء في تشغيل الخدمات:

  • تحليل سجلات وحدة Postanalytics

    sudo cat /opt/wallarm/var/log/wallarm/tarantool-out.log
    

    إذا كان هناك مثل هذا السجل `SystemError binary: failed to bind: Cannot assign requested address، make sure that the server accepts connection on specified address and port.

  • على الخادم الذي يحتوي على وحدة NGINX‑Wallarm، قم بتحليل سجلات NGINX:

    sudo cat /var/log/nginx/error.log
    

    إذا كان هناك السجل [error] wallarm: <address> connect() failed, تأكد من أن عنوان وحدة postanalytics المنفصلة محدد بشكل صحيح في ملفات التهيئة لوحدة NGINX‑Wallarm وأن الخادم المنفصل لوحدة postanalytics يقبل الاتصال على العنوان والمنفذ المحددين.

  • على الخادم الذي يحتوي على وحدة NGINX‑Wallarm، احصل على إحصاءات الطلبات المعالجة باستخدام الأمر أدناه وتأكد أن قيمة tnt_errors هي 0

    curl http://127.0.0.8/wallarm-status
    

    وصف جميع المعلمات المرجعة بواسطة خدمة الإحصائيات →

التثبيت اليدوي

المتطلبات

  • Access to the account with the Administrator role in Wallarm Console for the US Cloud or EU Cloud

  • SELinux disabled or configured upon the instructions

  • Executing all commands as a superuser (e.g. root)

  • Access to https://repo.wallarm.com to download packages. Ensure the access is not blocked by a firewall

  • Access to https://us1.api.wallarm.com if working with US Wallarm Cloud or to https://api.wallarm.com if working with EU Wallarm Cloud. If access can be configured only via the proxy server, then use the instructions

  • Installed text editor vim, nano, or any other. In the commands in this article, vim is used

الخطوة 1: أضف مستودعات Wallarm

تتم تثبيت وحدة Postanalytics، وكذلك وحدات Wallarm الأخرى، وتحدث من مستودعات Wallarm. لإضافة المستودعات، استخدم الأوامر المناسبة لمنصتك:

sudo apt -y install dirmngr
curl -fsSL https://repo.wallarm.com/wallarm.gpg | sudo apt-key add -
sh -c "echo 'deb https://repo.wallarm.com/debian/wallarm-node buster/4.8/' | sudo tee /etc/apt/sources.list.d/wallarm.list"
sudo apt update
sudo apt -y install dirmngr
curl -fSsL https://repo.wallarm.com/wallarm.gpg | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/wallarm.gpg --import
sudo chmod 644 /etc/apt/trusted.gpg.d/wallarm.gpg
sh -c "echo 'deb https://repo.wallarm.com/debian/wallarm-node bullseye/4.8/' | sudo tee /etc/apt/sources.list.d/wallarm.list"
sudo apt update
curl -fsSL https://repo.wallarm.com/wallarm.gpg | sudo apt-key add -
sh -c "echo 'deb https://repo.wallarm.com/ubuntu/wallarm-node bionic/4.8/' | sudo tee /etc/apt/sources.list.d/wallarm.list"
sudo apt update
curl -fsSL https://repo.wallarm.com/wallarm.gpg | sudo apt-key add -
sh -c "echo 'deb https://repo.wallarm.com/ubuntu/wallarm-node focal/4.8/' | sudo tee /etc/apt/sources.list.d/wallarm.list"
sudo apt update
curl -fsSL https://repo.wallarm.com/wallarm.gpg | sudo apt-key add -
sh -c "echo 'deb https://repo.wallarm.com/ubuntu/wallarm-node jammy/4.8/' | sudo tee /etc/apt/sources.list.d/wallarm.list"
sudo apt update
sudo yum install -y epel-release
sudo rpm -i https://repo.wallarm.com/centos/wallarm-node/7/4.8/x86_64/wallarm-node-repo-4.8-0.el7.noarch.rpm
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -i https://repo.wallarm.com/centos/wallarm-node/7/4.8/x86_64/wallarm-node-repo-4.8-0.el7.noarch.rpm
sudo yum install -y epel-release
sudo rpm -i https://repo.wallarm.com/centos/wallarm-node/8/4.8/x86_64/wallarm-node-repo-4.8-0.el8.noarch.rpm
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo rpm -i https://repo.wallarm.com/centos/wallarm-node/8/4.8/x86_64/wallarm-node-repo-4.8-0.el8.noarch.rpm

الخطوة 2: تثبيت حزم وحدة Postanalytics

قم بتثبيت حزمة wallarm-node-tarantool من مستودع Wallarm لوحدة Postanalytics وقاعدة بيانات Tarantool:

sudo apt -y install --no-install-recommends wallarm-node-tarantool
sudo apt -y install --no-install-recommends wallarm-node-tarantool
sudo yum install -y wallarm-node-tarantool
sudo yum install -y wallarm-node-tarantool
sudo yum install -y wallarm-node-tarantool

الخطوة 3: ربط وحدة Postanalytics بسحابة Wallarm

تتفاعل وحدة Postanalytics مع سحابة Wallarm. يتعين عليك إنشاء عقدة Wallarm لوحدة Postanalytics وربط هذه العقدة بالسحابة. عند الربط، يمكنك تعيين اسم العقدة Postanalytics، تحت الذي سيتم عرضه في واجهة Wallarm Console UI ووضع العقدة في مجموعة العقدة المناسبة (التي تُستخدم لتنظيم عقد منطقيًا في الواجهة الأمامية). يُوصى باستخدام نفس مجموعة العقدة للعقدة التي تعالج حركة البيانات الأولية وللعقدة التي تقوم بخطوة بعد التحليل.

العقد المجمعة

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

لربط العقدة بعد التحليل مع السحابة:

  1. Get Wallarm token of the appropriate type:

    1. Open Wallarm Console → SettingsAPI tokens in the US Cloud or EU Cloud.
    2. Find or create API token with the Node deployment/Deployment usage type.
    3. Copy this token.
    1. Open Wallarm Console → Nodes in the US Cloud or EU Cloud.
    2. Do one of the following:
      • Create the node of the Wallarm node type and copy the generated token.
      • Use existing node group - copy token using node's menu → Copy token.
  2. قم بتشغيل السكريبت register-node على جهاز حيث تقوم بتثبيت العقدة التصفية:

    sudo /usr/share/wallarm-common/register-node -t <TOKEN> --labels 'group=<GROUP>' -H us1.api.wallarm.com --no-sync --no-sync-acl
    
    • <TOKEN> هو القيمة المنسوخة من الرمز API مع الدور Deploy.
    • يتم استخدام المعلمة --labels 'group=<GROUP>' لوضع العقدة الخاصة بك في مجموعة العقدة <GROUP> (موجودة، أو، إذا لم تكن موجودة، ستُنشأ).
    sudo /usr/share/wallarm-common/register-node -t <TOKEN> -H us1.api.wallarm.com --no-sync --no-sync-acl
    
    • <TOKEN> هو القيمة المنسوخة من رمز العقدة.
    • استخدم -H us1.api.wallarm.com للتثبيت في السحابة الأمريكية، وإزالة هذا الخيار للتثبيت في السحابة الأوروبية.
    • قد تضيف -n <HOST_NAME> المعلمة لتعيين اسم مخصص لعينة العقدة الخاصة بك. سيكون الاسم النهائي للعينة: HOST_NAME_NodeUUID.

الخطوة 4: تحديث تكوين وحدة Postanalytics

تقع ملفات تحكم وحدة Postanalytics في المسارات:

  • /etc/default/wallarm-tarantool لأنظمة التشغيل Debian و Ubuntu

  • /etc/sysconfig/wallarm-tarantool لأنظمة التشغيل CentOS و Amazon Linux 2.0.2021x وأقل

لفتح الملف في وضع التحرير، يرجى استخدام الأمر:

sudo vim /etc/default/wallarm-tarantool
sudo vim /etc/default/wallarm-tarantool
sudo vim /etc/sysconfig/wallarm-tarantool
sudo vim /etc/sysconfig/wallarm-tarantool
sudo vim /etc/sysconfig/wallarm-tarantool

الذاكرة

تستخدم وحدة Postanalytics التخزين في الذاكرة Tarantool. بالنسبة لبيئات الإنتاج، يوصى بامتلاك ذاكرة أكبر. إذا كنت تختبر العقدة Wallarm أو تمتلك حجم خادم صغير، فيمكن أن يكون الحجم الأقل كافيًا.

يتم تعيين حجم الذاكرة المخصصة بالجيجا بايت عبر الأمر SLAB_ALLOC_ARENA في ملف التهيئة /etc/default/wallarm-tarantool أو /etc/sysconfig/wallarm-tarantool. يمكن أن تكون القيمة عددًا صحيحًا أو عائمًا (النقطة . هي فاصلة عشرية).

تتم الإشارة إلى التوصيات المفصلة حول تخصيص الذاكرة لـ Tarantool في هذه التعليمات.

عنوان الخادم المنفصل لوحدة Postanalytics

لتعيين عنوان الخادم المنفصل لوحدة Postanalytics:

  1. افتح الملف Tarantool في وضع التحرير:

    sudo vim /etc/default/wallarm-tarantool
    
    sudo vim /etc/default/wallarm-tarantool
    
    sudo vim /etc/sysconfig/wallarm-tarantool
    
    sudo vim /etc/sysconfig/wallarm-tarantool
    
    sudo vim /etc/sysconfig/wallarm-tarantool
    
  2. قم بإلغاء التعليق على متغيرات HOST وPORT واضبط لهم القيم التالية:

    # العنوان والمنفذ للربط
    HOST='0.0.0.0'
    PORT=3313
    
  3. إذا تم إعداد ملف التهيئة لـ Tarantool لقبول الاتصالات على عناوين IP مختلفة عن 0.0.0.0 أو 127.0.0.1، فيرجى توفير العناوين في /etc/wallarm/node.yaml:

    hostname: <اسم عقدة postanalytics>
    uuid: <UUID لعقدة postanalytics>
    secret: <مفتاح السر لعقدة postanalytics>
    tarantool:
        host: '<العنوان IP لـ Tarantool>'
        port: 3313
    

الخطوة 5: إعادة تشغيل خدمات Wallarm

لتطبيق الإعدادات على وحدة Postanalytics:

sudo systemctl restart wallarm-tarantool
sudo systemctl restart wallarm-tarantool
sudo systemctl restart wallarm-tarantool
sudo systemctl restart wallarm-tarantool
sudo systemctl restart wallarm-tarantool

الخطوة 6: تثبيت وحدة NGINX-Wallarm على خادم منفصل

بمجرد تثبيت وحدة Postanalytics على الخادم المنفصل، قم بتثبيت وحدات Wallarm الأخرى على خادم مختلف. فيما يلي الروابط إلى التعليمات المناسبة وأسماء الحزم التي يجب تحديدها لتثبيت وحدة NGINX-Wallarm:

  • NGINX مستقر

    في خطوة تثبيت الحزم، قم بتحديد wallarm-node-nginx وnginx-module-wallarm.

  • NGINX Plus

    في خطوة التثبيت، حدد wallarm-node-nginx وnginx-plus-module-wallarm.

  • NGINX المقدم من التفعيل

    في خطوة التثبيت، حدد wallarm-node-nginx وlibnginx-mod-http-wallarm/nginx-mod-http-wallarm.

The wallarm-node-tarantool package version

The wallarm-node-tarantool package must be of the same or a higher version than the primary NGINX-Wallarm module packages installed on a separate server.

To check versions:

# run from the server with primary NGINX-Wallarm module
apt list wallarm-node-nginx
# run from the server with the postanalytics module
apt list wallarm-node-tarantool
# run from the server with primary NGINX-Wallarm module
apt list wallarm-node-nginx
# run from the server with the postanalytics module
apt list wallarm-node-tarantool
# run from the server with primary NGINX-Wallarm module
yum list wallarm-node-nginx
# run from the server with the postanalytics module
yum list wallarm-node-tarantool
# run from the server with primary NGINX-Wallarm module
yum list wallarm-node-nginx
# run from the server with the postanalytics module
yum list wallarm-node-tarantool
# run from the server with primary NGINX-Wallarm module
yum list wallarm-node-nginx
# run from the server with the postanalytics module
yum list wallarm-node-tarantool

الخطوة 7: ربط وحدة NGINX-Wallarm بوحدة Postanalytics

على الجهاز الذي يحتوي على وحدة NGINX-Wallarm، في ملف التهيئة لـ NGINX، حدد عنوان الخادم لوحدة Postanalytics:

upstream wallarm_tarantool {
    server <ip1>:3313 max_fails=0 fail_timeout=0 max_conns=1;
    server <ip2>:3313 max_fails=0 fail_timeout=0 max_conns=1;

    keepalive 2;
    }

    # omitted

wallarm_tarantool_upstream wallarm_tarantool;
  • يجب تحديد قيمة max_conns لكل من خوادم Tarantool العلوية لمنع إنشاء اتصالات زائدة.

  • قيمة keepalive لا يجب أن تكون أقل من عدد خوادم Tarantool.

  • السطر # wallarm_tarantool_upstream wallarm_tarantool; معلق بشكل افتراضي - يرجى حذف #.

بمجرد تغيير ملف التهيئة، أعد تشغيل NGINX / NGINX Plus على خادم وحدة NGINX-Wallarm:

sudo systemctl restart nginx
sudo service nginx restart
sudo systemctl restart nginx
sudo systemctl restart nginx
sudo systemctl restart nginx

الخطوة 8: تحقق من تفاعل وحدتي NGINX‑Wallarm وPostanalytics المنفصلتين

للتحقق من تفاعل وحدتي NGINX‑Wallarm وPostanalytics المنفصلتين، يمكنك إرسال الطلب مع اختبار الهجوم إلى عنوان التطبيق المحمي:

curl http://localhost/etc/passwd

إذا تم تكوين وحدتي NGINX‑Wallarm وPostanalytics المنفصلتين بشكل صحيح، سيتم تحميل الهجوم إلى سحابة Wallarm ويتم عرضه في قسم الهجمات في Wallarm Console:

الهجمات في الواجهة

إذا لم يتم تحميل الهجوم إلى السحابة، يرجى التحقق من عدم وجود أخطاء في تشغيل الخدمات:

  • تأكد من أن خدمة postanalytics wallarm-tarantool في الحالة active

    sudo systemctl status wallarm-tarantool
    

wallarm-tarantool status

  • تحليل سجلات وحدة Postanalytics

    sudo cat /var/log/wallarm/tarantool.log
    

    إذا كان هناك مثل هذا السجل SystemError binary: failed to bind: Cannot assign requested address, تأكد من أن الخادم يقبل الاتصال على العنوان والمنفذ المحددين.

  • على الخادم الذي يحتوي على وحدة NGINX‑Wallarm، قم بتحليل سجلات NGINX:

    sudo cat /var/log/nginx/error.log
    

    إذا كان هناك السجل [error] wallarm: <address> connect() failed, تأكد من أن عنوان وحدة postanalytics المنفصلة محدد بشكل صحيح في ملفات التهيئة لوحدة NGINX‑Wallarm وأن الخادم المنفصل لوحدة postanalytics يقبل الاتصال على العنوان والمنفذ المحددين.

  • على الخادم الذي يحتوي على وحدة NGINX‑Wallarm، احصل على إحصاءات الطلبات المعالجة باستخدام الأمر أدناه وتأكد أن قيمة tnt_errors هي 0

    curl http://127.0.0.8/wallarm-status
    

    وصف جميع المعلمات المرجعة بواسطة خدمة الإحصائيات →

حماية وحدة Postanalytics

حماية وحدة Postanalytics التي تم تثبيتها حديثًا

نوصي بشدة بحماية وحدة Postanalytics التي تم تثبيتها حديثًا باستخدام جدار الحماية. خلاف ذلك، هناك خطر في الحصول على وصول غير مصرح به إلى الخدمة والذي قد يؤدي إلى:

  • الكشف عن معلومات حول الطلبات المعالجة
  • إمكانية تنفيذ كود Lua وأوامر نظام التشغيل التعسفية

يرجى ملاحظة أن مثل هذا الخطر لا يوجد إذا كانت وحدة Postanalytics تتوافق مع وحدة NGINX-Wallarm على نفس الخادم. هذا يعني أن وحدة Postanalytics ستستمع إلى المنفذ 3313.

فيما يلي إعدادات جدار الحماية التي يجب تطبيقها على وحدة Postanalytics التي تم تثبيتها بشكل منفصل:

  • السماح بحركة مرور HTTPS من وإلى خوادم API Wallarm، بحيث يمكن لوحدة Postanalytics التفاعل مع هذه الخوادم:
    • us1.api.wallarm.com هو خادم API في السحابة الأمريكية Wallarm
    • api.wallarm.com هو خادم API في السحابة الأوروبية Wallarm
  • احصر الوصول إلى منفذ 3313 Tarantool عبر بروتوكولي TCP و UDP من خلال السماح بالاتصالات فقط من عناوين IP للعقد Wallarm التصفية.

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

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