استخدام أداة تتبع

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

ما هي أداة "التتبُّع"؟

‫Trace هي أداة لتحديد المشاكل وحلّها ومراقبة خوادم وكيل واجهة برمجة التطبيقات التي تعمل على Apigee Edge. تتيح لك أداة Trace التحقّق من تفاصيل كل خطوة من خلال مسار خادم وكيل لواجهة برمجة التطبيقات.

شاهِد هذا الفيديو للحصول على مقدمة عن أداة "التتبُّع".

كيفية استخدام ميزة "التتبُّع"

أداة Trace سهلة الاستخدام. تبدأ جلسة تتبُّع، ثم تجري طلبًا من واجهة برمجة التطبيقات إلى منصة Edge، وتقرأ النتائج.

  1. يمكنك الوصول إلى صفحة خوادم وكيل واجهة برمجة التطبيقات، كما هو موضّح أدناه.

    Edge

    للوصول إلى صفحة خوادم وكيل واجهة برمجة التطبيقات باستخدام واجهة مستخدم Edge، اتّبِع الخطوات التالية:

    1. سجِّل الدخول إلى apigee.com/edge.
    2. انقر على تطوير > خوادم وكيلة لواجهة برمجة التطبيقات في شريط التنقّل الأيمن.

    Classic Edge (Private Cloud)

    للوصول إلى صفحة خوادم وكيل واجهة برمجة التطبيقات باستخدام واجهة مستخدم Classic Edge:

    1. سجِّل الدخول إلى http://ms-ip:9000، حيث ms-ip هو عنوان IP أو اسم نظام أسماء النطاقات لعقدة خادم الإدارة.
    2. انقر على واجهات برمجة التطبيقات > خوادم وكيلة لواجهات برمجة التطبيقات في شريط التنقّل العلوي.
  2. اختَر خادمًا وكيلاً لواجهة برمجة التطبيقات من صفحة "الخوادم الوكيلة لواجهة برمجة التطبيقات".
  3. تأكَّد من نشر واجهة برمجة التطبيقات التي تريد تتبُّعها.
  4. انقر على تتبُّع للانتقال إلى طريقة عرض أداة "تتبُّع".
  5. استخدِم القائمة المنسدلة النشر إلى التتبُّع لاختيار بيئة النشر ومراجعة الوكيل اللذين تريد تتبُّعهما.
  6. انقر على بدء جلسة التتبُّع. عندما تكون جلسة التتبُّع نشطة، يسجّل خادم وكيل واجهة برمجة التطبيقات تفاصيل كل خطوة في مسار المعالجة. أثناء تشغيل جلسة التتبُّع، يتم تسجيل الرسائل والبيانات السياقية من حركة المرور المباشرة.

  7. إذا لم تكن لديك أي زيارات مباشرة تمر عبر الخادم الوكيل، ما عليك سوى إرسال طلب إلى واجهة برمجة التطبيقات. يمكنك استخدام أي أداة تريدها لإرسال الطلب، مثل curl أو Postman أو أي أداة أخرى مألوفة. أو يمكنك إرسال الطلب مباشرةً من أداة Trace نفسها. ما عليك سوى إدخال عنوان URL والنقر على إرسال. ملاحظة: يمكنك إرسال طلب GET فقط من أداة Trace، ولكن لا يمكنك إرسال طلب POST.

    ملاحظة: يمكن لجلسة Trace واحدة أن تتضمّن 10 معاملات طلب/استجابة لكل معالج رسائل من خلال خادم وكيل لواجهة برمجة التطبيقات المحدّد. في Edge cloud، يمكن إجراء 20 عملية طلب/رد باستخدام معالجَين للرسائل يتوليان معالجة عدد الزيارات. تتوقّف جلسة التتبُّع تلقائيًا بعد 10 دقائق إذا لم توقِفها يدويًا.
  8. عند تسجيل عدد كافٍ من الطلبات، انقر على إيقاف جلسة التتبُّع.
  9. تظهر قائمة بمعاملات الطلبات/الردود التي تم تسجيلها في القائمة اليمنى. انقر على أي من المعاملات للاطّلاع على النتائج التفصيلية.

