شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
این مبحث، Edge API Analytics را معرفی میکند.
ویدیو: برای آشنایی کلی با سرویسهای Edge API Analytics، ویدیوی کوتاهی را تماشا کنید.
API خود را از طریق تجزیه و تحلیل بهبود دهید
Edge API Analytics اطلاعات زیادی را که از طریق پروکسیهای API جریان دارد، جمعآوری و محاسبه میکند. میتوانید این دادهها را با نمودارها و چارتها در رابط کاربری Edge تجسم کنید، یا میتوانید دادههای خام را برای تجزیه و تحلیل آفلاین با استفاده از APIهای مدیریت Edge دانلود کنید.
تحلیلها به شما کمک میکنند تا به سوالات رایجی مانند موارد زیر پاسخ دهید:
- روند ترافیک API من در طول زمان چگونه است؟
- کدام متدهای API محبوبتر هستند؟
- توسعهدهندگان برتر من چه کسانی هستند؟
- چه زمانی زمان پاسخگویی API سریعترین یا کندترین است؟
- از نظر جغرافیایی، بیشترین ترافیک API را کجا میبینم؟
پاسخ به سوالاتی از این دست به شما کمک میکند تا API های خود را بهبود بخشید، مشکلات را عیبیابی کنید و تصمیمات تجاری بهتری در رابطه با برنامه API خود بگیرید.
تجزیه و تحلیل API به همه کمک میکند تا پیشرفت کنند
از طریق یک فرآیند مداوم جمعآوری، تجزیه و تحلیل و تجسم دادهها، Edge API Analytics به تیم API شما کمک میکند تا APIهای خود را بهبود بخشند و به توسعهدهندگان برنامه نیز در بهبود برنامههای خود کمک میکند:

