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

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

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

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

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

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

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

  1. يمكنك الوصول إلى صفحة "خوادم API الوكيلة"، كما هو موضّح أدناه.

    Edge

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

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

    واجهة مستخدم Edge الجديدة (السحابة الإلكترونية الخاصة)

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

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

  7. إذا لم تكن هناك أي زيارات مباشرة تمر عبر الخادم الوكيل، ما عليك سوى إرسال طلب إلى واجهة برمجة التطبيقات. يمكنك استخدام أي أداة تريدها لإرسال الطلب، مثل curl أو Postman أو أي أداة أخرى مألوفة. يمكنك أيضًا إرسال الطلب مباشرةً من "أداة التتبُّع" نفسها. ما عليك سوى إدخال عنوان 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

تصحيح الأخطاء باستخدام "التتبُّع"

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

  • يمكنك الاطّلاع بسرعة على السياسات التي يتم تنفيذها بشكل صحيح أو التي يتعذّر تنفيذها.
  • لنفترض أنّك لاحظت من خلال إحدى لوحات بيانات "إحصاءات 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.