شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
برای دریافت معیارهای نظارت بر API از APIهای شرح داده شده در زیر استفاده کنید. معیارها، مقادیر دادهای هستند که توسط API Monitoring از دادههای خام موجود در گزارشهای نظارت بر API جمعآوری میشوند.
بخشهای زیر نحوه مدیریت معیارها با استفاده از API را شرح میدهند.
- APIهای معیارها
- دریافت اطلاعات مربوط به خطا
- معیارهای مربوط به ترافیک و تأخیر را ثبت کنید
- ثبت معیارها برای هشدارها
برای اطلاعات بیشتر در مورد API معیارها، به API معیارها مراجعه کنید.
برای اطلاعات بیشتر در مورد گزینههای cURL مورد استفاده در این مثالها، به «استفاده از cURL» مراجعه کنید.
APIهای معیارها
آدرس اینترنتی پایهای که برای ارسال درخواست GET به API معیارها استفاده میکنید، عبارت است از:
https://apimonitoring.enterprise.apigee.com/metrics/resource
که در آن resource با یک معیار خاص مطابقت دارد. جدول زیر معیارهای منابع را فهرست میکند:
| منبع | توضیحات |
/traffic | دریافت معیارهای ترافیک. فیلترهایی مانند نام پروکسی، فاصله زمانی، پنجره زمانی، هدف، کد وضعیت و بسیاری موارد دیگر را مشخص کنید. |
/latency | دریافت معیارهای تأخیر برای درخواستها به Edge و به اهداف backend. فیلترهایی مانند نام پروکسی، فاصله زمانی، هدف، کد وضعیت و بسیاری موارد دیگر را مشخص کنید. |
/targets | تمام دامنههای هدف را برای یک سازمان و محیط خاص دریافت کنید. |
/alerthistory | معیارهای تاریخچه هشدار را برای یک سازمان و بازه زمانی خاص دریافت کنید. |
/alertinstance/ instanceid | معیارهای تاریخچه هشدار را برای شناسه نمونه هشدار خاص دریافت کنید. |
/alertsummary | تعداد کل هشدارها را برای یک سازمان و یک بازه زمانی دریافت کنید. |
/faultcodenames | تمام نامهای کدهای خطا را دریافت کنید. |
/faultcodes | کدهای خطا را دریافت کنید. |
/faultcodecategories | دسته بندی کدهای خطا را دریافت کنید. |
/faultcodesubcategories | زیرشاخههای کد خطا را دریافت کنید. |
/faultcodedetails | تمام کدهای خطا را با جزئیات دریافت کنید. |
دریافت اطلاعات مربوط به خطا
منابع /fault* همگی فرادادههایی در مورد خطاهای احتمالی در Edge برمیگردانند. به عنوان مثال، برای دیدن لیست تمام دستههای خطای احتمالی:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.
پاسخ به صورت زیر ظاهر میشود:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
سپس میتوانید لیست کدهای خطا را برای دسته API Protocol تعیین کنید:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
برای گزینههای بیشتر، به API مربوط به Metrics مراجعه کنید.
معیارهای مربوط به ترافیک و تأخیر را ثبت کنید
API مربوط به Metrics فیلترهایی دارد که میتوانید برای تعیین محدودههای زمانی سفارشی، پروکسیها، مناطق، محیطها و سایر فیلترها برای معیارهای محاسبهشده، به API اعمال کنید. به عنوان مثال، برای مشاهده معیار تراکنشها در هر ثانیه (tps) هر 10 دقیقه برای ساعت قبل برای همه محیطها:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.
این فراخوانی نتایج را به شکل زیر برمیگرداند:
{
"results":[
{
"series":[
{
"name":"proxy",
"tags":
{
"env":"prod",
"intervalSeconds":"60",
"org":"myorg",
"region":"myregion"
},
"columns":["time","tps"],
"values":[
["2018-08-15T13:10:00Z",5.03],
["2018-08-15T13:20:00Z",5.01],
["2018-08-15T13:30:00Z",5.81],
["2018-08-15T13:40:00Z",5.95],
…
]
},
…
}
}]
}
توجه کنید که چگونه ویژگی columns قالب values را مشخص میکند. ویژگی values شامل tps محاسبه شده هر 10 دقیقه، برای بازه 10 دقیقه قبلی است.
پارامتر جستجوی interval ، فرکانس ذخیره معیار در نتایج و پنجره نمونهبرداری برای مقدار در نتایج را تعریف میکند. در مثال بالا، معیار در 10 دقیقه قبل محاسبه میشود و هر 10 دقیقه در نتایج نوشته میشود.
از پارامترهای کوئری from و to برای تعیین یک محدوده زمانی با فرمت ISO استفاده کنید. حداکثر مدت زمان مشخص شده توسط from و to 24 ساعت است.
قالب تاریخ میتواند یکی از موارد زیر باشد:
-
yyyy-mm-dd T hh:mm:ss Z -
yyyy-mm-dd T hh:mm:ss +00:00
برای مثال:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
یا از پارامترهای کوئری from و to برای مشخص کردن یک محدوده زمانی نسبی، مثلاً برای ساعت گذشته، استفاده کنید:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
گزینه دیگر استفاده از پارامتر پرس و جوی proxy برای نمایش تراکنشها در هر ثانیه (tps) برای یک پروکسی واحد است:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
برای معیارهای تأخیر، بسیاری از معیارهای مشابه معیارهای ترافیک را مشخص کنید. با این حال، برای منبع /latency :
- شما باید پارامتر پرسوجوی
percentileرا به صورت50،90،95یا99مشخص کنید. برای مثال، اگر90مشخص کنید، API مقدار کل تأخیر پاسخ را در صدک نودم برمیگرداند. -
windowsizeروی یک دقیقه ثابت است.
برای مثال، برای مشاهده معیارهای کل تأخیر در صدک نودم برای یک پنجره ۱ دقیقهای:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
برای گزینههای بیشتر، به Metrics API مراجعه کنید.
ثبت معیارها برای هشدارها
API معیارها، معیارهای مربوط به همه هشدارها، یک هشدار خاص یا خلاصهای از هشدار را برمیگرداند. برای مثال، برای دریافت تاریخچه هشدار یک سازمان در یک ساعت گذشته:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
همانطور که در بخش «دریافت توکن دسترسی OAuth 2.0» توضیح داده شده است، $ACCESS_TOKEN را روی توکن دسترسی OAuth 2.0 خود تنظیم کنید.
این فراخوانی API پاسخی به شکل زیر برمیگرداند:
[
{
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
\"reportUUID\":\"\",
\"reportEnabled\":false,
\"organization\":\"myorg\",
\"name\":\"Public Api 5xx error rate\",
\"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
\"description\":\"\",
\"conditions\":[
{
\"comparator\":\"\u003e\",
\"metric\":\"rate\",
\"durationSeconds\":3600,
\"name\":\"\",
\"description\":\"\",
\"threshold\":0.01,
\"dimensions\":
{
\"proxy\":\"myAPI\",
\"org\":\"myorg\",
\"env\":\"prod\",
\"region\":\"myRegion\",
\"statusCode\":\"5xx\"
}
}],
\"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
\"playbook\":\"This is a test alert.\"
}",
"time":"2018-08-14T12:45:28Z"
},
…
]
سپس میتوانید از id در آرایه برگردانده شده برای دریافت اطلاعات مربوط به یک هشدار خاص استفاده کنید:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
برای گزینههای بیشتر، به API مربوط به Metrics مراجعه کنید.