كيفية قراءة عملية تتبُّع

تتضمّن أداة التتبُّع جزأين رئيسيَّين، وهما خريطة المعاملات وتفاصيل المرحلة:

  • تستخدِم خريطة المعاملات رموزًا لوضع علامة على كل خطوة مهمة تحدث أثناء معاملة خادم وكيل لواجهة برمجة التطبيقات، بما في ذلك تنفيذ السياسات والخطوات الشرطية وعمليات الانتقال. مرِّر مؤشر الماوس فوق أي رمز للاطّلاع على معلومات موجزة. تظهر خطوات مسار الطلب في أعلى خريطة المعاملات، بينما تظهر خطوات مسار الرد في أسفلها.
  • يسرد قسم تفاصيل المرحلة في الأداة معلومات حول المعالجة الداخلية للخادم الوكيل، بما في ذلك المتغيرات التي تم ضبطها أو قراءتها، وعناوين الطلبات والاستجابات، وغير ذلك الكثير. انقر على أي رمز للاطّلاع على تفاصيل المرحلة الخاصة بهذه الخطوة.

في ما يلي نموذج لخريطة أداة تتبُّع مع تصنيف الأقسام الرئيسية لمعالجة الخادم الوكيل:

خريطة المعاملات في أداة التتبُّع

التسمية التوضيحية لخريطة المعاملات

يوضّح الجدول التالي الغرض من الرموز التي ستظهر لك في خريطة المعاملات. تشير هذه الرموز إلى كل خطوة من خطوات المعالجة البارزة خلال عملية إنشاء الخادم الوكيل.

رموز خريطة المعاملات

تطبيق العميل الذي يرسل طلبًا إلى ProxyEndpoint لخادم وكيل واجهة برمجة التطبيقات
تشير الدوائر إلى نقاط نهاية انتقالية في مسار الخادم الوكيل. تكون هذه البرامج متوفّرة عندما يتلقّى الخادم طلبًا من العميل، وعندما يتم إرسال الطلب إلى الهدف، وعندما يتلقّى الخادم الردّ من الهدف، وعندما يتم إرسال الردّ إلى العميل.

تشير الأشرطة الطويلة إلى بداية جزء من مسار في خادم وكيل لواجهة برمجة التطبيقات. شرائح Flow هي: طلب ProxyEndpoint، وطلب TargetEndpoint، واستجابة TargetEndpoint، واستجابة ProxyEndpoint. يتضمّن الجزء PreFlow وConditional Flows وPostFlow.

اطّلِع على مقالة إعداد المسارات للحصول على مزيد من المعلومات.

تشير إلى أنّ إجراءات "إحصاءات Google" قد حدثت في الخلفية.

سير عمل شرطي يتم تقييمه على أنّه صحيح. للحصول على مقدّمة عن المهام المستندة إلى شروط، راجِع ضبط المهام.

يُرجى العِلم أنّ بعض الشروط يتم إنشاؤها على Edge. على سبيل المثال، ما يلي هو تعبير يستخدمه Edge للتحقّق مما إذا حدث خطأ في ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

سير عمل شرطي يتم تقييمه على أنّه "خطأ". للحصول على مقدّمة حول المهام المستندة إلى شروط، راجِع ضبط المهام.

يُرجى العِلم أنّ بعض الشروط يتم إنشاؤها على Edge. على سبيل المثال، ما يلي تعبير يستخدمه Edge للتحقّق مما إذا حدث خطأ في TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

