مرجع التشغيل والضبط لطريق Edge Microgateway

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

Edge Microgateway، الإصدار 2.4.x

نظرة عامة

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

إجراء تغييرات على الضبط

تتضمن ملفات الضبط التي تحتاج إلى معرفتها ما يلي:

  • ملف إعداد النظام التلقائي
  • ملف الإعداد التلقائي لمثيل Edge Microgateway الذي تم إعداده حديثًا
  • ملف الإعداد الديناميكي لمثيلات التشغيل

يناقش هذا القسم هذه الملفات وما تحتاج إلى معرفته حول تغييرها. ولمعرفة التفاصيل حول إعدادات ملف الضبط، يُرجى الاطّلاع على مرجع إعدادات Edge Microgateway.

ملف إعداد النظام التلقائي

عند تثبيت Edge Microgateway، يتم وضع ملف إعداد نظام تلقائي هنا:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

حيث يكون [prefix] هو دليل البادئة npm. راجِع مكان تثبيت Edge Microgateway.

إذا غيّرت ملف إعداد النظام، يجب إعادة ضبط إعدادات متصفّح Edge Microgateway وإعادة ضبطه:

  1. الاتصال بـ edgemicro init
  2. الاتصال بـ edgemicro configure [params]
  3. الاتصال بـ edgemicro start [params]

ملف الإعداد التلقائي لمثيلات Edge Microgateway التي تم إعدادها حديثًا

عند تشغيل edgemicro init، يتم وضع ملف إعداد النظام default.yaml (الموضّح أعلاه) في هذا الدليل: ~/.edgemicro

إذا غيّرت ملف الإعداد في ~/.edgemicro، يجب إعادة ضبط Edge Microgateway وإعادة تشغيله:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

ملف الإعداد الديناميكي لمثيلات التشغيل

عند تشغيل edgemicro configure [params]، يتم إنشاء ملف إعداد ديناميكي في ~/.edgemicro. تتم تسمية الملف وفقًا للنمط التالي: [org]-[env]-config.yaml، حيث يشير org وenv إلى اسم مؤسستك والبيئة في Apigee Edge. يمكنك استخدام هذا الملف لإجراء تغييرات على الإعدادات، ثم إعادة تحميلها بدون أي وقت للتوقّف. على سبيل المثال، إذا أضفت مكوّنًا إضافيًا وقمت بإعداده، يمكنك إعادة تحميل الإعدادات بدون التعرض لأي فترة توقُّف عن العمل، كما هو موضّح أدناه.

إذا كان Edge Microgateway قيد التشغيل (خيار وقت الاستراحة صفر):

  1. أعِد تحميل إعدادات Edge Microgateway:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    المكان:

    • org هو اسم مؤسستك في Edge (يجب أن تكون مشرف مؤسسة).
    • env هي بيئة في مؤسستك (مثل test أو prod).
    • key هو المفتاح الذي يعرضه الأمر Configuration سابقًا.
    • secret هو المفتاح الذي يعرضه الأمر setup (الضبط).

    مثال

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

إذا تم إيقاف Edge Microgateway:

  1. أعِد تشغيل Edge Microgateway:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    المكان:

    • org هو اسم مؤسستك في Edge (يجب أن تكون مشرف مؤسسة).
    • env هي بيئة في مؤسستك (مثل test أو prod).
    • key هو المفتاح الذي يعرضه الأمر Configuration سابقًا.
    • secret هو المفتاح الذي يعرضه الأمر setup (الضبط).

    مثال

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

وإليك مثال على ملف الإعداد. للحصول على تفاصيل حول إعدادات ملف الضبط، يُرجى الاطّلاع على مرجع ضبط Edge Microgateway.

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

إعداد متغيرات البيئة

يمكن تخزين أوامر واجهة سطر الأوامر التي تتطلب قيمًا لتنظيم وإدارة Edge، والمفتاح والسر اللازمين لبدء تشغيل Edge Microgateway في متغيرات البيئة التالية:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

إنّ ضبط هذه المتغيّرات هو إجراء اختياري. وفي حال ضبطها، لن تضطر إلى تحديد قيمها عند استخدام واجهة سطر الأوامر (CLI) لضبط إعدادات Edge Microgateway وبدء تشغيلها.

ضبط طبقة المقابس الآمنة على خادم Edge Microgateway

يمكنك تهيئة خادم Microgateway لاستخدام طبقة المقابس الآمنة. على سبيل المثال، عند ضبط طبقة المقابس الآمنة، يمكنك استدعاء واجهات برمجة التطبيقات من خلال Edge Microgateway باستخدام بروتوكول "https" على النحو التالي:

https://localhost:8000/myapi

