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

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

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

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

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

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

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

عنوان URL الأساسي الذي تستخدمه لإجراء طلب استرداد بيانات باستخدام GET إلى Metrics 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"

للاطّلاع على خيارات إضافية، يُرجى مراجعة مقالة 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" 

اضبط قيمة $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 دقائق، ويتم كتابته في النتائج كل 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 على دقيقة واحدة.

على سبيل المثال، لعرض مقاييس إجمالي المدة الزمنية في المئوي التسعين لنافذة زمنية مدتها دقيقة واحدة:

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 المميّز للوصول.

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

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