با استفاده از ابزار Trace

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

ابزار Trace چیست؟

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

برای آشنایی با ابزار Trace این ویدیو را تماشا کنید.

نحوه استفاده از Trace

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

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

    لبه

    برای دسترسی به صفحه پراکسی های API با استفاده از رابط کاربری Edge:

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

    Classic Edge (ابر خصوصی)

    برای دسترسی به صفحه پروکسی های API با استفاده از رابط کاربری Classic Edge:

    1. به http:// ms-ip :9000 وارد شوید، جایی که ms-ip آدرس IP یا نام DNS گره مدیریت سرور است.
    2. APIs > API Proxies را در نوار پیمایش بالا انتخاب کنید.
  2. یک پروکسی API را از صفحه API Proxies انتخاب کنید.
  3. مطمئن شوید که API مورد نظر برای ردیابی مستقر است.
  4. برای رفتن به نمای ابزار Trace روی Trace کلیک کنید.
  5. از منوی کشویی Deployment to Trace برای انتخاب محیط استقرار و ویرایش پروکسی که می خواهید ردیابی کنید استفاده کنید.
  6. روی Start Trace Session کلیک کنید. هنگامی که جلسه Trace فعال است، پراکسی API جزئیات هر مرحله در خط لوله پردازش را ثبت می کند. در حالی که جلسه Trace در حال اجرا است، پیام ها و داده های متنی از ترافیک زنده گرفته می شود.

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

    توجه: یک جلسه Trace می تواند از 10 تراکنش درخواست/پاسخ در هر پردازشگر پیام از طریق پراکسی API انتخاب شده پشتیبانی کند. در ابر Edge، با 2 پردازشگر پیام که ترافیک را مدیریت می کنند، 20 تراکنش درخواست/پاسخ پشتیبانی می شود. اگر به صورت دستی آن را متوقف نکنید، یک جلسه ردیابی به طور خودکار پس از 10 دقیقه متوقف می شود.
  8. وقتی تعداد کافی درخواست را دریافت کردید، روی توقف جلسه ردیابی کلیک کنید.
  9. لیستی از تراکنش های درخواست/پاسخ گرفته شده در منوی سمت چپ نمایش داده می شود. برای مشاهده نتایج دقیق روی هر یک از معاملات کلیک کنید.

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

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

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

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

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

افسانه نقشه معاملات

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

نمادهای نقشه معاملات

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

نوارهای بلند شروع یک بخش جریان را در جریان پروکسی API نشان می دهد. بخش های جریان عبارتند از: درخواست ProxyEndpoint، درخواست TargetEndpoint، پاسخ TargetEndpoint، و پاسخ ProxyEndpoint. یک بخش شامل PreFlow، Conditional Flow و PostFlow است.

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

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

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

توجه داشته باشید که برخی از شرایط Edge-Generated هستند. به عنوان مثال، عبارت زیر عبارتی است که Edge از آن برای بررسی اینکه آیا خطایی در ProxyEndpoint رخ داده است استفاده می کند:

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

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

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

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

خطا. هنگامی که شرط Policy Step به نادرست ارزیابی می شود (به متغیرها و شرایط جریان مراجعه کنید)، یا هر زمان که یک خط مشی RaiseFault اجرا می شود، روی نماد خط مشی ظاهر می شود.
رد شد. هنگامی که خط مشی اجرا نمی شود، روی نماد خط مشی ظاهر می شود زیرا شرط مرحله به نادرست ارزیابی می شود. برای اطلاعات بیشتر به متغیرهای جریان و شرایط مراجعه کنید.

درک جزئیات فاز

بخش Phase Details از ابزار به شما اطلاعات زیادی در مورد وضعیت پروکسی شما در هر مرحله پردازش می دهد. در اینجا برخی از جزئیات ارائه شده در جزئیات فاز آورده شده است. روی هر نمادی در ابزار ردیابی کلیک کنید تا جزئیات مرحله انتخاب شده را مشاهده کنید، یا از دکمه های Next / Back برای حرکت از یک مرحله به مرحله دیگر استفاده کنید.

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

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

توجه :

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

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

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

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

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

  • پس از تعیین پارامترهای فیلتر در فیلدهای فیلتر، باید جلسه Trace خود را مجدداً راه اندازی کنید.
  • پارامترهای فیلتر با هم AND می شوند. همه جفت‌های پرس و جو و/یا نام/مقدار سرصفحه مشخص شده باید در درخواست برای یک تطابق موفق وجود داشته باشند.
  • تطبیق الگو در ابزار فیلترها پشتیبانی نمی شود.
  • پارامترها و مقادیر فیلتر به حروف بزرگ و کوچک حساس هستند.

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

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

    در ابزار Trace، برچسب نوار کناری Filters دایره شده است.
  3. در قسمت فیلترها، پارامتر پرس و جو و/یا مقادیر سرصفحه را که می خواهید روی آن فیلتر کنید، مشخص کنید. در این مثال، ما دو پارامتر پرس و جو را برای فیلتر کردن مشخص می کنیم. هر دو پارامتر باید در درخواست برای یک مسابقه موفق وجود داشته باشد.

    در ابزار Trace، در قسمت Filters، در قسمت Query Parameter، دو نام و مقدار نمونه تنظیم شده است.
  4. جلسه ردیابی را شروع کنید.
  5. با API های خود تماس بگیرید. فقط درخواست هایی که شامل تمام سرصفحه(های) مشخص شده و/یا پارامتر(های) پرس و جو هستند، مطابقت موفقیت آمیزی را ایجاد می کنند.

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

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

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

اما این نمی شود:

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

اشکال زدایی با Trace

Trace به شما امکان می دهد جزئیات داخلی زیادی در مورد یک پروکسی API مشاهده کنید. به عنوان مثال:

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

انتخاب گزینه های مشاهده

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

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

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

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

برای دانلود، روی Download Trace Session کلیک کنید.

نمایش درخواست ها به صورت حلقه

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

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

برای امنیت، ویژگی curl هدر مجوز HTTP را پنهان می کند.

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

حاشیه نویسی تصویر به دکمه Show Curl و یکی از دایره های موجود در نمودار نقشه تراکنش اشاره می کند.

پشتیبانی Apigee از Trace

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

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

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