لتهيئة طبقة المقابس الآمنة على خادم Microgateway، اتبع الخطوات التالية:

  1. أنشئ شهادة ومفتاح طبقة المقابس الآمنة (SSL) أو احصل عليها باستخدام الأداة المساعدة openssl أو بأي طريقة تفضلها.
  2. أضِف السمة edgemicro:ssl إلى ملف إعداد Edge Microgateway. للحصول على قائمة كاملة بالخيارات، يُرجى الاطّلاع على الجدول أدناه. للحصول على تفاصيل حول تعديل إعدادات Edge Microgateway، يُرجى الاطّلاع على إجراء تغييرات على الإعدادات. على سبيل المثال:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
             requestCert: true 
    
  3. أعِد تشغيل Edge Microgateway. اتّبِع الخطوات الموضّحة في إجراء تغييرات على الإعدادات استنادًا إلى ملف الإعداد الذي عدّلته: الملف التلقائي أو ملف ضبط وقت التشغيل.

في ما يلي مثال على قسم Edgemicro في ملف الإعداد، مع ضبط طبقة المقابس الآمنة (SSL):

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

في ما يلي قائمة بجميع خيارات الخادم المتوافقة:

Option الوصف
key المسار إلى ملف ca.key (بتنسيق PEM)
cert المسار إلى ملف ca.cert (بتنسيق PEM)
pfx مسار إلى ملف pfx يحتوي على المفتاح الخاص والشهادة وشهادات CA للعميل بتنسيق PFX.
passphrase سلسلة تحتوي على عبارة المرور للمفتاح الخاص أو PFX.
ca مسار إلى ملف يحتوي على قائمة بالشهادات الموثوق بها بتنسيق PEM.
ciphers سلسلة تصف الرموز المطلوب استخدامها مفصولة بعلامة ":".
rejectUnauthorized إذا كانت true، يتم التحقق من شهادة الخادم من خلال قائمة مراجع التصديق المُدخلة. وإذا تعذّر إثبات الملكية، سيظهر خطأ.
secureProtocol طريقة طبقة المقابس الآمنة (SSL) المستخدمة. على سبيل المثال، SSLv3_method لفرض طبقة المقابس الآمنة على الإصدار 3.
servername اسم الخادم لإضافة بروتوكول أمان طبقة النقل (SNI) لطبقة النقل الآمنة.
requestCert صحيح بالنسبة لطبقة المقابس الآمنة ثنائية الاتجاه، وخطأ لطبقة المقابس الآمنة أحادية الاتجاه

استخدام خيارات طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل (TLS) للعميل

يمكنك إعداد Edge Microgateway ليكون برنامج بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة عند الاتصال بنقاط النهاية المستهدفة. في ملف إعداد Microgateway، استخدِم عنصر الاستهداف لضبط خيارات طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل (TLS).

يوفر هذا المثال الإعدادات التي سيتم تطبيقها على جميع المضيفين:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

في هذا المثال، لا يتم تطبيق الإعدادات إلا على المضيف المحدّد:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

وفي ما يلي مثال على بروتوكول أمان طبقة النقل (TLS):

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

في ما يلي قائمة بجميع خيارات البرامج المتوافقة:

Option الوصف
pfx مسار إلى ملف pfx يحتوي على المفتاح الخاص والشهادة وشهادات CA للعميل بتنسيق PFX.
key المسار إلى ملف ca.key (بتنسيق PEM)
passphrase سلسلة تحتوي على عبارة المرور للمفتاح الخاص أو PFX.
cert المسار إلى ملف ca.cert (بتنسيق PEM)
ca مسار إلى ملف يحتوي على قائمة بالشهادات الموثوق بها بتنسيق PEM.
ciphers سلسلة تصف الرموز المطلوب استخدامها مفصولة بعلامة ":".
rejectUnauthorized إذا كانت true، يتم التحقق من شهادة الخادم من خلال قائمة مراجع التصديق المُدخلة. وإذا تعذّر إثبات الملكية، سيظهر خطأ.
secureProtocol طريقة طبقة المقابس الآمنة (SSL) المستخدمة. على سبيل المثال، SSLv3_method لفرض طبقة المقابس الآمنة على الإصدار 3.
servername اسم الخادم لإضافة بروتوكول أمان طبقة النقل (SNI) لطبقة النقل الآمنة.

تخصيص الخادم الوكيل للمصادقة الصغيرة