- تیم API - تیم API در حال بهرهبرداری از سیستمهای داخلی برای ایجاد APIهای جالب است. تیم API میخواهد بداند که برنامه API به طور کلی چگونه عمل میکند، عملکرد هر API به صورت جداگانه چگونه است و چگونه میتوان APIهای خود را بهبود بخشید.
- توسعهدهندگان اپلیکیشن - با به اشتراک گذاشتن اطلاعات تحلیلی با توسعهدهندگان اپلیکیشن ، اپلیکیشنهای بهتری خواهید داشت. این توسعهدهندگان با API شما نوآوری میکنند و اپلیکیشنهای خلاقانهای میسازند که به افزایش درآمد شرکت شما کمک میکند. تحلیلها به توسعهدهندگان اپلیکیشن کمک میکنند تا بدانند اپلیکیشنهایشان چگونه عمل میکنند و چقدر در سودآوری شرکت شما نقش دارند. توسعهدهندگان اپلیکیشن میخواهند بدانند که چگونه میتوانند اپلیکیشنهای خود را بهبود بخشند.
- تیم عملیات - تیم عملیات میخواهد الگوهای ترافیک را درک کند و پیشبینی کند چه زمانی منابع backend را اضافه کند یا سایر تنظیمات حیاتی را انجام دهد.
- صاحب کسبوکار - صاحب کسبوکار میخواهد ببیند سرمایهگذاری API او چگونه نتیجه میدهد و در آینده کجا میتواند پول API را سرمایهگذاری کند.
چه نوع دادههایی جمعآوری و تحلیل میشوند؟
Edge API Analytics طیف گستردهای از دادهها را که در پروکسیهای API جریان دارند، جمعآوری و تجزیه و تحلیل میکند، مانند:
- زمان پاسخ
- درخواست تأخیر
- اندازه درخواست
- خطاهای هدف
- نام محصول API
- آدرس ایمیل توسعهدهنده
- نام برنامه
- بسیاری دیگر
برای فهرست کاملی از دادههای جمعآوریشده توسط API Analytics، به مرجع معیارها، ابعاد و فیلترهای Analytics مراجعه کنید.
چگونه میتوانم دادههای تحلیلی سفارشی را جمعآوری کنم؟
Edge به صورت بومی حجم زیادی از دادهها را جمعآوری میکند. همچنین ممکن است بخواهید دادههای تحلیلی سفارشی مختص به پروکسیهای API، برنامهها، محصولات یا توسعهدهندگان خود را جمعآوری کنید. به عنوان مثال، ممکن است بخواهید دادههای تحلیلی را از پارامترهای پرسوجو، هدرهای درخواست، بدنههای درخواست و پاسخ یا متغیرهایی که در APIهای خود تعریف میکنید، جمعآوری کنید.
شما با استفاده از سیاست StatisticsCollector دادههای تحلیلی سفارشی را جمعآوری میکنید. پس از استخراج دادههای سفارشی، میتوانید از رابط کاربری یا API تحلیلی برای بررسی دادهها استفاده کنید. برای مثال کامل که نحوه جمعآوری دادههای تحلیلی سفارشی را نشان میدهد، به بخش «تحلیل محتوای پیام API با استفاده از تجزیه و تحلیل سفارشی» مراجعه کنید.
تفاوتهای بین دادههای تحلیلی و دادههای مانیتورینگ API
این بخش برخی از تفاوتهای جزئی بین دادههای جمعآوریشده توسط Edge Analytics در مقابل API Monitoring را شرح میدهد. از آنجایی که API Monitoring و Analytics از خطوط داده متفاوتی استفاده میکنند، ممکن است تفاوتهای جزئی بین گزارشهای سفارشی تولید شده توسط Monitoring و گزارشهای تولید شده توسط Analytics مشاهده کنید. به عنوان مثال، ممکن است در نتایج گزارش شده برای خطاهای timeout - هم timeoutهای backend (کد وضعیت HTTP 504 در درخواست) و هم timeoutهای کلاینت (کد وضعیت HTTP 499) - اختلافاتی مشاهده کنید. این موارد ممکن است با کد وضعیت 200 در گزارشهای سفارشی Analytics ظاهر شوند، اما در گزارشهای سفارشی Monitoring با کد وضعیت 504 یا 499 نمایش داده میشوند.دادههای تحلیلی من چه زمانی و برای چه مدت در دسترس هستند؟
دو بازه زمانی وجود دارد که زمان و مدت زمان مشاهده دادههای تحلیلی شما را کنترل میکنند:
- فاصله زمانی تأخیر داده - پس از برقراری تماس با یک پروکسی API، ممکن است تا 10 دقیقه طول بکشد تا دادهها برای نمایش یا از طریق تماسهای API مدیریت قابل دسترسی باشند.
- نگهداری دادهها - مدت زمانی که دادههای Analytics نگهداری میشوند به طرح اشتراک شما بستگی دارد:
- استاندارد : ۳۰ روز
- تصدی : ۳ ماه
- انترپرایز پلاس : ۱۴ ماه
چگونه به دادههای تحلیلی خود دسترسی پیدا کنم؟
Edge API Analytics ابزارهای تجسم دادهها را که در رابط کاربری Edge تعبیه شدهاند، ارائه میدهد. این ابزارها شامل داشبوردهای تحلیلی از پیش تعریف شده و گزارشهای سفارشی هستند که دادهها را در نمودارها و چارتها نمایش میدهند و به شما امکان میدهند دادهها را به صورت گروهبندی شده در ابعاد مختلف (مانند پروکسی API، آدرس IP یا کد وضعیت HTTP) مشاهده کنید.
علاوه بر این، میتوانید دادههای تحلیلی را با استفاده از رابط برنامهنویسی کاربردی مدیریت Edge دانلود کنید. پس از دانلود، میتوانید آن دادهها را به ابزارهای تجسم داده یا سیستم تحلیلی خود وارد کنید.
داشبوردهای تحلیلی
رابط کاربری Edge مجموعهای از داشبوردهای از پیش تعریفشده را ارائه میدهد که میتوانید برای مشاهده دادههای تحلیلی از آنها استفاده کنید. به عنوان مثال، تصاویر زیر داشبورد Proxy Performance را نشان میدهند:

این داشبورد شامل نمودارهایی برای موارد زیر است:
- کل ترافیک - تعداد کل درخواستهای API دریافت شده توسط Edge برای یک محیط API در یک سازمان.
- موفقیت ترافیک - تعداد کل درخواستهایی که منجر به پاسخ موفقیتآمیز شدهاند. پاسخهای خطا محاسبه نمیشوند.
- خطاهای ترافیکی - تعداد کل درخواستهای API که ناموفق بودهاند؛ یعنی درخواست پاسخی ارائه نمیدهد. این تعداد شامل خطاهای پروکسی (سمت Apigee) و خطاهای Target (سرویسهای backend) میشود.
- میانگین TPS - میانگین تعداد درخواستهای API و پاسخهای حاصل در هر ثانیه.
داشبوردهای از پیش تعریف شده اضافی شامل موارد زیر است:
- عملکرد حافظه پنهان
- تعامل توسعهدهنده
- کاربرد دستگاه
- تجزیه و تحلیل کد خطا
- نقشه جغرافیایی
- تحلیل تأخیر
- عملکرد هدف
- ترکیب ترافیک
برای اطلاعات بیشتر در مورد این داشبوردهای از پیش تعریف شده، به بخش «استفاده از داشبوردهای تحلیلی» مراجعه کنید.
گزارشهای سفارشی
گزارشهای سفارشی به شما امکان میدهند تا به معیارهای خاص API دسترسی پیدا کنید و دادههای دقیقی را که میخواهید ببینید، مشاهده کنید. میتوانید با استفاده از هر یک از دادههای تحلیلی تعبیهشده در Edge یا دادههای تحلیلی سفارشی جمعآوریشده توسط سیاست StatisticsCollector ، یک گزارش سفارشی ایجاد کنید.
هنگام ساخت یک گزارش سفارشی، دادههایی را که میخواهید ببینید (معیارها) انتخاب میکنید، دادهها را به روشهای معنادار گروهبندی میکنید (ابعاد) و به صورت اختیاری دادههای برگردانده شده را بر اساس ویژگیهای خاص دادهها محدود میکنید (فیلتر کردن).
همچنین میتوانید نوع نمودار نمایش داده شده در گزارش سفارشی را به صورت نمودار ستونی یا خطی تنظیم کنید. تصاویر زیر نمونههایی از نمودار برای تراکنشها در ثانیه را نشان میدهند که بر اساس پروکسی API گروهبندی شدهاند:
ستون - هر پروکسی API توسط یک ستون متفاوت نمایش داده میشود:

خط - هر پروکسی API در یک خط متفاوت نمایش داده میشود:

برای اطلاعات بیشتر، به ایجاد و مدیریت گزارشهای سفارشی مراجعه کنید.
API تحلیلی
از API مدیریت Edge برای دانلود دادههای تحلیلی استفاده کنید. به عنوان مثال، میتوانید از API برای ساخت ابزارهای تجسم خود که میتوانید در پورتالها یا برنامههای سفارشی جاسازی کنید، استفاده کنید.
در اینجا یک مثال از فراخوانی API برای بازیابی دادههای تحلیلی برای پروکسیهای API آورده شده است:
curl https://api.enterprise.apigee.com/v1/o/org_name/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \ -u email:password
این فراخوانی برمیگرداند:
- مجموع درخواستها (تعداد پیامها) به ازای هر پروکسی API
- برای یک دوره ۲۴ ساعته
- گروه بندی بر اساس ساعت
پارامتر کوئری timeRange دوره زمانی را به شکل زیر مشخص میکند:
?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM
به علامت %20 قبل از HH:MM توجه کنید. پارامتر timeRange به یک کاراکتر فاصله (space) کدگذاری شده توسط URL قبل از HH:MM یا یک کاراکتر + نیاز دارد، مانند: MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM .
برای اطلاعات بیشتر، به «استفاده از APIهای معیار برای اندازهگیری عملکرد برنامه API» مراجعه کنید.
دادههای تحلیلی را به Google Cloud صادر کنید
شما میتوانید از API مدیریت Edge برای انتقال تمام دادههای تحلیلی یک روز کامل از Edge به مخزن دادههای خود، مانند Google Cloud Storage یا BigQuery، استفاده کنید. سپس میتوانید از قابلیتهای قدرتمند پرسوجو و یادگیری ماشینی ارائه شده توسط Google Cloud BigQuery و TensorFlow برای انجام تجزیه و تحلیل دادههای خود بهره ببرید.
برای اطلاعات بیشتر، به «صادر کردن دادهها از تجزیه و تحلیل» مراجعه کنید.
چگونه میتوانم دادهها را با توسعهدهندگان برنامه به اشتراک بگذارم؟
وقتی توسعهدهندگان اپلیکیشن را به عنوان مشتریان خود در نظر میگیرید، میخواهید مطمئن شوید که آنها ابزارها و اطلاعات لازم را برای بهترین استفاده از API شما در اختیار دارند.

