استفاده از ابزار «ردیابی»

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

ابزار «ردیابی» چیست؟

«ردیابی» ابزاری برای عیب‌یابی و نظارت بر پراکسی‌های API است که در Apigee Edge اجرا می‌شود. «ردیابی» به شما امکان می‌دهد جزئیات هر مرحله را ازطریق جریان پراکسی API بررسی کنید.

برای آشنایی با ابزار «ردیابی»، این ویدیو را تماشا کنید.

نحوه استفاده از «ردیابی»

استفاده از Trace ساده است. جلسه ردیابی را شروع می‌کنید، سپس با پلاتفرم Edge تماس API برقرار می‌کنید، و نتایج را می‌خوانید.

  1. همان‌طور که در زیر توضیح داده شده است، به صفحه پراکسی‌های API دسترسی پیدا کنید.

    Edge

    برای دسترسی به صفحه پراکسی‌های API بااستفاده از «میانای کاربر Edge»:

    1. به سیستم apigee.com/edge وارد شوید.
    2. در نوار پیمایش سمت راست، توسعه > پراکسی‌های API را انتخاب کنید.

    میانای کاربر Edge جدید (ابر خصوصی)

    برای دسترسی به صفحه پراکسی‌های میانای برنامه‌سازی کاربردی بااستفاده از «میانای کاربر Edge جدید»:

    1. در http://host:3001/edge به سیستم «میانای کاربر Edge جدید» وارد شوید. در اینجا، host نشانی IP یا نام ساناد میزبان اجرای «میانای کاربر Edge جدید» است.
    2. در نوار پیمایش سمت راست، توسعه > پراکسی‌های API را انتخاب کنید.
  2. یک پراکسی API از صفحه «پراکسی‌های API» انتخاب کنید.
  3. مطمئن شوید میانای برنامه‌سازی کاربردی که می‌خواهید ردیابی کنید مستقر شده باشد.
  4. روی ردیابی کلیک کنید تا به نمای ابزار «ردیابی» بروید.
  5. از منوِ کرکره‌ای استقرار در ردیابی برای انتخاب محیط استقرار و نسخه بازبینی پراکسی موردنظرتان برای ردیابی استفاده کنید.
  6. روی شروع جلسه ردیابی کلیک کنید. وقتی جلسه «پیگیری» فعال است، پراکسی API جزئیات هر مرحله را در خط لوله پردازش ثبت می‌کند. وقتی جلسه «ردیابی» درحال اجرا است، پیام‌ها و داده‌های زمینه‌ای از ترافیک زنده ضبط می‌شوند.

  7. اگر هیچ ترافیک زنده‌ای ازطریق پراکسی شما جریان ندارد، کافی است درخواستی به API ارسال کنید. می‌توانید از هر ابزاری که می‌خواهید برای ارسال درخواست استفاده کنید، مانند curl،‏ Postman، یا هر ابزار آشنای دیگری. یا می‌توانید درخواست را مستقیماً از خود ابزار «ردیابی» ارسال کنید. کافی است نشانی وب را وارد کنید و روی ارسال کلیک کنید. توجه: فقط می‌توانید درخواست GET را از ابزار «ردیابی» ارسال کنید، اما نمی‌توانید درخواست POST ارسال کنید.

    توجه: هر جلسه «پیگیری» می‌تواند از ۱۰ تراکنش درخواست/پاسخ در هر پردازشگر پیام ازطریق پراکسی «میانای برنامه‌سازی کاربردی» انتخاب‌شده پشتیبانی کند. در ابر Edge، با ۲ پردازنده پیام که ترافیک را مدیریت می‌کنند، ۲۰ تراکنش درخواست/پاسخ پشتیبانی می‌شود. اگر جلسه ردیابی را به‌صورت دستی متوقف نکنید، این جلسه پس‌از ۱۰ دقیقه به‌طور خودکار متوقف می‌شود.
  8. وقتی تعداد کافی درخواست را ضبط کردید، روی توقف ردیابی جلسه کلیک کنید.
  9. فهرستی از تراکنش‌های درخواست/پاسخ ضبط‌شده در منو سمت راست نمایش داده می‌شود. برای مشاهده نتایج دقیق، روی هریک از تراکنش‌ها کلیک کنید.