بشكل تلقائي، يستخدم Edge Microgateway خادمًا وكيلاً تم نشره على Apigee Edge لمصادقة OAuth2. يتم تفعيل هذا الخادم الوكيل عند تشغيل edgemicro configure في البداية. يمكنك تغيير الإعدادات التلقائية لهذا الخادم الوكيل لإتاحة المطالبات المخصّصة إلى رمز JSON المميّز للويب (JWT) وضبط تاريخ انتهاء صلاحية الرمز المميز وإنشاء رموز مميّزة لإعادة التحميل. لمعرفة التفاصيل، يمكنك الاطّلاع على صفحة Edgemicro-auth (المصادقة الحديثة) في GitHub.

استخدام خدمة مصادقة مخصّصة

بشكل تلقائي، يستخدم Edge Microgateway خادمًا وكيلاً تم نشره على Apigee Edge لمصادقة OAuth2. يتم تفعيل هذا الخادم الوكيل عند تشغيل edgemicro configure في البداية. يتم تلقائيًا تحديد عنوان URL لهذا الخادم الوكيل في ملف إعداد Edge Microgateway على النحو التالي:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

إذا كنت تريد استخدام خدمتك المخصّصة لمعالجة المصادقة، غيِّر قيمة authUri في ملف الإعداد للإشارة إلى الخدمة. على سبيل المثال، قد تكون لديك خدمة تستخدم LDAP لإثبات الهوية.

إدارة ملفات السجلّ

ويسجّل Edge Microgateway المعلومات المتعلقة بكل طلب واستجابة. توفِّر ملفات السجلّ معلومات مفيدة لتصحيح الأخطاء وتحديد المشاكل وحلّها.

مكان تخزين ملفات السجلّ

يتم تخزين ملفات السجلّ تلقائيًا في /var/tmp.

كيفية تغيير الدليل التلقائي لملف السجلّ

يتم تحديد الدليل الذي يتم فيه تخزين ملفات السجلّ في ملف إعداد Edge Microgateway. لمعرفة التفاصيل حول إجراء تغييرات على الإعدادات، يُرجى الاطّلاع على إجراء تغييرات على الإعدادات.

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

غيِّر القيمة dir لتحديد دليل ملف سجلّ مختلف.

إرسال السجلّات إلى وحدة التحكّم

يمكنك ضبط التسجيل بحيث يتم إرسال معلومات السجلّ إلى إخراج عادي بدلاً من ملف السجلّ. اضبط العلامة to_console على "صحيح" كما يلي:

edgemicro:
  logging:
    to_console: true  

من خلال هذا الإعداد، سيتم إرسال السجلات إلى الوضع العادي. في الوقت الحالي، لا يمكنك إرسال السجلات إلى كلّ من stdout وملف السجلّ.

كيفية ضبط مستوى التسجيل

يمكنك ضبط مستويات السجلّ التالية: info وwarn وerror. يُنصح باستخدام مستوى المعلومات. وهو يسجّل جميع طلبات واستجابات واجهة برمجة التطبيقات، وهو الإعداد التلقائي.

كيفية تغيير الفواصل الزمنية للسجلات

يمكنك تهيئة هذه الفواصل الزمنية في ملف تهيئة Edge Microgateway. لمعرفة التفاصيل حول إجراء تغييرات على الإعدادات، يُرجى الاطّلاع على إجراء تغييرات على الإعدادات.

السمات القابلة للتهيئة هي:

  • stats_log_interval: (الإعداد التلقائي: 60) الفاصل الزمني بالثواني، عندما تتم كتابة سجلّ الإحصاءات في ملف سجلّ واجهة برمجة التطبيقات.
  • rotate_interval: (الإعداد التلقائي: 24) الفاصل الزمني بالساعات عندما يتم تدوير ملفات السجلّ. مثلاً:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

ملاحظة: لا يتم ضغط ملفات السجلات المؤرشفة. عند بدء الفاصل الزمني، يتم إنشاء ملف سجلّ جديد بطابع زمني جديد.

الممارسات الجيدة لصيانة ملفات السجلّ

مع تراكم بيانات ملف السجلّ بمرور الوقت، تنصح Apigee باتّباع الممارسات التالية:

  • بما أنّ حجم ملفات السجلّ يمكن أن يصبح كبيرًا جدًا، تأكَّد من توفّر مساحة كافية في دليل ملف السجلّ. راجِع القسمَين التاليَين مكان تخزين ملفات السجلّ وكيفية تغيير الدليل التلقائي لملف السجلّ.
  • احذف ملفات السجلّ أو انقلها إلى دليل أرشيف منفصل مرة واحدة على الأقل في الأسبوع.
  • إذا كانت سياستك هي حذف السجلات، يمكنك استخدام أمر واجهة سطر الأوامر edgemicro log -c لإزالة السجلات القديمة (تنظيف).

اصطلاح تسمية ملف السجل

