عرض بيانات المقاييس باستخدام واجهة برمجة التطبيقات

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

استخدِم واجهات برمجة التطبيقات الموضّحة أدناه للحصول على مقاييس مراقبة واجهة برمجة التطبيقات. المقاييس هي قيم البيانات التي تم تجميعها من خلال مراقبة واجهة برمجة التطبيقات من البيانات الأولية المضمنة في سجلات مراقبة واجهة برمجة التطبيقات.

توضّح الأقسام التالية كيفية إدارة المقاييس باستخدام واجهة برمجة التطبيقات.

يمكنك الاطّلاع على واجهة برمجة التطبيقات للمقاييس للحصول على مزيد من المعلومات حول واجهة برمجة التطبيقات للمقاييس.

للحصول على معلومات عن خيارات cURL المُستخدَمة في هذه الأمثلة، يمكنك الاطّلاع على استخدام cURL.

واجهات برمجة التطبيقات للمقاييس

عنوان URL الأساسي الذي تستخدمه لتقديم طلب GET لواجهة برمجة التطبيقات للمقاييس هو:

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) كل 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" 

اضبط $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 على نقاط الاهتمام التي يتم احتسابها كل 10 دقائق خلال آخر 10 دقائق.

تحدِّد مَعلمة طلب البحث interval معدّل تكرار حفظ المقياس في النتائج وفترة أخذ العيّنات للقيمة في النتائج. في المثال أعلاه، يتم حساب المقياس على مدار الدقائق العشر الماضية، وتتم كتابته على النتائج كل 10 دقائق.

استخدِم معلَمتَي طلب البحث from وto لتحديد نطاق زمني بتنسيق ISO. أقصى مدة تم تحديدها من خلال from وto هي 24 ساعة.

يمكن أن يكون تنسيق التاريخ إما:

  • 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 لعرض المعاملات في الثانية لخادم وكيل واحد:

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 فِي دِقِيقَة.

على سبيل المثال، لعرض مقاييس إجمالي وقت الاستجابة في الشريحة المئوية التسعين لفترة دقيقة تبلغ 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"

للمزيد من الخيارات، يُرجى الاطّلاع على واجهة برمجة التطبيقات للمقاييس.

تسجيل مقاييس التنبيهات

تعرض واجهة برمجة التطبيقات للمقاييس مقاييس لجميع التنبيهات أو لتنبيه محدد أو ملخص تنبيه. على سبيل المثال، للحصول على سجلّ التنبيهات لمؤسسة خلال الساعة الأخيرة:

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.

يعرض طلب البيانات من واجهة برمجة التطبيقات هذا ردًا بالصيغة:

[
  {
"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"

للمزيد من الخيارات، يُرجى الاطّلاع على واجهة برمجة التطبيقات للمقاييس.