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

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

برای دریافت معیارهای نظارت بر API از APIهای شرح داده شده در زیر استفاده کنید. معیارها، مقادیر داده‌ای هستند که توسط API Monitoring از داده‌های خام موجود در گزارش‌های نظارت بر 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 مراجعه کنید.