ينتج عن كل مثيل Edge Microgateway ثلاثة أنواع من ملفات السجل:

  • api - لتسجيل جميع الطلبات والردود التي تتدفق من خلال Edge Microgateway. يتم أيضًا تسجيل عدّادات واجهة برمجة التطبيقات (stats) والأخطاء في هذا الملف.
  • err - لتسجيل أي شيء تم إرساله إلى stderr.
  • out - لتسجيل أي شيء يتم إرساله إلى stdout

هذا هو اصطلاح التسمية:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

مثلاً:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

لمحة عن محتوى ملف السجلّ

تمت الإضافة في: v2.3.3

تحذف خدمة التسجيل تلقائيًا ملف JSON للخوادم الوكيلة التي تم تنزيلها والمنتجات ورمز JSON للويب المميّز (JWT). إذا كنت تريد إخراج هذه العناصر إلى ملفات السجلّ، اضبط DEBUG=* عند بدء تشغيل Edge Microgateway. مثلاً:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

ملاحظة: على نظام التشغيل Windows، استخدِم SET DEBUG=*.

محتويات ملف سجل "واجهة برمجة التطبيقات"

يحتوي ملف سجلّ "واجهة برمجة التطبيقات" على معلومات مفصّلة حول تدفق الطلبات والردود من خلال Edge Microgateway. تتم تسمية ملفات سجل "واجهة برمجة التطبيقات" على النحو التالي:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

لكل طلب يتم إجراؤه على Edge Microgateway، يتم تسجيل أربعة أحداث في ملف سجلّ "واجهة برمجة التطبيقات":

  • طلب وارد من العميل
  • تم إرسال طلب صادر إلى الهدف
  • ردّ وارد من المستخدِم المستهدَف
  • رد صادر إلى العميل

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

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

لنلقِ نظرة عليها واحدة تلو الأخرى:

1- نموذج للطلب الوارد من العميل:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - طابع تاريخ Unix
  • info: يعتمد على السياق. يمكن أن تكون معلومات أو تحذير أو خطأ، بناءً على مستوى السجلّ. يمكن أن تكون إحصاءات لسجلّ الإحصاءات، أو تحذير في حال توفّر تحذيرات، أو عند رصد أخطاء.
  • req - لتحديد الحدث. في هذه الحالة، يمكنك الطلب من العميل.
  • m - فعل HTTP المستخدَم في الطلب.
  • u - الجزء الذي يلي المسار الأساسي في عنوان URL.
  • h - المضيف ورقم المنفذ حيث يستمع Edge Microgateway.
  • r - المضيف البعيد والمنفذ حيث نشأ طلب العميل.
  • i - معرِّف الطلب ستشترك جميع الإدخالات الأربعة للحدث هذا المعرّف. ويتم تخصيص معرّف طلب فريد لكل طلب. ويمكن أن يؤدي ربط سجلّات السجلّ حسب رقم تعريف الطلب إلى توفير معلومات قيّمة حول وقت استجابة الهدف.
  • d - المدة بالملّي ثانية منذ تلقّي الطلب من قِبل Edge Microgateway. في المثال أعلاه، تم تلقّي ردّ الهدف على الطلب 0 بعد 7 ملي ثانية (السطر 3)، وتم إرسال الردّ إلى العميل بعد 4 ملي ثانية إضافية (السطر 4). بمعنى آخر، كان إجمالي وقت استجابة الطلب 11 ملي ثانية، واستهلك منه الهدف 7 ملي ثانية و4 ملي ثانية من خلال Edge Microgateway نفسه.

2. نموذج من الطلب الصادر إلى الهدف:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - طابع تاريخ Unix
  • info: يعتمد على السياق. يمكن أن تكون معلومات أو تحذير أو خطأ، بناءً على مستوى السجلّ. يمكن أن تكون إحصاءات لسجلّ الإحصاءات، أو تحذير في حال توفّر تحذيرات، أو عند رصد أخطاء.
  • treq - لتحديد الحدث. وفي هذه الحالة، يمكنك استهداف الطلب.
  • m - فعل HTTP المستخدَم في الطلب المستهدف.
  • u - الجزء الذي يلي المسار الأساسي في عنوان URL.
  • h - المضيف ورقم المنفذ لهدف الخلفية.
  • i - رقم تعريف إدخال السجلّ وستشارك جميع إدخالات الفعاليات الأربعة هذا المعرّف.

3. نموذج للردود الواردة من المجموعة المستهدَفة

1436403888672 info tres s=200, d=7, i=0

