مشاهده داده های معیارها با استفاده از API

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

برای دریافت معیارهای API Monitoring از APIهای توضیح داده شده در زیر استفاده کنید. معیارها مقادیر داده‌ای هستند که توسط API Monitoring از داده‌های خام موجود در گزارش‌های نظارت API جمع‌آوری می‌شوند.

بخش‌های زیر نحوه مدیریت معیارها با استفاده از API را شرح می‌دهند.

برای اطلاعات بیشتر در مورد 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 مراجعه کنید.