توسعهدهندگان اپلیکیشن نه تنها نگران کیفیت اپلیکیشنهای خود هستند، بلکه به APIهای شما نیز بسیار علاقهمندند. پورتالهای توسعهدهندگان مبتنی بر دروپال شامل یک صفحه عملکرد اپلیکیشن اختیاری هستند که برای دسترسی توسعهدهندگان اپلیکیشن به معیارهای مهم اپلیکیشنهایشان طراحی شده است. این صفحه اطلاعاتی در مورد موارد زیر در اختیار توسعهدهندگان قرار میدهد:
- خطاها: برنامه من کدام خطاهای API را میبیند؟
- عملکرد: آیا API در حال حاضر کند است؟ کدام متدهای API معمولاً کند یا در حال حاضر کند هستند؟
- در دسترس بودن: آیا API در حال حاضر در حال ارتقا است یا خیر؟
- سهمیه: آیا API شما سهمیهای دارد؟ و من به عنوان توسعهدهنده اپلیکیشن، در مقایسه با سهمیه چه عملکردی دارم؟
برای اطلاعات بیشتر، ببینید:
- دروپال ۷ : نمایش تجزیه و تحلیل میزان استفاده از برنامه
- دروپال ۸ : نظارت بر برنامهها
- پورتال یکپارچه : موجود نیست
علاوه بر این، میتوانید تجزیه و تحلیلها را با توسعهدهندگان خود از طریق موارد زیر به اشتراک بگذارید:
- ایجاد گزارشهای سفارشی و اشتراکگذاری آنها با توسعهدهندگان برنامه. برای اطلاعات بیشتر، به ایجاد گزارشهای سفارشی مراجعه کنید.
- استفاده از API مدیریت Edge برای ثبت دادهها در یک بازه زمانی وسیعتر و به اشتراکگذاری آنها با توسعهدهندگان برنامه به صورت آفلاین. برای اطلاعات بیشتر، به بخش «استفاده از APIهای معیار برای اندازهگیری عملکرد برنامه API» مراجعه کنید.
چگونه میتوانم دادههای تحلیلی کاملی تولید کنم؟
منظور ما از تجزیه و تحلیل کامل چیست؟ برای مثال، میتوانید یک پروکسی API ایجاد کنید و Edge دادههای تحلیلی مربوط به آن پروکسی را جمعآوری میکند. اما در مورد معیارهای مربوط به توسعهدهنده یا برنامهای که پروکسی API را فراخوانی کرده است، چطور؟ اگر Edge نداند چه کسی فراخوانی API را انجام داده است، نمیتواند آن دادهها را جمعآوری کند.
برای اینکه اج بفهمد کدام توسعهدهندگان و کدام برنامههای توسعهدهنده، پروکسیهای API شما را فراخوانی میکنند، چند مرحله لازم است. در اینجا لیستی از این مراحل به همراه لینکهایی به اطلاعات دقیقتر آمده است:
- یک یا چند محصول API ایجاد کنید ، که گروهی از پروکسیهای API به همراه یک طرح سرویس است. به مدیریت محصولات API مراجعه کنید.
- توسعهدهندگان برنامه را با Edge ثبتنام کنید . به بخش «ثبتنام توسعهدهندگان برنامه» مراجعه کنید.
- برنامهها را ثبت کنید و کلیدهای API را برای توسعهدهندگان خود ایجاد کنید. به بخش ثبت برنامهها و مدیریت کلیدهای API مراجعه کنید.
- سیاستهای امنیتی را به پروکسیهای API خود اضافه کنید که کلیدهای API و/یا توکنهای امنیتی را تأیید میکنند. به مباحث زیر مراجعه کنید: سیاست تأیید کلید API ، سیاست OAuthV2 و سیاست تأیید JWT .
- اگر از Edge Microgateway استفاده میکنید ، مطمئن شوید که افزونهی Analytics را فعال کردهاید (که به طور پیشفرض فعال است). اگر افزونهی Analytics غیرفعال باشد، Edge Microgateway دادههای تحلیلی را به Edge analytics ارسال نمیکند.
آموزشهای زیر شما را در مراحل لازم که به شما امکان مشاهده تجزیه و تحلیل برای توسعهدهندگان و برنامهها را میدهد، راهنمایی میکنند: ایمنسازی API با درخواست کلیدهای API و ایمنسازی API با OAuth .
مقایسه API Analytics با API Monitoring
شما میتوانید از هر دو قابلیت Edge API Monitoring و API Analytics بهره ببرید. API Monitoring دادههای تحلیلی را بررسی میکند تا بینشهای زمینهای بلادرنگ از عملکرد API ارائه دهد و به شما امکان تشخیص سریع مشکلات و تسهیل اقدامات اصلاحی برای تداوم کسبوکار را میدهد. API Monitoring برای یافتن سریع نقاط مشکلدار در APIها و backendهای شما طراحی شده است. API Analytics برای ثبت طیف گستردهای از دادههای تحلیلی برای استفاده توسط چندین تیم مختلف طراحی شده است، اما این دادهها معمولاً برای تجزیه و تحلیل در سناریوهای غیر بلادرنگ استفاده میشوند.
یکی از تفاوتهای اصلی بین API Monitoring و API Analytics، مکانیزم هشدار تعبیهشده در API Monitoring است. با هشدارها، شما یک کد وضعیت HTTP (2xx/4xx/5xx)، آستانه تأخیر یا کد خطا را مشخص میکنید که در صورت عبور از آن، یک اعلان هشدار به تیم عملیاتی شما ارسال میشود. اعلانهای هشدار را میتوان از طریق کانالهای مختلفی مانند ایمیل، Slack، Pagers یا Webhooks ارسال کرد و به شما امکان میدهد فوراً به مشکلات پاسخ دهید.
برای مقایسه دقیقتر بین این سرویسها ، به مقایسه مانیتورینگ API با Edge API Analytics مراجعه کنید.