1436403888651 - طابع تاريخ Unix

  • info: يعتمد على السياق. يمكن أن تكون معلومات أو تحذير أو خطأ، بناءً على مستوى السجلّ. يمكن أن تكون إحصاءات لسجلّ الإحصاءات، أو تحذير في حال توفّر تحذيرات، أو عند رصد أخطاء.
  • tres - لتحديد الحدث. في هذه الحالة، الاستجابة المستهدفة.
  • s - حالة استجابة HTTP
  • d - المدة بالميلي ثانية الوقت المستغرَق في طلب البيانات من واجهة برمجة التطبيقات حسب الهدف.
  • i - رقم تعريف إدخال السجلّ وستشارك جميع إدخالات الفعاليات الأربعة هذا المعرّف.

4. نموذج رد صادر للعميل

1436403888676 info res s=200, d=11, i=0

1436403888651 - طابع تاريخ Unix

  • info: يعتمد على السياق. يمكن أن تكون معلومات أو تحذير أو خطأ، بناءً على مستوى السجلّ. يمكن أن تكون إحصاءات لسجلّ الإحصاءات، أو تحذير في حال توفّر تحذيرات، أو عند رصد أخطاء.
  • res - لتحديد الحدث. في هذه الحالة، الردّ على العميل.
  • s - حالة استجابة HTTP
  • d - المدة بالميلي ثانية هذا هو إجمالي الوقت الذي يستغرقه طلب البيانات من واجهة برمجة التطبيقات، بما في ذلك الوقت الذي تستغرقه واجهة برمجة التطبيقات المستهدَفة والوقت الذي يستغرقه برنامج Edge Microgateway.
  • i - رقم تعريف إدخال السجلّ وستشارك جميع إدخالات الفعاليات الأربعة هذا المعرّف.

الجدول الزمني لملف السجلّ

يتم تدوير ملفات السجلّ حسب الفاصل الزمني الذي تحدّده سمة الإعدادات rotate_interval. ستستمر إضافة الإدخالات إلى ملف السجلّ نفسه إلى أن تنتهي صلاحية الفاصل الزمني للتناوب. مع ذلك، في كل مرة تتم فيها إعادة تشغيل Edge Microgateway، يتلقّى المستخدم معرّفًا فريدًا (UID) جديدًا وينشئ مجموعة جديدة من ملفات السجلّ باستخدام المعرّف الفريد هذا. راجِع أيضًا الممارسات الجيدة لصيانة ملفات السجلّ.

مرجع ضبط إعدادات الحافة المصغّرة

موقع ملف الإعداد

توجد سمات الإعدادات الموضحة في هذا القسم في ملف إعداد Edge Microgateway. لمعرفة التفاصيل حول إجراء تغييرات على الإعدادات، يُرجى الاطّلاع على إجراء تغييرات على الإعدادات.

سمات Edge_config

تُستخدَم هذه الإعدادات لضبط التفاعل بين مثيل Edge Microgateway وApigee Edge.

  • bootstrap: (تلقائي: none) عنوان URL يشير إلى خدمة خاصة بـ Edge Microgateway تعمل على Apigee Edge. يستخدم Edge Microgateway هذه الخدمة للتواصل مع Apigee Edge. يتم عرض عنوان URL هذا عند تنفيذ الأمر لإنشاء زوج المفاتيح العام/الخاص: edgemicro genkeys. راجِع إعداد Edge Microgateway وضبطه للحصول على التفاصيل.
  • jwt_public_key: (تلقائي: none) عنوان URL يشير إلى الخادم الوكيل Edge Microgateway المنشور على Apigee Edge. يعمل هذا الخادم الوكيل كنقطة نهاية للمصادقة لإصدار رموز الدخول المُوقَّعة للعملاء. يتم عرض عنوان URL هذا عند تنفيذ الأمر لنشر الخادم الوكيل: edgemicro setup. راجِع إعداد Edge Microgateway وضبطه للحصول على التفاصيل.

سمات Edgemicro