نحوه خواندن ردیابی

ابزار ردیابی دو بخش اصلی دارد، نقشه تراکنش و جزئیات مرحله:

  • نقشه تراکنش از نمادها برای علامت‌گذاری هر مرحله قابل‌توجهی که درطول تراکنش پراکسی API رخ می‌دهد، ازجمله اجرای خط‌مشی، مراحل شرطی، و انتقال‌ها استفاده می‌کند. برای دیدن اطلاعات خلاصه، نشانگر را روی هر نماد نگه‌دارید. مراحل جریان درخواست در بالای نقشه تراکنش و مراحل جریان پاسخ در پایین نشان داده می‌شود.
  • بخش جزئیات مرحله ابزار، اطلاعات مربوط به پردازش داخلی پراکسی را فهرست می‌کند، ازجمله متغیرهایی که تنظیم یا خوانده شده‌اند، سراینده‌های درخواست و پاسخ، و موارد بسیار دیگر. روی هر نمادی کلیک کنید تا جزئیات مرحله آن گام را ببینید.

در اینجا نقشه ابزار ردیابی نمونه‌ای با بخش‌های پردازش اصلی پراکسی برچسب‌گذاری‌شده آورده شده است:

نقشه تراکنش ابزار ردیابی

راهنمای نقشه تراکنش

جدول زیر هدف نمادهایی را که در نقشه تراکنش می‌بینید شرح می‌دهد. این نمادها هریک از مراحل پردازش قابل‌توجه در جریان پراکسی را نشان می‌دهند.

نمادهای نقشه تراکنش

برنامه کارخواهی که درخواستی را به ProxyEndpoint میانای برنامه‌سازی کاربردی ارسال می‌کند.
دایره‌ها نقاط پایانی انتقالی را در جریان پراکسی مشخص می‌کنند. این فیلترها زمانی که درخواستی از مشتری می‌آید، زمانی که درخواست به هدف می‌رود، زمانی که پاسخ از هدف برمی‌گردد، و زمانی که پاسخ به مشتری برمی‌گردد، حضور دارند.

میله‌های بلند نشان‌دهنده شروع یک بخش جریان در جریان پراکسی API است. بخش‌های جریان عبارت‌اند از: درخواست ProxyEndpoint، درخواست TargetEndpoint، پاسخ TargetEndpoint، و پاسخ ProxyEndpoint. بخش شامل «جریان پیش‌از جریان»، «جریان‌های شرطی»، و «جریان پس‌از جریان» است.

برای اطلاعات بیشتر، پیکربندی جریان‌ها را ببینید.

نشان می‌دهد که کنش‌های Analytics در پس‌زمینه انجام شده است.

جریان شرطی که به درست ارزیابی می‌شود. برای آشنایی با جریان‌های شرطی، پیکربندی جریان‌ها را ببینید.

توجه داشته باشید که برخی‌از شرایط توسط 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 را ببینید.
هدف زیرینه فراخوانده‌شده توسط پراکسی API.
خط زمان نشان می‌دهد که زمان پردازش چقدر (به میلی‌ثانیه) طول کشیده است تا تکمیل شود. مقایسه بخش‌های زمان سپری‌شده به شما کمک می‌کند خط‌مشی‌هایی را که اجرای آن‌ها بیشترین زمان را می‌برد و باعث کند شدن فراخوانی‌های API می‌شود جدا کنید.
«اپسیلون» نشان‌دهنده بازه زمانی کوچک‌تر از میلی‌ثانیه است.

غیرفعال. وقتی خط‌مشی غیرفعال باشد، روی نماد خط‌مشی نشان داده می‌شود. خط‌مشی را می‌توان با میانای برنامه‌سازی کاربردی عمومی غیرفعال کرد. مرجع پیکربندی پراکسی میانای برنامه‌سازی کاربردی را ببینید.

خطا. وقتی وضعیت «مرحله خط‌مشی» به نادرست ارزیابی شود (به متغیرها و وضعیت‌های جریان مراجعه کنید)، یا هرگاه خط‌مشی «ایجاد خطا» اجرا شود، روی نماد خط‌مشی ظاهر می‌شود.
رد شد. وقتی خط‌مشی اجرا نشود، زیرا وضعیت مرحله به نادرست ارزیابی شده است، روی نماد خط‌مشی نشان داده می‌شود. برای اطلاعات بیشتر، متغیرها و شرایط جریان را ببینید.

