أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
الإصدار 2.4.x من Edge Microgateway
نظرة عامة
يتناول هذا الموضوع كيفية إدارة Edge Microgateway وإعدادها، بما في ذلك المراقبة والتسجيل وتصحيح الأخطاء.
إجراء تغييرات على الإعدادات
تشمل ملفات الإعداد التي يجب معرفتها ما يلي:
- ملف إعدادات النظام التلقائي
- ملف الإعداد التلقائي لمثيل Edge Microgateway الذي تم إعداده حديثًا
- ملف الإعداد الديناميكي لتشغيل المثيلات
يناقش هذا القسم هذه الملفات وما تحتاج إلى معرفته بشأن تغييرها. للحصول على تفاصيل حول إعدادات ملف الإعداد، يُرجى الاطّلاع على مرجع إعدادات Edge Microgateway.
ملف الإعدادات التلقائية للنظام
عند تثبيت Edge Microgateway، يتم وضع ملف إعداد تلقائي للنظام هنا:
[prefix]/lib/node_modules/edgemicro/config/default.yaml
حيث [prefix] هو دليل البادئة npm.
اطّلِع على مكان تثبيت Edge Microgateway.
في حال تغيير ملف إعداد النظام، يجب إعادة تهيئة Edge Microgateway وإعادة ضبط إعداداته وإعادة تشغيله:
- الاتصال بـ
edgemicro init - الاتصال بـ
edgemicro configure [params] - الاتصال بـ
edgemicro start [params]
ملف الإعداد التلقائي لمثيلات Edge Microgateway التي تم إعدادها حديثًا
عند تشغيل edgemicro init، يتم وضع ملف إعداد النظام
(الموضّح أعلاه)، default.yaml، في هذا الدليل:
~/.edgemicro
في حال تغيير ملف الإعداد في ~/.edgemicro، عليك إعادة ضبط Edge Microgateway وإعادة تشغيله:
edgemicro stopedgemicro configure[params]edgemicro start[params]
ملف إعداد ديناميكي لتشغيل مثيلات
عند تشغيل edgemicro configure [params]، يتم إنشاء ملف إعداد ديناميكي في ~/.edgemicro. ويتم تسمية الملف وفقًا للنمط التالي: [org]-[env]-config.yaml، حيث يمثّل org وenv اسمَي مؤسستك وبيئتك في Apigee Edge. يمكنك استخدام هذا الملف لإجراء تغييرات في الإعدادات، ثم إعادة تحميلها بدون أي توقّف. على سبيل المثال، إذا أضفت مكوّنًا إضافيًا وضبطته، يمكنك إعادة تحميل الإعدادات بدون أي فترة توقّف، كما هو موضّح أدناه.
في حال تشغيل Edge Microgateway (خيار عدم التوقف عن العمل):
- أعِد تحميل إعدادات Edge Microgateway:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
المكان:
orgهو اسم مؤسسة Edge (يجب أن تكون مشرفًا في المؤسسة).envهي بيئة في مؤسستك (مثل بيئة الاختبار أو الإنتاج).keyهو المفتاح الذي تم عرضه سابقًا من خلال الأمر configure.secretهو المفتاح الذي تم عرضه سابقًا من خلال الأمر configure.
مثال
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
في حال إيقاف Edge Microgateway:
- أعِد تشغيل Edge Microgateway:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
المكان:
orgهو اسم مؤسسة Edge (يجب أن تكون مشرفًا في المؤسسة).envهي بيئة في مؤسستك (مثل بيئة الاختبار أو الإنتاج).keyهو المفتاح الذي تم عرضه سابقًا من خلال الأمر configure.secretهو المفتاح الذي تم عرضه سابقًا من خلال الأمر configure.
مثال
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_ORGEDGEMICRO_ENVEDGEMICRO_KEYEDGEMICRO_SECRET
ضبط هذه المتغيّرات اختياري. في حال ضبطها، ليس عليك تحديد قيمها عند استخدام واجهة سطر الأوامر (CLI) لإعداد Edge Microgateway وبدء تشغيلها.
ضبط طبقة المقابس الآمنة (SSL) على خادم Edge Microgateway
يمكنك ضبط خادم Microgateway لاستخدام بروتوكول SSL. على سبيل المثال، عند ضبط SSL، يمكنك استدعاء واجهات برمجة التطبيقات من خلال Edge Microgateway باستخدام بروتوكول "https"، على النحو التالي:
https://localhost:8000/myapi
لضبط بروتوكول SSL على خادم Microgateway، اتّبِع الخطوات التالية:
- أنشئ شهادة ومفتاح SSL أو احصل عليهما باستخدام أداة openssl أو أي طريقة أخرى تفضّلها.
- أضِف السمة
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 - أعِد تشغيل 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 يحتوي على المفتاح الخاص والشهادة وشهادات المرجع المصدّق الخاصة بالعميل بتنسيق PFX |
passphrase |
سلسلة تحتوي على عبارة المرور للمفتاح الخاص أو ملف PFX |
ca |
مسار إلى ملف يحتوي على قائمة بالشهادات الموثوق بها بتنسيق PEM |
ciphers |
سلسلة تصف رموز التشفير التي سيتم استخدامها مفصولة بعلامة ":". |
rejectUnauthorized |
إذا كانت القيمة صحيحة، يتم التحقّق من شهادة الخادم مقارنةً بقائمة مراجع التصديق المقدَّمة. إذا تعذّر إثبات الملكية، سيتم عرض رسالة خطأ. |
secureProtocol |
طريقة SSL التي سيتم استخدامها. على سبيل المثال، SSLv3_method لفرض استخدام الإصدار 3 من طبقة المقابس الآمنة. |
servername |
اسم الخادم لإضافة TLS الخاصة بـ SNI (الإشارة إلى اسم الخادم) |
requestCert |
true لطبقة المقابس الآمنة الثنائية الاتجاه، وfalse لطبقة المقابس الآمنة الأحادية الاتجاه |
استخدام خيارات SSL/TLS للعميل
يمكنك ضبط Edge Microgateway ليكون عميل TLS أو SSL عند الاتصال بنقاط نهاية مستهدَفة. في ملف إعداد Microgateway، استخدِم العنصر targets لضبط خيارات SSL/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في ما يلي مثال على طبقة النقل الآمنة:
targets:
host: 'myserver.example.com'
tls:
client:
pfx: /Users/myname/twowayssl/ssl/client.pfx
passphrase: admin123
rejectUnauthorized: trueفي ما يلي قائمة بجميع خيارات العملاء المتوافقة:
| Option | الوصف |
|---|---|
pfx |
مسار إلى ملف pfx يحتوي على المفتاح الخاص والشهادة وشهادات المرجع المصدّق الخاصة بالعميل بتنسيق PFX |
key |
مسار إلى ملف ca.key (بتنسيق PEM) |
passphrase |
سلسلة تحتوي على عبارة المرور للمفتاح الخاص أو ملف PFX |
cert |
مسار إلى ملف ca.cert (بتنسيق PEM) |
ca |
مسار إلى ملف يحتوي على قائمة بالشهادات الموثوق بها بتنسيق PEM |
ciphers |
سلسلة تصف رموز التشفير التي سيتم استخدامها مفصولة بعلامة ":". |
rejectUnauthorized |
إذا كانت القيمة صحيحة، يتم التحقّق من شهادة الخادم مقارنةً بقائمة مراجع التصديق المقدَّمة. إذا تعذّر إثبات الملكية، سيتم عرض رسالة خطأ. |
secureProtocol |
طريقة SSL التي سيتم استخدامها. على سبيل المثال، SSLv3_method لفرض استخدام الإصدار 3 من طبقة المقابس الآمنة. |
servername |
اسم الخادم لإضافة TLS الخاصة بـ SNI (الإشارة إلى اسم الخادم) |
تخصيص وكيل edgemicro-auth
تستخدم 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. ويُنصح باستخدام المستوى INFO. تسجّل هذه السمة جميع طلبات البيانات من واجهة برمجة التطبيقات وردودها، وهي السمة التلقائية.
كيفية تغيير فواصل سجلّ التغييرات
يمكنك ضبط هذه الفواصل الزمنية في ملف إعداد 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. يتم أيضًا تسجيل عدّادات واجهة برمجة التطبيقات (الإحصاءات) والأخطاء في هذا الملف.
- 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
لمحة عن محتوى ملف السجلّ
تمت الإضافة في: الإصدار 2.3.3
بشكلٍ تلقائي، تحذف خدمة التسجيل ملف JSON الخاص بالوكلاء والمنتجات التي تم تنزيلها ورمز JSON المميّز للويب (JWT). إذا أردت إخراج هذه العناصر إلى ملفات السجلّ، اضبط DEBUG=* عند بدء Edge Microgateway. على سبيل المثال:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
ملاحظة: على أجهزة Windows، استخدِم SET DEBUG=*
محتوى ملف السجلّ "api"
يحتوي ملف السجلّ "api" على معلومات تفصيلية حول تدفّق الطلبات والردود من خلال Edge Microgateway. تكون أسماء ملفات سجلّ "api" على النحو التالي:
edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log
بالنسبة إلى كل طلب يتم إرساله إلى Edge Microgateway، يتم تسجيل أربعة أحداث في ملف السجلّ "api" على النحو التالي:
- طلب وارد من العميل
- تم إرسال طلب صادر إلى الهدف
- ردّ وارد من الهدف
- الردّ الصادر إلى العميل
يتم تمثيل كل إدخال من هذه الإدخالات المنفصلة باختصار للمساعدة في جعل ملفات السجلّ أكثر إيجازًا. في ما يلي أربعة نماذج من الإدخالات تمثّل كلّاً من الأحداث الأربعة. في ملف السجلّ، تظهر على النحو التالي (أرقام الأسطر هي للمرجعية فقط في المستند، ولا تظهر في ملف السجلّ).
(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 - طابع التاريخ بتوقيت يونكس
- info: يعتمد ذلك على السياق. يمكن أن تكون info أو warn أو error، حسب مستوى السجلّ. يمكن أن تكون إحصاءات لسجلّ إحصاءات أو تحذيرًا بشأن التحذيرات أو خطأً بشأن الأخطاء.
- req: تحدّد الحدث. في هذه الحالة، يجب أن يكون الطلب من العميل.
- m: فعل HTTP المستخدَم في الطلب.
- u: الجزء من عنوان URL الذي يلي basepath.
- استبدِل 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 - طابع التاريخ بتوقيت يونكس
- info: يعتمد ذلك على السياق. يمكن أن تكون info أو warn أو error، حسب مستوى السجلّ. يمكن أن تكون إحصاءات لسجلّ إحصاءات أو تحذيرًا بشأن التحذيرات أو خطأً بشأن الأخطاء.
- treq: تحدّد الحدث. في هذه الحالة، يكون الطلب مستهدفًا.
- m: فعل HTTP المستخدَم في الطلب المستهدف.
- u: الجزء من عنوان URL الذي يلي basepath.
- استبدِل h بالمضيف ورقم المنفذ للهدف الخلفي.
- i: معرّف إدخال في السجلّ. ستتشارك جميع إدخالات الأحداث الأربعة هذا المعرّف.
3. نموذج للرد الوارد من الهدف
1436403888672 info tres s=200, d=7, i=0
1436403888651 - طابع التاريخ بتوقيت يونكس
- info: يعتمد ذلك على السياق. يمكن أن تكون info أو warn أو error، حسب مستوى السجلّ. يمكن أن تكون إحصاءات لسجلّ إحصاءات أو تحذيرًا بشأن التحذيرات أو خطأً بشأن الأخطاء.
- tres: تحدّد الحدث. في هذه الحالة، يكون الردّ المستهدف.
- s: حالة استجابة HTTP.
- d: المدة بالمللي ثانية الوقت الذي استغرقه الجهاز المستهدف في تنفيذ طلب البيانات من واجهة برمجة التطبيقات
- i: معرّف إدخال في السجلّ. ستتشارك جميع إدخالات الأحداث الأربعة هذا المعرّف.
4. نموذج للردّ الصادر إلى العميل
1436403888676 info res s=200, d=11, i=0
1436403888651 - طابع التاريخ بتوقيت يونكس
- info: يعتمد ذلك على السياق. يمكن أن تكون info أو warn أو error، حسب مستوى السجلّ. يمكن أن تكون إحصاءات لسجلّ إحصاءات أو تحذيرًا بشأن التحذيرات أو خطأً بشأن الأخطاء.
- res: تحدّد الحدث. في هذه الحالة، يتم الرد على العميل.
- s: حالة استجابة HTTP.
- d: المدة بالمللي ثانية يشير ذلك إلى إجمالي الوقت المستغرَق في طلب البيانات من واجهة برمجة التطبيقات، بما في ذلك الوقت المستغرَق في واجهة برمجة التطبيقات المستهدَفة والوقت المستغرَق في Edge Microgateway نفسها.
- i: معرّف إدخال في السجلّ. ستتشارك جميع إدخالات الأحداث الأربعة هذا المعرّف.
الجدول الزمني لملف السجلّ
يتم تدوير ملفات السجلّات في الفاصل الزمني المحدّد بواسطة rotate_interval . ستستمر إضافة الإدخالات إلى ملف السجلّ نفسه إلى أن تنتهي فترة التدوير. ومع ذلك، في كل مرة تتم فيها إعادة تشغيل Edge Microgateway، يتلقّى معرّفًا فريدًا جديدًا وينشئ مجموعة جديدة من ملفات السجلّ باستخدام هذا المعرّف الفريد. راجِع أيضًا الممارسات الجيدة لصيانة ملفات السجلّ.
مرجع إعدادات Edge Microgateway
موقع ملف الإعداد
تتوفّر سمات الإعدادات الموضّحة في هذا القسم في ملف إعداد 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 configure. راجِع إعداد Edge Microgateway وضبطه للحصول على التفاصيل.
edgemicro attributes
تضبط هذه الإعدادات عملية 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.
-
تسجيل البيانات:
-
المستوى: (القيمة التلقائية: خطأ)
- info: يسجّل جميع الطلبات والردود التي تمر عبر مثيل Edge Microgateway.
- warn: لتسجيل رسائل التحذير فقط.
- error: لتسجيل رسائل الخطأ فقط
- dir: (القيمة التلقائية: /var/tmp) الدليل الذي يتم فيه تخزين ملفات السجلّ.
- stats_log_interval: (القيمة التلقائية: 60) الفترة الزمنية، بالثواني، التي يتم خلالها كتابة سجلّ الإحصاءات في ملف سجلّ واجهة برمجة التطبيقات.
- rotate_interval: (القيمة التلقائية: 24) الفاصل الزمني بالساعات الذي يتم عنده تغيير ملفات السجلّ.
-
المستوى: (القيمة التلقائية: خطأ)
- المكوّنات الإضافية: تضيف المكوّنات الإضافية وظائف إلى Edge Microgateway. للاطّلاع على تفاصيل حول تطوير المكوّنات الإضافية، يُرجى الرجوع إلى تطوير مكوّنات إضافية مخصّصة.
- dir: مسار نسبي من الدليل ./gateway إلى الدليل ./plugins، أو مسار مطلق.
- sequence: قائمة بوحدات المكوّنات الإضافية التي ستتم إضافتها إلى مثيل Edge Microgateway. سيتم تنفيذ الوحدات بالترتيب المحدّد هنا.
-
debug: يضيف تصحيح الأخطاء عن بُعد إلى عملية Edge Microgateway.
- port: رقم المنفذ الذي سيتم الاستماع إليه. على سبيل المثال، اضبط مصحّح أخطاء بيئة التطوير المتكاملة (IDE) على الاستماع على هذا المنفذ.
- args: وسيطات عملية تصحيح الأخطاء على سبيل المثال:
args --nolazy
- config_change_poll_interval: (القيمة التلقائية: 600 ثانية) تحمّل Edge Microgateway
إعدادات جديدة بشكل دوري وتنفّذ عملية إعادة تحميل إذا تم تغيير أي شيء. يتم رصد أي تغييرات يتم إجراؤها على Edge (تغييرات على المنتجات، والوكلاء الذين يمكنهم استخدام البوابة المصغّرة، وما إلى ذلك) بالإضافة إلى التغييرات التي يتم إجراؤها على ملف الإعدادات المحلي.
- disable_config_poll_interval: (القيمة التلقائية: false) اضبط على true من أجل إيقاف عملية الاقتراع التلقائي للتغيير.
- request_timeout: لضبط مهلة لطلبات الاستهداف. يتم ضبط المهلة بالثواني. في حال حدوث مهلة، يستجيب Edge Microgateway برمز الحالة 504. (تمت الإضافة في الإصدار 2.4.x)
سمات العناوين
تضبط هذه الإعدادات طريقة التعامل مع بعض عناوين HTTP.
- x-forwarded-for: (القيمة التلقائية: true) اضبط القيمة على false لمنع تمرير رؤوس x-forwarded-for إلى الهدف. يُرجى العِلم أنّه إذا كان عنوان x-forwarded-for مضمّنًا في الطلب، سيتم ضبط قيمته على قيمة client-ip في Edge Analytics.
- x-forwarded-host: (القيمة التلقائية: true) اضبط القيمة على false لمنع تمرير عناوين x-forwarded-host إلى الهدف.
- x-request-id: (القيمة التلقائية: true) اضبط القيمة على false لمنع تمرير عناوين x-request-id إلى الهدف.
- x-response-time: (القيمة التلقائية: true) اضبطها على false لمنع تمرير عناوين x-response-time إلى الهدف.
- via: (القيمة التلقائية: true) اضبط القيمة على false لمنع تمرير عناوين via إلى الهدف.
سمات OAuth
تضبط هذه الإعدادات طريقة فرض مصادقة العميل من خلال Edge Microgateway.
- allowNoAuthorization: (القيمة التلقائية: false) إذا تم ضبطها على true، سيتم السماح بمرور طلبات البيانات من واجهة برمجة التطبيقات عبر Edge Microgateway بدون أي عنوان Authorization على الإطلاق. اضبط هذا الخيار على false لطلب عنوان Authorization (تلقائي).
- allowInvalidAuthorization: (القيمة التلقائية: false) في حال ضبطها على true، يُسمح بتمرير طلبات البيانات من واجهة برمجة التطبيقات إذا كان الرمز المميّز الذي تم تمريره في عنوان Authorization غير صالح أو انتهت صلاحيته. اضبط هذه السمة على "خطأ" لطلب رموز مميزة صالحة (الإعداد التلقائي).
- authorization-header: (القيمة التلقائية: Authorization: Bearer) العنوان المستخدَم لإرسال رمز الدخول إلى Edge Microgateway. يمكنك تغيير الإعداد التلقائي في الحالات التي يحتاج فيها الهدف إلى استخدام عنوان Authorization لغرض آخر.
- api-key-header: (القيمة التلقائية: x-api-key) اسم العنوان أو مَعلمة الطلب المستخدَمة لتمرير مفتاح واجهة برمجة التطبيقات إلى Edge Microgateway. اطّلِع أيضًا على استخدام مفتاح واجهة برمجة التطبيقات.
- keepAuthHeader: (القيمة التلقائية: false) في حال ضبطها على true، يتم تمرير عنوان التفويض الذي تم إرساله في الطلب إلى الهدف (يتم الاحتفاظ به).
- allowOAuthOnly: إذا تم ضبط القيمة على "صحيح"، يجب أن تتضمّن كل واجهة برمجة تطبيقات عنوان Authorization مع رمز دخول حامل مميّز. يسمح لك هذا الخيار بالسماح فقط بنموذج أمان OAuth (مع الحفاظ على التوافق مع الإصدارات القديمة). (تمت الإضافة في الإصدار 4.2.x)
- allowAPIKeyOnly: في حال ضبط القيمة على "صحيح"، يجب أن تتضمّن كل واجهة برمجة تطبيقات عنوان x-api-key (أو موقعًا مخصّصًا) مع مفتاح واجهة برمجة التطبيقات.يتيح لك ذلك السماح بنموذج أمان مفتاح واجهة برمجة التطبيقات فقط (مع الحفاظ على التوافق مع الإصدارات السابقة). (تمت الإضافة في الإصدار 4.2.x)
السمات الخاصة بالإضافة
راجِع مقالة استخدام المكوّنات الإضافية للحصول على تفاصيل حول السمات القابلة للضبط لكل مكوّن إضافي.
خوادم الوكيل التي تتيح الفلترة
يمكنك فلترة الخوادم الوكيلة المتوافقة مع microgateway التي ستعالجها إحدى مثيلات Edge Microgateway.
عند بدء تشغيل Edge Microgateway، يتم تنزيل جميع الخوادم الوكيلة المتوافقة مع 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 على true في ملف إعدادات البوابة المصغّرة:
edge_config:
proxy: http://10.224.16.85:3128
proxy_tunnel: trueعندما تكون قيمة proxy_tunnel هي true، تستخدم Edge Microgateway طريقة HTTP CONNECT لتوجيه طلبات HTTP عبر اتصال TCP واحد. (وينطبق الأمر نفسه إذا كانت متغيرات البيئة الخاصة بضبط الخادم الوكيل مفعّلة لبروتوكول أمان طبقة النقل).
الخيار 2:
الخيار الثاني هو تحديد خادم وكيل وضبط proxy_tunnel على false في ملف إعدادات 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 التي يمكن أن يرسل إليها Edge 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). على سبيل المثال، يسمح مسار أساسي بقيمة /team/*/members للعملاء باستدعاء https://[host]/team/blue/members وhttps://[host]/team/green/members بدون الحاجة إلى إنشاء خوادم وكيلة جديدة لواجهة برمجة التطبيقات لدعم فِرق جديدة. يُرجى العِلم بأنّ /**/ غير متاح.
ملاحظة مُهمّة: لا تتيح Apigee استخدام حرف البدل "*" كعنصر أول في مسار أساسي. على سبيل المثال، لا يمكن استخدام البحث /*/.
تصحيح الأخطاء وتحديد المشاكل وحلّها
الاتصال بأداة تصحيح الأخطاء
يمكنك تشغيل Edge Microgateway باستخدام أداة تصحيح أخطاء، مثل node-inspector. ويفيد ذلك في تحديد المشاكل وحلّها في المكوّنات الإضافية المخصّصة.
- أعِد تشغيل Edge Microgateway في وضع تصحيح الأخطاء. لإجراء ذلك، أضِف
DEBUG=*إلى بداية أمر البدء. على سبيل المثال:
DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
ملاحظة: على أجهزة Windows، استخدِم
SET DEBUG=* - ابدأ برنامج تصحيح الأخطاء واضبطه على الاستماع إلى رقم المنفذ لعملية تصحيح الأخطاء.
- يمكنك الآن تتبُّع الرمز البرمجي لـ Edge Microgateway خطوة بخطوة، وضبط نقاط توقّف، ومشاهدة التعبيرات، وما إلى ذلك.
يمكنك تحديد علامات Node.js العادية ذات الصلة بوضع تصحيح الأخطاء. على سبيل المثال، تساعد --nolazy في تصحيح الأخطاء في الرموز غير المتزامنة.
التحقّق من ملفات السجلّ
إذا كنت تواجه مشاكل، احرص على فحص ملفات السجلّ للحصول على تفاصيل التنفيذ ومعلومات الخطأ. لمزيد من التفاصيل، يُرجى الاطّلاع على إدارة ملفات السجلّ.
استخدام أمان مفتاح واجهة برمجة التطبيقات
توفر مفاتيح واجهة برمجة التطبيقات آلية بسيطة لمصادقة العملاء الذين يرسلون طلبات إلى Edge Microgateway. يمكنك الحصول على مفتاح واجهة برمجة التطبيقات من خلال نسخ قيمة "مفتاح المستهلك" (المعروف أيضًا باسم "معرّف العميل") من منتج 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