تعمل هذه الإعدادات على تهيئة عملية Edge Microgateway.

  • port: (الإعداد التلقائي: 8000) رقم المنفذ الذي يتم من خلاله الاستماع في عملية Edge Microgateway.
  • max_connections: (تلقائي: -1) تحدّد هذه السمة الحدّ الأقصى لعدد الاتصالات الواردة المتزامنة التي يمكن أن يتلقّاها Edge Microgateway. إذا تم تجاوز هذا الرقم، يتم عرض الحالة التالية:

    res.statusCode = 429; // Too many requests
  • max_connections_hard: (تلقائي: -1) الحدّ الأقصى لعدد الطلبات المتزامنة التي يمكن أن يتلقّاها Edge Microgateway قبل إيقاف الاتصال. ويهدف هذا الإعداد إلى إحباط هجمات الحرمان من الخدمات. ويمكنك عادةً ضبطه على رقم أكبر من max_connections.
  • تسجيل الدخول:
    • level: (تلقائي: خطأ)
      • info: لتسجيل جميع الطلبات والردود التي تتدفق من خلال مثيل Edge Microgateway.
      • warn - لتسجيل رسائل التحذير فقط.
      • error - لتسجيل رسائل الخطأ فقط.
    • dir: (تلقائي: /var/tmp) الدليل الذي يتم تخزين ملفات السجل فيه.
    • stats_log_interval: (الإعداد التلقائي: 60) الفاصل الزمني بالثواني، عندما تتم كتابة سجلّ الإحصاءات في ملف سجلّ واجهة برمجة التطبيقات.
    • rotate_interval: (الإعداد التلقائي: 24) الفاصل الزمني بالساعات عندما يتم تدوير ملفات السجلّ.
  • dir: مسار نسبي من دليل ./gateway إلى الدليل ./Plugins أو مسار مطلق.
  • التسلسل: قائمة بوحدات المكوّنات الإضافية لإضافتها إلى مثيل Edge Microgateway. سيتم تنفيذ الوحدات بالترتيب المحدَّد هنا.
  • تصحيح الأخطاء: لإضافة تصحيح الأخطاء عن بُعد إلى عملية Edge Microgateway.
    • port: رقم المنفذ المطلوب الاستماع إليه على سبيل المثال، يمكنك ضبط برنامج تصحيح أخطاء IDE للاستماع عبر هذا المنفذ.
    • args: الوسيطات لعملية تصحيح الأخطاء. مثلاً: args --nolazy
  • config_change_poll_interval: (الإعداد التلقائي: 600 ثانية) تُحمِّل Edge Microgateway إعدادات جديدة بشكل دوري وتنفِّذ عملية إعادة تحميل في حال حدوث أي تغيير. يرصد الاستطلاع أي تغييرات تم إجراؤها على Edge (التغييرات على المنتجات، والخوادم الوكيلة الواعية للبوابة الصغيرة، وغير ذلك)، بالإضافة إلى التغييرات التي يتم إجراؤها على ملف الإعداد على الجهاز.
  • disable_config_poll_interval: (الخيار التلقائي: خطأ) اضبط على true من أجل إيقاف الاستطلاع التلقائي عن التغيير.
  • request_timeout: لضبط مهلة للطلبات المستهدفة. يتم ضبط المهلة بالثواني. في حالة انتهاء المهلة، يستجيب Edge Microgateway برمز الحالة 504. (تمت إضافة الإصدار 2.4.x)

سمات العناوين

تحدد هذه الإعدادات كيفية التعامل مع عناوين HTTP معينة.

  • x-forwarded-for: (تلقائي: true) يتم الضبط على "خطأ" لمنع تمرير العناوين x-forwarded-for إلى الهدف. تجدر الإشارة إلى أنّه إذا تضمّن الطلب عنوان x-مُعاد توجيهه، سيتم ضبط قيمته على قيمة client-ip في إحصاءات Edge.
  • x-forwarded-host: (تلقائي: true) يتم ضبطها على "خطأ" لمنع تمرير عناوين x-forwarded-host إلى الهدف.
  • x-request-id: (تلقائي: true) يتم الضبط على "خطأ" لمنع تمرير عناوين x-request-id إلى الهدف.
  • x-response-time: (تلقائي: true) يتم ضبطه على "خطأ" لمنع تمرير عناوين x-response-time إلى الهدف.
  • via: (default: true) يتم الضبط على "خطأ" لمنع تمرير العناوين إلى الهدف.

سمات OAuth

