أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
المشكلة
يتعذّر على المستخدم إنشاء جلسة تتبُّع في واجهة مستخدم Edge.
رسالة الخطأ
ستحصل على رسالة خطأ في واجهة مستخدم Edge كما هو موضح أدناه:
Error creating trace session for API proxy <api proxy name>, revision <revision number>, environment <environment name>.
Failed to create DebugSession <session number>
في ما يلي لقطة شاشة لنموذج رسالة خطأ تمت ملاحظتها في واجهة مستخدم Edge:
الأسباب المحتملة
في ما يلي بعض الأسباب المحتملة لهذا الخطأ:
السبب | الوصف | تعليمات تحديد المشاكل وحلّها التي تنطبق على |
مشكلة في الاتصال بالشبكة | تعذَّر الاتصال بين خادم الإدارة ومعالج الرسائل بسبب مشاكل في الاتصال بالشبكة أو قواعد جدار الحماية. | مستخدمو Edge Private Cloud |
لم يتم تحميل البيئة على "معالج الرسائل" | لم يتم تحميل بيئة محدَّدة (تحاول فيها تفعيل ميزة التتبُّع) على معالِجات الرسائل بسبب حدوث خطأ. | |
إدخالات معالجة الرسائل القديمة | يشير خادم الإدارة إلى معالجات رسائل غير موجودة (قديمة). | |
تعذُّر الوصول إلى معالج الرسائل | تم إيقاف معالج الرسائل أو تعذر الوصول إليه. | |
مشكلة في استخدام الموارد العالية | تعاني معالجات الرسائل من استخدام موارد عالية (وحدة المعالجة المركزية (CPU) أو الذاكرة أو التحميل). | |
لم يتم نشر الخادم الوكيل لواجهة برمجة التطبيقات على معالج رسائل واحد أو أكثر | قد لا يتم نشر الخادم الوكيل لواجهة برمجة التطبيقات على معالج رسائل واحد أو أكثر بسبب عدم توفُّر إشعار بالحدث أثناء النشر. | |
مشكلة في واجهة مستخدم Edge | يتعذّر على واجهة مستخدم Edge إنشاء جلسة تتبُّع بسبب حدوث خطأ. |
خطوات التشخيص الشائعة
تنفيذ واجهة برمجة تطبيقات الإدارة هذه:
curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
إذا ظهرت لك أي أخطاء، يُرجى ذكرها. انتقِل إلى مشكلة في الاتصال بالشبكة.
إذا حصلت على استجابة ناجحة، يعني ذلك أنه يمكن إنشاء جلسة التتبُّع عبر Management API. ومع ذلك، قد تكون هناك مشكلة مُحتمَلة في واجهة مستخدم Edge، وبالتالي لا يمكن إنشاء جلسة تتبُّع في واجهة المستخدم. انتقِل إلى مشكلة في واجهة مستخدم Edge.
السبب: مشكلة في الاتصال بالشبكة
التشخيص
راجِع سجلّ "خادم الإدارة"
/opt/apigee/var/log/edge-management-server/logs/system.log
وتحقَّق مما إذا كانت هناك أي أخطاء أثناء إنشاء جلسة التتبُّع/تصحيح الأخطاء.نموذج خطأ من سجلّ خادم الإدارة
2018-02-08 09:08:21,310 org:myorg env:uat qtp1073741635-1074 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID cedeabd2-e4d1-40bb-8f18-d6afc8835e5b org.apache.http.conn.HttpHostConnectException: Connect to 10.84.75.92:8082 [/10.84.75.92] failed: Connection refused at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5] ...<snipped> Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_65] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_65] ...<snipped>
يوضح نموذج الخطأ أعلاه أننا نتلقّى رسائل خطأ "تم رفض الاتصال" عندما يحاول خادم الإدارة الاتصال بمعالج الرسائل على المنفذ رقم 8082. وبالتالي، يتعذَّر على "خادم الإدارة" إنشاء جلسة التتبُّع.
إذا لم تظهر لك أي أخطاء مرتبطة بالاتصال بالشبكة أو خطأ مشابه للخطأ الموضح في المثال أعلاه، انتقِل إلى بيئة لم يتم تحميلها على "معالج الرسائل".
إذا لاحظت أخطاءً متعلقة بالاتصال بالشبكة أو خطأً مشابهًا للخطأ كما هو موضح في المثال أعلاه، اتّبع الخطوات التالية.
اختبر الاتصال من خادم الإدارة إلى معالج الرسائل على المنفذ 8082 باستخدام الخطوات التالية:
إذا كانت شبكة telnet متاحة، فاستخدم telnet:
telnet <MessageProcessor_IP> 8082
إذا لم تكن شبكة telnet متاحة، فاستخدم netcat للتحقق من الاتصال على النحو التالي:
nc -vz <MessageProcessor_IP> 8082
إذا ظهر لك الردّ "تم رفض الاتصال" أو "انتهت مهلة الاتصال"، ثم انتقِل إلى الخطوة التالية.
سجِّل الدخول إلى كل معالج من معالِجات الرسائل باستخدام عنوان IP المناسب الذي أظهر الخطأ، ثمّ نفِّذ الخطوات التالية:
تحقق مما إذا كان معالج الرسائل يستمع عبر المنفذ 8082:
netstat -an | grep LISTEN | grep 8082
إذا كان معالج الرسائل يستمع عبر المنفذ 8082، انتقِل إلى الخطوة رقم 7.
إذا كان معالج الرسائل لا يستمع عبر المنفذ 8082، فأعد تشغيل معالج الرسائل باستخدام هذا الأمر:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
انتظر حتى يبدأ معالج الرسائل في استخدام هذا الأمر:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
بعد تشغيل معالج الرسائل، أعد التحقق مما إذا كان معالج الرسائل يستمع إلى المنفذ 8082.
إذا كان معالج الرسائل يستمع على المنفذ 8082، انتقِل إلى الخطوة رقم 7.
تحقَّق مما إذا كان بإمكانك الآن بدء جلسة التتبُّع في واجهة المستخدم. إذا لم تعُد المشكلة ملحوظة، يمكنك تخطي الخطوات التالية.
إذا كان معالج الرسائل قيد التشغيل ويستمع عبر المنفذ 8082، ولكن لا تزال غير قادر على الاتصال من الخوادم الأخرى مثل خادم الإدارة، فمن المحتمل أن يكون هناك جدار حماية يحظر الاتصالات الخارجية.
استخدم الأمر المناسب للتحقق من قواعد جدار الحماية. على سبيل المثال، يمكنك تنفيذ الأمر iptables لإدراج جميع قواعد جدار الحماية المحدّدة على نظامك:
iptables -L -n
في حال عدم ضبط قواعد جدار حماية للمنفذ 8082، انتقِل إلى مشكلة استخدام الموارد العالية.
في حال إعداد أي قواعد جدار حماية على المنفذ 8082، انتقِل إلى قسم "الدقة" أدناه.
الحلّ
- يمكنك التعاون مع مشرف الشبكة للسماح بحركة مرور البيانات الواردة والصادرة على المنفذ 8082 من الخوادم الخارجية.
في حال استمرار المشكلة، انتقِل إلى ضرورة جمع معلومات التشخيص.
السبب: لم يتم تحميل البيئة في معالج الرسائل
التشخيص
- تحقَّق من سجلّات "خادم الإدارة"
/opt/apigee/var/log/edge-management-server/logs/system.log
وتحقَّق مما إذا كانت هناك أي أخطاء أثناء إنشاء جلسة التتبُّع/تصحيح الأخطاء. قد تظهر رسالة الخطأ "ما مِن ردود صالحة من مشرفي المواقع". أثناء إنشاء جلسة التتبع/تصحيح الأخطاء كما هو موضح أدناه:
2018-01-30 08:28:09,721 org:mynonprod env:uat qtp2007599722-712162 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : no valid responses from MP(s), throwing error 2018-01-30 08:28:09,723 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - CustomJAXRSInvoker.performInvocation() : CustomJAXRSInvoker.performInvocation : Method com.apigee.distribution.DebugSessionAPI.createDebugSession threw an exception. 2018-01-30 08:28:09,724 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Error occurred : Failed to create DebugSession 1517297564678 2018-01-30 08:28:09,724 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Returning error response : ErrorResponse{errorCode = distribution.CreateDebugSessionFailed, errorMessage = Failed to create DebugSession 1517297564678}
يشير هذا الخطأ إلى أن معالج(معالجات) الرسائل لا يستجيب مرة أخرى لخادم الإدارة لسبب ما.
إذا لم يظهر لك خطأ مشابه للخطأ المعروض في المثال أعلاه، انتقِل إلى إدخالات معالج الرسائل القديمة.
إذا لاحظت خطأً مشابهًا للخطأ الموضح في المثال أعلاه، يُرجى اتّباع الخطوات التالية.
أحد الأسباب الأكثر احتمالاً لهذا الخطأ هو أنّه لم يتم تحميل البيئة التي تحاول إنشاء جلسة التتبُّع فيها على "معالجات الرسائل".
سجّل الدخول إلى كل معالج من معالجات الرسائل وتحقق مما إذا تم تحميل البيئة المحددة التي تحاول إنشاء جلسة التتبع فيها على معالج الرسائل باستخدام الأمر أدناه:
curl -s http://localhost:8082/v1/runtime/organizations/<org-name>/environments
مثال على الناتج:
ستظهر لك قائمة بالبيئات التي تنتمي إلى المؤسسة المحددة والتي تم تحميلها على "معالج الرسائل" في إخراج الأمر أعلاه. على سبيل المثال، إذا تم تحميل البيئتين preprod وtest على معالج الرسائل، فسترى الناتج على النحو التالي:
[ "preprod", "test" ]
إذا كانت البيئة المحدّدة، مثل dev، التي تحاول إنشاء جلسة تتبُّع فيها، مدرَجة كجزء من الأمر أعلاه، انتقِل إلى إدخالات معالجات الرسائل القديمة.
إذا كانت البيئة المحدّدة، مثل "dev"، غير مدرَجة كجزء من الأمر أعلاه، تحقَّق من
/opt/apigee/var/log/edge-message-processor/logs/system.log
و/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
في "معالجات الرسائل" بحثًا عن أي أخطاء أثناء تحميل البيئات.قد يكون هناك العديد من الأخطاء المختلفة التي قد تؤدي إلى تعذُّر تحميل بيئة على معالج الرسائل. يعتمد الحل على الخطأ الذي حدث.
الدقة
قد لا يتم تحميل البيئة على معالج الرسائل لأسباب عديدة. يوضح هذا القسم سببين محتملين قد يؤديان إلى هذه المشكلة، كما يشرح كيفية حل هذه المشكلة.
إذا ظهر لك أحد الأخطاء التالية في سجلّ معالج الرسائل، فإن ذلك يرجع إلى مشكلة تم العثور عليها في الشهادات/المفاتيح التي تمت إضافتها إلى ملف تخزين المفاتيح/الثقة المحدّد في البيئة المحدّدة.
الخطأ رقم 1: java.security.KeyStoreException: لا يمكن استبدال الشهادة الخاصة
2018-01-30 12:04:38,248 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mycert in key store : mytruststore in environment : test at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.AbstractConfigurator.propagateEvent(AbstractConfigurator.java:85) ~[config-entities-1.0.0.jar:na] at com.apigee.messaging.runtime.Environment.handleUpdate(Environment.java:238) [message-processor-1.0.0.jar:na] … Caused by: java.security.KeyStoreException: Cannot overwrite own certificate at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:355) ~[sunjce_provider.jar:1.8.0_151] at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_151] at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] ... 20 common frames omitted 2018-01-30 12:04:38,250 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
الخطأ رقم 2: java.security.KeyStoreException: لا يمكن استبدال المفتاح السري
2017-11-01 03:28:47,560 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mstore in key store : myTruststore in environment : dev at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] ... Caused by: java.security.KeyStoreException: Cannot overwrite secret key at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:354) ~[sunjce_provider.jar:1.8.0_144] at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_144] at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] ... 20 common frames omitted 2017-11-01 03:28:47,562 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
يمكنك الحصول على تفاصيل ملف تخزين المفاتيح/المستودع الموثوق به المحدّد في رسالة الخطأ المعروضة في الخطوة السابقة باستخدام طلب البيانات التالي من واجهة برمجة التطبيقات للإدارة:
curl -v "http://<management-IPaddress>:8080/v1/organizations/<org-name>/environments/<env-name>/keystores/myTruststore" -u <user>
مثال على الناتج:
{ "certs": [ "mycert", "mycert-new" ], "keys": [ "mycert" ], "name": "myTruststore" }
يوضِّح مثال الناتج أنّ هناك شهادتَين ومفتاح في Truststore myTruststore. لا تحتوي Truststore بشكل عام على مفتاح. إذا كان الأمر كذلك، فمن الأفضل أن يكون لديك شهادة واحدة ومفتاح واحد.
يمكنك الحصول على تفاصيل حول الشهادتَين باستخدام واجهة برمجة التطبيقات التالية:
curl -s http://<management-IPaddress>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/keystores/<keystore-name>/certs/<cert-name>
تحقَّق من تاريخ انتهاء صلاحية كل شهادة من الشهادات وحدِّد الشهادة منتهية الصلاحية/القديمة.
احذف الشهادة المنتهية الصلاحية أو غير المرغوب فيها من Truststore "myTruststore".
في حال استمرار المشكلة أو ظهور أي خطأ غير الأخطاء المذكورة في الخطوة 1 أعلاه، انتقِل إلى المقالة يجب جمع معلومات التشخيص.
السبب: إدخالات قديمة في معالج الرسائل أو تعذّر الوصول إلى معالِجات الرسائل
التشخيص
- إذا استغرقت واجهة مستخدم Edge وقتًا طويلاً وفشلت في إنشاء جلسة التتبع، إليك بعض الأسباب المحتملة:
- ربما يشير خادم الإدارة إلى معالجات رسائل غير موجودة (قديمة)
- تم إيقاف معالج(معالجي) الرسائل أو تعذر الوصول إليه
- ازداد استخدام معالِجات الرسائل للذاكرة/وحدة المعالجة المركزية (CPU)
- تحقَّق من سجلّات "خادم الإدارة"
/opt/apigee/var/log/edge-management-server/logs/system.log
وتحقَّق مما إذا كانت هناك أي أخطاء أثناء إنشاء جلسة التتبُّع/تصحيح الأخطاء. قد تظهر لك رسالة خطأ مثل "server <UUID> إما يتعذّر الوصول إليها أو لا يمكن الوصول إليها" أثناء إنشاء جلسة التتبع/تصحيح الأخطاء كما هو موضّح أدناه:
2017-12-27 07:42:38,975 org:cocacola env:prod qtp2007599722-222063 INFO DISTRIBUTION - DebugSessionAPI.createDebugSession() : server 458b5910-2646-441c-a6e2-428b6d84e021 is either not up or reachable, skipping the server
قد يأتي ذلك بعد رسالة خطأ أخرى "انتهت مهلة الاتصال". بعد فترة وجيزة كما هو موضح أدناه:
2017-12-27 07:44:46.000 UTC org:cocacola env:prod qtp2007599722-222063 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID {}, skipping it458b5910-2646-441c-a6e2-428b6d84e021 org.apache.http.conn.HttpHostConnectException: Connect to 192.168.101.7:8080 [/192.168.101.7] failed: Connection timed out (Connection timed out) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) ~[httpclient-4.3.5.jar:4.3.5] …<snipped> Caused by: java.net.ConnectException: Connection timed out (Connection timed out) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_144] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_144] …<snipped>
يمكن أن يحدث هذان الخطأان إما بسبب معالج(معالجات) رسائل معينين:
- قديمة (لم تعد موجودة)
- الانهيار/عدم القدرة على الوصول إليه لسبب ما
يُرجى اتباع الحل المناسب وفقًا للسيناريو الذي واجهك.
الدقة
السيناريو 1 : معالِجات الرسائل قديمة (غير متوفرة)
احصل على قائمة بمعالجي الرسائل باستخدام واجهة برمجة تطبيقات الإدارة أدناه:
curl -u <sysadmin> "http://<management-server-host>:8080/v1/servers?pod=<podName>®ions=<regionName>"
دوِّن عنوان IP أو اسم المضيف الذي يتوافق مع أرقام التعريف الفريدة العالمية (UUID) لمعالجات الرسائل المذكورة في رسالة الخطأ في سجلات "خادم الإدارة" (الخطوة رقم 3 في التشخيص أعلاه). تحقَّق مما إذا كانت هذه الجهات صالحة لمعالجة الرسائل باستخدام إحدى الطرق التالية:
- أحدث مخطّط بياني لإعداد طوبولوجيا السحابة الإلكترونية الخاصة
- أحدث عنوان IP لخادم Edge - جدول ربط اسم المضيف
إذا وجدت أنها معالِجات رسائل صالحة، انتقل إلى السيناريو 2 : لا يمكن الوصول إلى معالِجات الرسائل.
احذف معالِجات الرسائل القديمة (غير الموجودة) باستخدام واجهات برمجة التطبيقات للإدارة أدناه:
إلغاء تسجيل معالج الرسائل من بيئات المؤسسة:
curl -X POST http://<management-server-host>:8080/v1/o/<orgName>/e/<envName>/servers -d "uuid={uuid}®ion=<regionName>&pod=<podName}&action=remove"
إلغاء تسجيل نوع الخادم:
curl http://<management-server-host>:8080/v1/servers -X POST -d "type={message-processor}®ion=<regionName>&pod=<podName>&uuid=<uuid>&action=remove"
احذف الخادم:
curl http://<management-ip>:8080/v1/servers/<uuid> -X DELETE
كرِّر الخطوة رقم 3 إذا كانت لديك المشكلة نفسها في أي بيئات أخرى في مؤسستك.
السيناريو 2: تعذر الوصول إلى معالجات الرسائل
- سجِّل الدخول إلى كل معالج من معالجي الرسائل من خلال تحديد عناوين IP/أسماء المضيف استنادًا إلى أرقام التعريف الفريدة العالمية(UUID) التي تمت ملاحظتها في رسالة الخطأ في سجلات "خادم الإدارة".
إعادة تشغيل معالج الرسائل:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
أعِد التحقّق مما إذا كنت قادرًا على إنشاء جلسة التتبُّع. في حال استمرار المشكلة، انتقِل إلى المقالة يجب جمع معلومات التشخيص.
السبب: مشكلة في استخدام الموارد الكبيرة
التشخيص
سجِّل الدخول إلى كل معالج من معالجات الرسائل وتحقق مما إذا كان هناك استخدام كبير لأي موارد، مثل وحدة المعالجة المركزية(CPU) أو الذاكرة أو التحميل. يمكنك استخدام الأمر
top
على أنظمة التشغيل التي تعمل بنظام التشغيل Unix للحصول على معلومات استخدام الموارد في عملية معالج الرسائل:top
إذا لم يكن معالِجات الرسائل يستخدمون موارد كثيرة، انتقِل إلى ضرورة جمع معلومات التشخيص.
إذا كان معالج (معالجات) الرسائل يواجه زيادة في استخدام وحدة المعالجة المركزية (CPU) أو الذاكرة، فقد يؤدي ذلك إلى عدم رد معالج الرسائل مرة أخرى على خادم الإدارة في الوقت المناسب. وسيؤدي ذلك في النهاية إلى منعك من إنشاء جلسة تتبُّع.
إذا كان أي من معالجي الرسائل يواجه استخدامًا مرتفعًا لوحدة المعالجة المركزية (CPU)، أنشئ ثلاث عمليات تفريغ سلاسل محادثات كل 30 ثانية باستخدام الأمر التالي:
sudo <JAVA_HOME>/bin/jstack -l <pid> > <filename>
إذا تم استهلاك الذاكرة بشكل كبير مع أي من معالجي الرسائل، يمكنك إنشاء نَسْخ ذاكرة باستخدام الأمر التالي:
sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=<filename> <pid>
الانتقال إلى درجة الدقة.
الدقة
أعِد تشغيل معالج الرسائل باستخدام الأمر أدناه. من المفترض أن يؤدي هذا إلى خفض سرعة استخدام وحدة المعالجة المركزية (CPU) واستخدام الذاكرة:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
راقِب طلبات بيانات من واجهة برمجة التطبيقات وتأكَّد من أنّ المشكلة لا تزال قائمة.
يمكنك التواصل مع فريق دعم Apigee Edge وتقديم بيانات عن حالات تفريغ سلاسل المحادثات ولقطات لأجزاء من الذاكرة وسجلّات معالج الرسائل (
/opt/apigee/var/log/edge-message-processor/logs/system.log)
للمساعدة في التحقيق في سبب ارتفاع معدّل استخدام وحدة المعالجة المركزية (CPU)/الذاكرة.
السبب: لم يتم نشر الخادم الوكيل لواجهة برمجة التطبيقات على معالِج بيانات واحد أو أكثر
في حالات نادرة، لا يمكن نشر خادم وكيل لواجهة برمجة التطبيقات على واحد أو أكثر من معالِجات الرسائل. يحدث هذا في الغالب بسبب فقدان إشعار الحدث من خادم الإدارة إلى معالج الرسائل أثناء نشر الخادم الوكيل لواجهة برمجة التطبيقات المحدّد. في هذه الحالة أيضًا، لن تتمكّن من إنشاء جلسة التتبُّع في واجهة مستخدم Edge.
التشخيص
سجِّل الدخول إلى كل معالج من معالِجات الرسائل وتحقَّق مما إذا تم نشر النسخة المحدَّدة من خادم وكيل واجهة برمجة التطبيقات باستخدام الأمر التالي:
curl -v localhost:8082/v1/runtime/organizations/<orgname>/environments/<envname>/apis/<apiname>/revisions
مثال على الناتج:
ستظهر لك قائمة المراجعات كمخرج للأمر أعلاه. على سبيل المثال، إذا تم نشر المراجعة 12، فسترى الناتج على النحو التالي:
[ "12" ]
وإذا لم تظهر النسخة المحددة من خادم وكيل واجهة برمجة التطبيقات كمخرج للأمر المذكور في الخطوة 1 أعلاه، فأعد تشغيل معالج الرسائل المحدد كما هو موضح في الحل أدناه.
كرر الخطوات من 1 إلى 2 لجميع معالِجات الرسائل.
إذا تم نشر المراجعة المحددة لخادم وكيل واجهة برمجة التطبيقات على كل معالِجات الرسائل، فليس هذا هو سبب هذه المشكلة. انتقِل إلى يجب جمع معلومات التشخيص.
الدقة
أعِد تشغيل معالِجات الرسائل المحدَّدة التي لم يتم نشر النسخة المحدَّدة من خادم وكيل واجهة برمجة التطبيقات عليها:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
السبب: مشكلة في واجهة مستخدم Edge
التشخيص
- تحقَّق من سجلّات واجهة مستخدم Edge
/opt/apigee/var/log/edge-ui/application.log
و/opt/apigee/var/log/edge-ui/edge-ui.log
لمعرفة ما إذا كانت هناك أي أخطاء. - يُرجى التواصل مع فريق دعم Apigee Edge ومشاركة هذه الملفات لإجراء مزيد من التحقيق.
يجب جمع معلومات التشخيص
في حال استمرار المشكلة حتى بعد اتباع التعليمات أعلاه، يُرجى جمع معلومات التشخيص التالية. يمكنك التواصل معه ومشاركته مع Apigee Edge Support:
ناتج الأمر:
curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
سجل خادم الإدارة
/opt/apigee/var/log/edge-management-server/logs/system.log.
سجلات معالج الرسائل
/opt/apigee/var/log/edge-message-processor/logs/system.log.
ناتج أوامر telnet/nc من خادم الإدارة إلى معالج الرسائل:
telnet <MessageProcessor_IP> 8082 nc -vz <MessageProcessor_IP> 8082
ناتج الأمر netstat أدناه في معالج(معالجات) الرسائل:
netstat -an > netstat.txt
إذا تبيّن أن هناك مشكلة في واجهة مستخدم Edge، يجب تقديم سجلّي واجهة مستخدم Edge
/opt/apigee/var/log/edge-ui/application.log
و/opt/apigee/var/log/edge-ui/edge-ui.log.
.تفاصيل حول الأقسام التي تمت تجربتها في هذا الدليل وأيّ معلومات أخرى ستساعدنا في إيجاد حل سريع لهذه المشكلة