السياسات لكل نوع من السياسات رمز فريد. هذه السياسة مخصّصة لسياسة AssignMessage. تتيح لك هذه الرموز معرفة الأماكن التي يتم فيها تنفيذ السياسات بالترتيب الصحيح وما إذا كانت ناجحة أم لا. يمكنك النقر على رمز سياسة للاطّلاع على نتائج تنفيذها ومعرفة ما إذا كانت النتائج متوقّعة أم لا. على سبيل المثال، يمكنك معرفة ما إذا تم تحويل الرسالة بشكل صحيح أو ما إذا كان يتم تخزينها مؤقتًا.

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

ملاحظة: انتبه إلى تلميح الأدوات أو المخطط الزمني لمعرفة ما إذا كانت أي سياسة تستغرق وقتًا أطول من المتوقع.

يظهر هذا الخيار عندما يكون الهدف من الخلفية هو تطبيق Node.js. اطّلِع على نظرة عامة على Node.js على Apigee Edge.
الهدف الخلفي الذي يستدعيه خادم وكيل واجهة برمجة التطبيقات
يشير المخطط الزمني إلى المدة (بالمللي ثانية) التي استغرقتها عملية المعالجة حتى تكتمل. تساعدك مقارنة شرائح الوقت المنقضي في عزل السياسات التي تستغرق أطول وقت في التنفيذ والتي تؤدي إلى إبطاء طلبات البيانات من واجهة برمجة التطبيقات.
يشير الرمز Epsilon إلى فترة زمنية أصغر من جزء من الألف من الثانية.

الزر غير مفعّل. يظهر على رمز السياسة عندما تكون السياسة غير مفعّلة. يمكن إيقاف السياسة باستخدام واجهة برمجة التطبيقات العامة. اطّلِع على مرجع إعداد خادم وكيل لواجهة برمجة التطبيقات.

حدث خطأ. يظهر على رمز السياسة عندما يتم تقييم شرط "خطوة السياسة" على أنّه خطأ (راجِع متغيرات التدفق والشروط)، أو على رمز سياسة RaiseFault عندما يتم تنفيذ سياسة RaiseFault.
تم التخطي. يظهر على رمز السياسة عندما لا يتم تنفيذ السياسة لأنّ شرط الخطوة تم تقييمه على أنّه خطأ. يمكنك الاطّلاع على متغيرات التدفق والشروط لمزيد من المعلومات.

فهم تفاصيل المرحلة

يخبرك جزء تفاصيل المرحلة في الأداة بالكثير عن حالة الخادم الوكيل في كل خطوة من خطوات المعالجة. في ما يلي بعض التفاصيل المقدَّمة في "تفاصيل المرحلة". انقر على أي رمز في أداة التتبُّع للاطّلاع على تفاصيل الخطوة المحدّدة، أو استخدِم الزرَّين التالي/السابق للانتقال من خطوة إلى أخرى.

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

تعرض هذه السمة متغيّرات التدفق التي قرأتها إحدى السياسات وتم تعيين قيمة لها. راجِع أيضًا إدارة حالة الخادم الوكيل باستخدام متغيّرات التدفق.

ملاحظة:

  • تشير علامة المساواة (=) إلى القيمة التي تم تعيينها للمتغير.
  • تشير علامة المساواة المشطوبة (≠) إلى أنّه تعذّر تعيين قيمة للمتغيّر لأنّه للقراءة فقط أو حدث خطأ في تنفيذ السياسة.
  • يشير الحقل الفارغ إلى أنّه تم قراءة قيمة المتغيّر.
عناوين الطلبات تعرض هذه السمة عناوين طلبات HTTP.
طلب محتوى تعرِض هذه السمة نص طلب HTTP.
الخصائص تمثّل المواقع الحالة الداخلية لخادم وكيل واجهة برمجة التطبيقات. ولا يتم عرضها تلقائيًا.
نقطة النهاية المستهدَفة تشير هذه السمة إلى TargetEndpoint الذي تم اختياره للتنفيذ.
عناوين الاستجابة تعرض هذه السمة عناوين استجابة HTTP.
محتوى الرد تعرِض هذه السمة نص استجابة HTTP.
PostClientFlow تعرض هذه السمة معلومات عن PostClientFlow، التي يتم تنفيذها بعد أن يتم إرجاع الطلب إلى تطبيق العميل الذي أرسل الطلب. ويمكن ربط سياسات MessageLogging فقط بـ PostClientFlow. يُستخدَم PostClientFlow حاليًا بشكل أساسي لقياس الفاصل الزمني بين الطابعَين الزمنيَين لبدء رسالة الردّ وانتهائها.