درک جزئیات مرحله

بخش جزئیات مرحله ابزار اطلاعات زیادی درباره وضعیت کارگزار شما در هر مرحله پردازش ارائه می‌دهد. در اینجا برخی‌از جزئیات ارائه‌شده در «جزئیات فاز» آورده شده است. روی هر نمادی در ابزار ردیابی کلیک کنید تا جزئیات مرحله انتخاب‌شده را ببینید، یا از دکمه‌های بعدی/قبلی برای حرکت از یک مرحله به مرحله دیگر استفاده کنید.

جزئیات مرحله شرح
نقطه پایان پراکسی نشان می‌دهد کدام جریان ProxyEndpoint برای اجرا انتخاب شده است. کارگزار نیابتی API می‌تواند چندین نقطه پایانی نیابتی نام‌دار داشته باشد.
متغیر

متغیرهای جریانی را که توسط خط‌مشی خوانده شده‌اند و به آن‌ها مقدار اختصاص داده شده است فهرست می‌کند، همچنین مدیریت وضعیت پراکسی با متغیرهای جریان را ببینید.

توجه:

  • علامت مساوی (=) نشان‌دهنده مقداری است که به متغیر اختصاص داده شده است.
  • علامت تساوی خط‌خورده (≠) نشان می‌دهد که متغیر نمی‌تواند مقدار اختصاص دهد زیرا فقط خواندنی است یا خطایی در اجرای خط‌مشی وجود دارد.
  • فیلد خالی نشان می‌دهد که مقدار متغیر خوانده شده است.
سرایند‌های درخواست سرصفحه‌های درخواست HTTP را فهرست می‌کند.
درخواست محتوا بدنه درخواست HTTP را نشان می‌دهد.
مشخصات دارایی‌ها نشان‌دهنده وضعیت داخلی پراکسی API هستند. این موارد به‌طور پیش‌فرض نشان داده نمی‌شوند.
نقطه پایان هدف نشان می‌دهد کدام «نقطه پایانی هدف» برای اجرا انتخاب شده است.
سرایندهای پاسخ سرصفحه‌های پاسخ HTTP را فهرست می‌کند.
محتوای پاسخ بدنه پاسخ HTTP را نشان می‌دهد.
PostClientFlow اطلاعاتی درباره PostClientFlow نشان می‌دهد که پس‌از بازگرداندن درخواست به برنامه کلاینت درخواست‌کننده اجرا می‌شود. فقط خط‌مشی‌های MessageLogging می‌توانند به PostClientFlow پیوست شوند. درحال‌حاضر از PostClientFlow عمدتاً برای اندازه‌گیری فاصله زمانی بین مُهر زمان شروع و پایان پیام پاسخ استفاده می‌شود.

پالایش ضبط پیام بااستفاده از فیلترها

با مشخص کردن مقادیر پارامتر سرایند و/یا پُرسمان، می‌توانید فیلتر کنید که کدام درخواست‌ها در ابزار «ردیابی» نشان داده شود. فیلترها به شما امکان می‌دهند تماس‌های خاصی را که ممکن است باعث ایجاد مشکل شوند هدف‌یابی کنید. برای مثال، ممکن است لازم باشد روی درخواست‌هایی که محتوای خاصی دارند یا درخواست‌هایی که از شرکا یا برنامه‌های خاصی می‌آیند تمرکز کنید. می‌توانید براساس این موارد فیلتر کنید:

  • سراینده‌های HTTP - ردیابی را به فقط تماس‌هایی که حاوی سراینده خاصی هستند محدود کنید. این روش خوبی برای کمک به شما در عیب‌یابی مشکلات است. می‌توانید سرایندی را به توسعه‌دهنده برنامه‌تان ارسال کنید و از او بخواهید آن را در تماسی که باعث بروز مشکل شده است اضافه کند. سپس Apigee Edge فقط تماس‌های دارای آن سرایند خاص را ضبط می‌کند تا بتوانید نتایج را بررسی کنید.
  • پارامترهای پُرسمان - فقط تماس‌هایی با مقدار خاصی از یک پارامتر ضبط خواهد شد.