تضبط هذه الإعدادات كيفية فرض مصادقة العميل من خلال Edge Microgateway.

  • allowNoAuthorization: (تلقائي: خطأ) في حال ضبط هذه السياسة على "صحيح"، سيتم السماح بتمرير طلبات البيانات من واجهة برمجة التطبيقات عبر Edge Microgateway بدون أي عنوان تفويض على الإطلاق. ويمكنك ضبط هذا الإعداد على "خطأ" لطلب عنوان تفويض (تلقائي).
  • allowInvalidAuthorization: (تلقائي: false) في حال ضبطها على "صحيح"، يتم السماح بتمرير طلبات البيانات من واجهة برمجة التطبيقات إذا كان الرمز المميّز الذي تم تمريره في عنوان التفويض غير صالح أو منتهي الصلاحية. اضبط هذه السمة على "خطأ" لطلب رموز مميزة صالحة (الخيار التلقائي).
  • Authorize-header: (الإعداد التلقائي: التفويض: الحامل) هو العنوان المستخدَم لإرسال رمز الدخول إلى Edge Microgateway. وقد تحتاج إلى تغيير الإعداد التلقائي في الحالات التي يحتاج فيها الهدف إلى استخدام عنوان التفويض لغرض آخر.
  • api-key-header: (تلقائي: x-api-key) اسم العنوان أو مَعلمة طلب البحث المستخدَمة لتمرير مفتاح واجهة برمجة تطبيقات إلى Edge Microgateway. يمكنك الاطّلاع أيضًا على استخدام مفتاح واجهة برمجة التطبيقات.
  • keepAuthHeader: (الإعداد التلقائي: "خطأ)" في حال ضبط السياسة على "صحيح"، يتم تمرير رأس التفويض المُرسَل في الطلب إلى الهدف (يتم الاحتفاظ به).
  • allowOAuthOnly -- في حال ضبط هذه السياسة على "true"، يجب أن تتضمن كل واجهة برمجة تطبيقات عنوان تفويض مع رمز دخول الحامل المميز. يسمح لك هذا الخيار بالسماح بنموذج أمان OAuth فقط (مع الحفاظ على التوافق مع الأنظمة القديمة). (تمت إضافة 4.2.x)
  • allowAPIKeyOnly: في حال ضبط السياسة على "صحيح"، يجب أن تتضمّن كل واجهة برمجة تطبيقات عنوان x-api-key (أو موقعًا مخصّصًا) مع مفتاح واجهة برمجة التطبيقات.ويسمح لك هذا الإجراء بالسماح بنموذج أمان مفتاح واجهة برمجة التطبيقات فقط (مع الحفاظ على التوافق مع الأنظمة القديمة). (تمت إضافة 4.2.x)

السمات الخاصة بالمكوِّن الإضافي

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

فلترة الخوادم الوكيلة

يمكنك تصفية أي الخوادم الوكيلة الواعية ببوابة صغيرة سيعالجها مثيل Edge Microgateway. عند بدء تشغيل Edge Microgateway، نزِّل جميع الخوادم الوكيلة الواعية للبوابة الصغيرة في المؤسسة المرتبطة بها. استخدِم الإعدادات التالية لتحديد الخوادم الوكيلة التي ستتم معالجتها من خلال البوابة الصغيرة. على سبيل المثال، تفرض هذه الإعدادات قيودًا على الخوادم الوكيلة التي ستعالجها البوابة المصغّرة إلى ثلاثة: edgemicro_proxy-1 وedgemicro_proxy-2 وedgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

إخفاء بيانات الإحصاءات

تمنع الإعدادات التالية ظهور معلومات مسار الطلب في إحصاءات Edge. أضِف ما يلي إلى إعدادات البوابة المصغّرة لإخفاء معرّف الموارد المنتظم (URI) للطلب و/أو مسار الطلب. تجدر الإشارة إلى أنّ معرّف الموارد المنتظم (URI) يتكون من اسم المضيف وأجزاء المسار للطلب.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

إعداد Edge Microgateway وراء جدار حماية للشركة

الإصدار 4.2.x المتوافق

في حال تثبيت Edge Microgateway خلف جدار حماية، قد لا يتمكّن البوابة من الاتصال بـ Apigee Edge. في هذه الحالة، هناك خياران يمكنك وضعهما في الاعتبار:

الخيار 1:

الخيار الأول هو ضبط خيار Edgemicro: Proxy_tunnel على "صحيح" في ملف الإعداد microgateway:

edge_config:

    proxy: http://10.224.16.85:3128
    proxy_tunnel: true

عندما تكون قيمة proxy_tunnel هي true، يستخدم Edge Microgateway طريقة HTTP CONNECT لتطبيق طلبات HTTP عبر اتصال TCP واحد. (وينطبق ذلك أيضًا إذا تم تفعيل بروتوكول أمان طبقة النقل (TLS) في متغيرات البيئة لإعداد الخادم الوكيل).

الخيار 2:

الخيار الثاني هو تحديد خادم وكيل وضبط client_tunnel على "خطأ" في ملف إعداد microgateway. مثلاً:

edge_config:
     proxy: http://10.224.16.85:3128
     proxy_tunnel: false

في هذه الحالة، يمكنك ضبط المتغيرات التالية للتحكم في المضيفين لكل خادم وكيل HTTP تريد استخدامه، أو المضيفين الذين يجب ألا يتعاملوا مع الخوادم الوكيلة لـ Edge Microgateway: HTTP_PROXY وHTTPS_PROXY، وNO_PROXY.

يمكنك ضبط NO_PROXY كقائمة مفصولة بفواصل للنطاقات التي يجب ألا يستخدمها Edge Microgateway. مثلاً:

export NO_PROXY='localhost,localhost:8080'

يمكنك ضبط HTTP_PROXY وHTTPS_PROXY على نقطة النهاية للخادم الوكيل HTTP التي يمكن استخدام Microgateway لإرسال رسائل إليها. مثلاً:

export HTTP_PROXY='http://localhost:3786'

export HTTPS_PROXY='https://localhost:3786'

لمزيد من المعلومات عن هذه المتغيّرات، يُرجى الاطّلاع على ما يلي:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


يمكن أيضًا مراجعة

كيفية إعداد Edge Microgateway وراء جدار حماية للشركة على منتدى Apigee

استخدام أحرف البدل في الخوادم الوكيلة الواعية بـ Microgateway

يمكنك استخدام حرف بدل "*" واحد أو أكثر في المسار الأساسي للخادم الوكيل edgemicro_* (Microgateway-aware). على سبيل المثال، يتيح المسار الأساسي في /team/*/members للعملاء الاتصال بـ https://[host]/team/blue/members وhttps://[host]/team/green/members بدون الحاجة إلى إنشاء خوادم وكيلة جديدة لواجهة برمجة التطبيقات لدعم الفِرق الجديدة. يُرجى العلم أنّ السمة /**/ غير متوافقة.

ملاحظة مهمّة: لا تتيح Apigee استخدام حرف بدل "*" كعنصر أوّل في مسار أساسي. على سبيل المثال، هذه السمة غير متاحة: بحث /*/.


تصحيح الأخطاء وتحديد المشاكل وحلّها

الاتصال ببرنامج تصحيح أخطاء

يمكنك تشغيل Edge Microgateway باستخدام برنامج تصحيح الأخطاء، مثل node-inspector. ويكون هذا مفيدًا في تحديد المشاكل وحلّها وتصحيح الأخطاء في المكوّنات الإضافية المخصّصة.

  1. أعِد تشغيل Edge Microgateway في وضع تصحيح الأخطاء. لإجراء ذلك، أضِف DEBUG=* إلى بداية الأمر start. مثلاً:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed

    ملاحظة: على نظام التشغيل Windows، استخدِم SET DEBUG=*.

  2. ابدأ تشغيل برنامج تصحيح الأخطاء واضبطه للاستجابة إلى رقم المنفذ في عملية تصحيح الأخطاء.
  3. يمكنك الآن التنقّل بين رمز Edge Microgateway وضبط نقاط الإيقاف وتعبيرات المشاهدة وغير ذلك.

يمكنك تحديد علامات Node.js القياسية المرتبطة بوضع تصحيح الأخطاء. على سبيل المثال، يساعد --nolazy في تصحيح أخطاء الرمز غير المتزامن.

جارٍ فحص ملفات السجلّ

إذا كنت تواجه مشاكل، يُرجى فحص ملفات السجلّ للحصول على تفاصيل التنفيذ ومعلومات الخطأ. لمعرفة التفاصيل، يُرجى الاطّلاع على إدارة ملفات السجلّ.

استخدام أمان مفتاح واجهة برمجة التطبيقات

توفر مفاتيح واجهة برمجة التطبيقات آلية بسيطة لمصادقة العملاء الذين يرسلون طلبات إلى Edge Microgateway. يمكنك الحصول على مفتاح واجهة برمجة التطبيقات من خلال نسخ قيمة مفتاح العميل (يسمى أيضًا Client ID) من منتج Apigee Edge الذي يتضمن الخادم الوكيل لمصادقة Edge Microgateway.

التخزين المؤقت للمفاتيح

يتم استبدال مفاتيح واجهة برمجة التطبيقات برموز الحامل المميزة التي يتم تخزينها مؤقتًا. يمكنك إيقاف التخزين المؤقت من خلال ضبط العنوان Cache-Control: no-cache على الطلبات الواردة إلى Edge Microgateway.

استخدام أمان الرمز المميز لبروتوكول OAuth2

للحصول على تفاصيل حول استخدام رمز OAuth مميَّز مع طلبات الخادم الوكيل، يُرجى الاطّلاع على Secure Edge Microgateway.

استخدام مفتاح واجهة برمجة التطبيقات

للحصول على تفاصيل عن استخدام مفاتيح واجهة برمجة التطبيقات مع طلبات الخادم الوكيل، يُرجى الاطّلاع على Secure Edge Microgateway.

ضبط اسم مفتاح واجهة برمجة التطبيقات

بشكل تلقائي، يكون x-api-key هو الاسم المستخدَم لعنوان مفتاح واجهة برمجة التطبيقات أو مَعلمة طلب البحث. يمكنك تغيير هذا الإعداد التلقائي في ملف الإعداد، كما هو موضّح في القسم إجراء تغييرات على الإعدادات. على سبيل المثال، لتغيير الاسم إلى apiKey:

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey