شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
برای دریافت معیارهای API Monitoring از APIهای توضیح داده شده در زیر استفاده کنید. معیارها مقادیر دادهای هستند که توسط API Monitoring از دادههای خام موجود در گزارشهای نظارت API جمعآوری میشوند.
بخشهای زیر نحوه مدیریت معیارها با استفاده از API را شرح میدهند.
- APIهای Metrics
- اطلاعات خطا را دریافت کنید
- معیارهایی را برای ترافیک و تأخیر ثبت کنید
- ثبت معیارها برای هشدارها
برای اطلاعات بیشتر در مورد Metrics API به Metrics API مراجعه کنید.
برای اطلاعات در مورد گزینه های cURL استفاده شده در این مثال ها، به استفاده از cURL مراجعه کنید.
APIهای Metrics
URL اصلی که برای درخواست GET به API متریک استفاده می کنید:
https://apimonitoring.enterprise.apigee.com/metrics/resource
جایی که resource با یک معیار خاص مطابقت دارد. جدول زیر منابع معیاری را فهرست می کند:
منبع | توضیحات |
/traffic | معیارهای ترافیک را دریافت کنید. فیلترهایی مانند نام پروکسی، بازه زمانی، پنجره زمانی، هدف، کد وضعیت و بسیاری موارد دیگر را مشخص کنید. |
/latency | معیارهای تاخیر برای درخواست ها را دریافت کنید به Edge و به اهداف باطنی. فیلترهایی مانند نام پروکسی، فاصله زمانی، هدف، کد وضعیت و بسیاری موارد دیگر را مشخص کنید. |
/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"
برای گزینههای بیشتر، به Metrics API مراجعه کنید.
معیارهایی را برای ترافیک و تأخیر ثبت کنید
Metrics API فیلترهایی دارد که میتوانید آنها را روی 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 مقدار تأخیر کل پاسخ را در صدک 90 برمیگرداند. -
windowsize
در یک دقیقه ثابت شده است.
به عنوان مثال، برای مشاهده معیارهای تاخیر کل در صدک 90 برای یک پنجره 1 دقیقه:
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 را ببینید.
ثبت معیارها برای هشدارها
Metrics 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"
برای گزینههای بیشتر، به Metrics API مراجعه کنید.