مشاهده داده‌های سنجه بااستفاده از API

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

برای دریافت سنجه‌های «پایش میانای برنامه‌سازی کاربردی»، از میاناهای برنامه‌سازی کاربردی که در زیر توضیح داده شده است استفاده کنید. سنجه‌ها مقادیر داده‌ای هستند که «پایش API» از داده‌های خام موجود در گزارش‌های «پایش API» تجمیع می‌کند.

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

برای اطلاعات بیشتر درباره Metrics API، به Metrics API مراجعه کنید.

برای کسب اطلاعات درباره گزینه‌های cURL استفاده‌شده در این مثال‌ها، استفاده از cURL را ببینید.

میاناهای برنامه‌سازی کاربردی سنجه‌ها

نشانی وب اصلی که برای ارسال درخواست 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"

$ACCESS_TOKEN را روی کد دسترسی OAuth 2.0 تنظیم کنید، همان‌طور که در دریافت کد دسترسی 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"

برای گزینه‌های بیشتر، میانای برنامه‌سازی کاربردی سنجه‌ها را ببینید.

سنجه‌های ترافیک و تأخیر را ضبط کنید

میانای برنامه‌سازی کاربردی سنجه‌ها فیلترهایی دارد که می‌توانید آن‌ها را روی میانای برنامه‌سازی کاربردی اعمال کنید تا محدوده‌های زمانی سفارشی، پراکسی‌ها، مناطق، محیط‌ها، و فیلترهای دیگر را برای سنجه‌های محاسبه‌شده مشخص کنید. برای مثال، برای مشاهده سنجه تراکنش در ثانیه (tps) هر ۱۰ دقیقه برای ساعت قبلی برای همه محیط‌ها:

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" 

$ACCESS_TOKEN را روی کد دسترسی OAuth 2.0 تنظیم کنید، همان‌طور که در دریافت کد دسترسی 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 محاسبه‌شده هر ۱۰ دقیقه برای بازه ۱۰ دقیقه‌ای قبلی است.

پارامتر پُرسمان interval بسامدی را که سنجه در نتایج ذخیره می‌شود و پنجره نمونه‌گیری را برای مقدار در نتایج تعریف می‌کند. در مثال بالا، سنجه در ۱۰ دقیقه قبلی محاسبه می‌شود و هر ۱۰ دقیقه در نتایج نوشته می‌شود.

از پارامترهای پُرسمان from و to برای مشخص کردن محدوده زمانی با قالب ISO استفاده کنید. حداکثر مدت مشخص‌شده توسط from و to ۲۴ ساعت است.

قالب تاریخ می‌تواند یکی از این موارد باشد:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh: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 را مشخص کنید، «میانای برنامه‌سازی کاربردی» مقدار کل تأخیر پاسخ را در صدک ۹۰ برمی‌گرداند.
  • ‫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 را ببینید.

گرفتن سنجه‌ها برای هشدارها

میانای برنامه‌سازی کاربردی سنجه‌ها سنجه‌های مربوط به همه هشدارها، هشدار خاص، یا خلاصه هشدار را برمی‌گرداند. برای مثال، برای دریافت سابقه هشدار یک سازمان در ساعت گذشته:

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"

$ACCESS_TOKEN را روی کد دسترسی OAuth 2.0 تنظیم کنید، همان‌طور که در دریافت کد دسترسی 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"

برای گزینه‌های بیشتر، میانای برنامه‌سازی کاربردی سنجه‌ها را ببینید.