چیزهایی که باید درباره ویژگی «فیلتر» بدانید

  • پس‌از مشخص کردن پارامترهای فیلتر در فیلدهای فیلتر، باید جلسه «ردیابی» را بازراه‌اندازی کنید.
  • پارامترهای فیلتر با «و» با هم ترکیب می‌شوند. همه جفت‌های نام/مقدار سرایند و/یا پُرسمان مشخص‌شده باید در درخواست برای مطابقت موفقیت‌آمیز وجود داشته باشد.
  • تطبیق الگو در ابزار «فیلترها» پشتیبانی نمی‌شود.
  • پارامترها و مقادیر فیلتر حروف‌حساس هستند.

نحوه ایجاد فیلتر ردیابی

  1. اگر جلسه ردیابی درحال اجرا است، با کلیک کردن روی توقف جلسه ردیابی آن را متوقف کنید.
  2. روی فیلترها در گوشه بالا سمت راست ابزار «ردیابی» کلیک کنید تا فیلد «فیلترها» ازهم باز شود.

    در ابزار «ردیابی»، برچسب نوار کناری «فیلترها» دایره‌کشی شده است.
  3. در فیلد «فیلترها»، پارامتر پُرسمان و/یا مقادیر سرایند را که می‌خواهید براساس آن‌ها فیلتر کنید مشخص کنید. در این مثال، دو پارامتر پُرسمان را برای فیلتر کردن مشخص می‌کنیم. هر دو پارامتر باید در درخواست برای مطابقت موفقیت‌آمیز وجود داشته باشند.

    در ابزار «ردیابی»، در بخش «فیلترها»، در بخش «پارامتر پُرسمان»، دو نام و مقدار نمونه
     تنظیم شده است.
  4. جلسه ردیابی را شروع کنید.
  5. میاناهای برنامه‌سازی کاربردی خود را فراخوانی کنید. فقط درخواست‌هایی که شامل همه سرایند(های) مشخص‌شده و/یا پارامتر(های) پُرسمان باشند منجر به تطابق موفقیت‌آمیز می‌شوند.

در بخش «تراکنش‌ها»، چهار نتیجه نشان داده می‌شود که با دو پارامتر پُرسمان پیش‌تنظیم مطابقت دارد.

در مثال بالا، این فراخوانی API در «ردیابی» نشان داده خواهد شد:

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

اما این کار باعث موارد زیر نخواهد شد:

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

اشکال‌زدایی با «ردیابی»

«ردیابی» به شما امکان می‌دهد جزئیات داخلی زیادی درباره پراکسی API ببینید. برای مثال:

  • می‌توانید در یک نگاه ببینید که کدام خط‌مشی‌ها به‌درستی اجرا می‌شوند یا با مشکل مواجه می‌شوند.
  • فرض کنیم ازطریق یکی از داشبوردهای Analytics متوجه شده‌اید که یکی از APIهای شما با کاهش غیرمعمولی در عملکرد مواجه شده است. اکنون می‌توانید از «ردیابی» برای کمک به شناسایی محل وقوع گلوگاه استفاده کنید. «ردیابی» زمان تکمیل هر مرحله پردازش را به میلی‌ثانیه ارائه می‌دهد. اگر متوجه شدید که یکی از مراحل خیلی طول می‌کشد، می‌توانید اقدام اصلاحی انجام دهید.
  • با نگاه کردن به جزئیات مرحله، می‌توانید سرایندهایی را که به زیرینه ارسال می‌شوند بررسی کنید، متغیرهای تنظیم‌شده توسط خط‌مشی‌ها را مشاهده کنید، و غیره.
  • با درستی‌سنجی مسیر پایه، می‌توانید مطمئن شوید که خط‌مشی پیام را به سرور صحیح هدایت می‌کند.

انتخاب گزینه‌های نما

گزینه‌های نمای جلسه ردیابی را انتخاب کنید.