تحسين عملية تسجيل الرسائل باستخدام الفلاتر

يمكنك فلترة الطلبات التي تظهر في أداة "التتبُّع" من خلال تحديد قيم مَعلمات العنوان و/أو طلب البحث. تتيح لك الفلاتر استهداف مكالمات معيّنة قد تتسبّب في حدوث مشاكل. على سبيل المثال، قد تحتاج إلى التركيز على الطلبات التي تتضمّن محتوًى معيّنًا أو الطلبات الواردة من شركاء أو تطبيقات معيّنة. يمكنك الفلترة حسب:

  • عناوين HTTP: يمكنك حصر التتبُّع على المكالمات التي تحتوي على عنوان معيّن فقط. هذه طريقة جيدة لمساعدتك في تحديد المشاكل وحلّها. يمكنك إرسال عنوان إلى مطوّر التطبيق وطلب تضمينه في المكالمة التي تسبّب مشاكل. بعد ذلك، لن تسجّل Apigee Edge سوى الطلبات التي تتضمّن هذا العنوان المحدّد، ما يتيح لك فحص النتائج.
  • مَعلمات طلب البحث: سيتم تسجيل المكالمات التي تتضمّن قيمة معيّنة لمَعلمة معيّنة فقط.

معلومات مهمة عن ميزة "الفلتر"

  • يجب إعادة تشغيل جلسة "تتبُّع الأخطاء" بعد تحديد مَعلمات الفلتر في حقول الفلتر.
  • يتم ربط مَعلمات الفلتر باستخدام "و". يجب أن تكون جميع أزواج طلب البحث و/أو اسم العنوان/القيمة المحدّدة متوفّرة في الطلب لإجراء مطابقة ناجحة.
  • لا تتوافق ميزة "مطابقة الأنماط" مع أداة "الفلاتر".
  • تكون مَعلمات الفلتر وقيمه حسّاسة لحالة الأحرف.

كيفية إنشاء فلتر لتتبُّع الأخطاء

  1. إذا كانت جلسة تتبُّع قيد التشغيل، أوقِفها بالنقر على إيقاف جلسة التتبُّع.
  2. انقر على الفلاتر في أعلى يمين "أداة التتبُّع" لتوسيع حقل الفلاتر.

    في أداة "التتبُّع"، تم وضع دائرة حول تصنيف الشريط الجانبي "الفلاتر".
  3. في حقل "الفلاتر"، حدِّد مَعلمات طلب البحث و/أو قيم العناوين التي تريد فلترتها. في هذا المثال، نحدّد مَعلمتَين لطلب البحث من أجل الفلترة. يجب أن تكون كلتا المَعلمتَين مضمّنتَين في الطلب لإجراء مطابقة ناجحة.

    في "أداة التتبُّع"، ضمن "الفلاتر"، ضمن "مَعلمة طلب البحث"، يتم ضبط مثالَين على الأسماء والقيم.
  4. ابدأ جلسة التتبُّع.
  5. استدعاء واجهات برمجة التطبيقات لا تؤدي إلى تطابق ناجح إلا الطلبات التي تتضمّن جميع العناوين و/أو مَعلمات طلب البحث المحدّدة.

ضمن "المعاملات"، تظهر أربع نتائج تتطابق مع مَعلمتَين محدّدتين مسبقًا لطلب البحث.

في المثال أعلاه، سيظهر طلب البيانات من واجهة برمجة التطبيقات هذا في "التتبُّع" على النحو التالي:

http://docs-test.apigee.net/cats?name=Penny&breed=Calico

ولكن لن يؤدي ذلك إلى:

http://docs-test.apigee.net/cats?name=Penny

تصحيح الأخطاء باستخدام Trace

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

  • يمكنك الاطّلاع بسرعة على السياسات التي يتم تنفيذها بشكلٍ صحيح أو التي يتعذّر تنفيذها.
  • لنفترض أنّك لاحظت من خلال إحدى لوحات بيانات "إحصاءات Google" أنّ أحد واجهات برمجة التطبيقات يشهد انخفاضًا غير معتاد في الأداء. يمكنك الآن استخدام Trace للمساعدة في تحديد موضع حدوث المؤثر السلبي. تعرض عملية التتبُّع الوقت المستغرَق بالمللي ثانية لإكمال كل خطوة من خطوات المعالجة. إذا تبيّن لك أنّ إحدى الخطوات تستغرق وقتًا طويلاً، يمكنك اتّخاذ إجراء تصحيحي.
  • من خلال الاطّلاع على تفاصيل المرحلة، يمكنك التحقّق من العناوين التي يتم إرسالها إلى الخلفية، وعرض المتغيرات التي تم ضبطها بواسطة السياسات، وما إلى ذلك.
  • من خلال التحقّق من المسار الأساسي، يمكنك التأكّد من أنّ السياسة توجّه الرسالة إلى الخادم الصحيح.

اختيار خيارات العرض

اختَر خيارات العرض لجلسة التتبُّع.

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

تنزيل نتائج التتبُّع

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

لتنزيلها، انقر على تنزيل جلسة التتبُّع.

عرض الطلبات بتنسيق curl

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

  • قد يعدّل خادم وكيل واجهة برمجة التطبيقات الطلب، لذا من المفيد معرفة كيف يختلف الطلب من الخادم الوكيل إلى الخادم المستهدف عن الطلب الأصلي. يمثّل أمر curl الطلب المعدَّل.
  • بالنسبة إلى حمولات الرسائل الأكبر حجمًا، يتيح لك curl الاطّلاع على عناوين HTTP ومحتوى الرسالة في مكان واحد. (يبلغ الحدّ الأقصى حاليًا حوالي 1,000 حرف. للحصول على نصيحة حول تجاوز هذا الحد، يُرجى الاطّلاع على منشور المنتدى هذا).

لأغراض الأمان، تخفي ميزة curl عنوان HTTP Authorization.

لعرض الطلبات بتنسيق curl بعد تلقّي طلب من واجهة برمجة التطبيقات في Trace، اختَر مرحلة "تم إرسال الطلب إلى الخادم المستهدف" في الرسم البياني "خريطة المعاملات"، ثم انقر على الزر عرض curl في عمود "تم إرسال الطلب إلى الخادم المستهدف" في لوحة "تفاصيل المرحلة".

تشير التعليقات التوضيحية على الصورة إلى الزر "عرض Curl" وإحدى الدوائر في الرسم البياني "خريطة المعاملات".

استخدام "أداة التتبُّع" في "دعم Apigee"

بشكل تلقائي، تسمح Apigee Edge لفريق دعم Apigee باستخدام أداة Trace على الخوادم الوكيلة لواجهة برمجة التطبيقات لتقديم الدعم. يمكنك إيقاف هذا الخيار في أي وقت. ومع ذلك، قد يؤدي إيقاف هذا الخيار إلى الحدّ من قدرة فريق دعم Apigee على تقديم الدعم لك.

لإيقاف دعم Apigee من استخدام أداة "تتبُّع":

  1. سجِّل الدخول إلى https://apigee.com/edge.
  2. اختَر المشرف > الخصوصية والأمان في شريط التنقّل الأيمن.
  3. انقر على زر التبديل تفعيل دعم Apigee إلى ميزة التتبُّع لإيقاف استخدام أداة تتبُّع Apigee.