گزینه شرح
نمایش خط‌مشی‌های غیرفعال نمایش هرگونه خط‌مشی غیرفعال. خط‌مشی را می‌توان با «میانای برنامه‌سازی کاربردی» عمومی غیرفعال کرد. مرجع پیکربندی پراکسی میانای برنامه‌سازی کاربردی را ببینید.
نمایش مراحل ردشده نمایش هر مرحله‌ای که رد شده است. مرحله ردشده زمانی اتفاق می‌افتد که خط‌مشی اجرا نشده باشد زیرا وضعیت مرحله به نادرست ارزیابی شده است. برای اطلاعات بیشتر، متغیرها و شرایط جریان را ببینید.
نمایش همه FlowInfos گذارها را در بخش جریان نشان می‌دهد.
مقایسه خودکار فاز انتخاب‌شده مرحله انتخاب‌شده را با مرحله قبلی مقایسه می‌کند. برای دیدن فقط مرحله انتخاب‌شده، این را خاموش کنید.
نمایش متغیرها متغیرهایی را که مقدارشان خوانده و/یا تخصیص داده شده است نشان دهید یا پنهان کنید.
نمایش دارایی‌ها دارایی‌ها نشان‌دهنده وضعیت داخلی پراکسی API هستند. (به‌طور پیش‌فرض پنهان است.)

درحال بارگیری نتایج ردیابی

می‌توانید فایل XML نتایج ردیابی خام را برای مشاهده و جستجوی آفلاین در ویرایشگر نوشتار بارگیری کنید. این فایل جزئیات کامل جلسه گوش دادن شامل محتوای همه سرایندها، متغیرها، و خط‌مشی‌ها را نشان می‌دهد.

برای بارگیری، روی بارگیری جلسه ردیابی کلیک کنید.

نمایش درخواست‌ها به‌صورت curl

پس‌از ردیابی فراخوانی API که به سرور هدف انجام شده است، می‌توانید درخواست را به‌عنوان دستور curl مشاهده کنید. این امر به‌ویژه برای اشکال‌زدایی به چند دلیل مفید است:

  • کارگزار میانای برنامه‌سازی کاربردی ممکن است درخواست را تغییر دهد، بنابراین مفید است که ببینید درخواست از کارگزار به سرور هدف چه تفاوتی با درخواست اصلی دارد. فرمان curl نشان‌دهنده درخواست اصلاح‌شده است.
  • برای محتوای پیام بزرگ‌تر، curl به شما امکان می‌دهد سرصفحه‌های HTTP و محتوای پیام را در یک مکان ببینید. (درحال‌حاضر حدود ۱٬۰۰۰ نویسه محدودیت وجود دارد. برای دریافت نکته‌ای درباره عبور از این محدودیت، این پست انجمن را ببینید.)

برای حفظ امنیت، ویژگی curl سرایند «مجوز HTTP» را می‌پوشاند.

برای دیدن درخواست‌ها به‌صورت curl پس‌از اینکه تماس API در «ردیابی» برقرار شد، مرحله «درخواست ارسال‌شده به سرور هدف» را در نمودار «نقشه تراکنش» انتخاب کنید، سپس روی دکمه نمایش curl در ستون «درخواست ارسال‌شده به سرور هدف» در قاب «جزئیات فاز» کلیک کنید.

گزارمان‌های تصویر دکمه «نمایش Curl» و یکی از دایره‌های نمودار «نقشه تراکنش» را نشان می‌دهند.

استفاده «پشتیبانی Apigee» از «ردیابی»

به طور پیش فرض، Apigee Edge به پشتیبانی Apigee اجازه می دهد تا از ابزار Trace در پراکسی های API شما برای ارائه پشتیبانی استفاده کند. شما می توانید این گزینه را در هر زمان غیرفعال کنید. با این حال، غیرفعال کردن این گزینه ممکن است توانایی Apigee Support را برای ارائه پشتیبانی به شما محدود کند.

برای غیرفعال کردن پشتیبانی Apigee از استفاده از ابزار Trace:

  1. به https://apigee.com/edge وارد شوید.
  2. Admin > Privacy & Security را در نوار ناوبری سمت چپ انتخاب کنید.
  3. برای غیرفعال کردن استفاده از ابزار Trace توسط پشتیبانی Apigee، روی دکمه فعال کردن پشتیبانی برای ردیابی Apigee کلیک کنید.