استخدام واجهة برمجة التطبيقات لاكتشاف القيم الشاذة

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

وتكون معظم واجهات برمجة التطبيقات التي تستخدمها لإنشاء تنبيهات القيم الشاذة وإدارتها وجمع مقاييس القيم الشاذة مماثلة لتلك التي تستخدمها مع التنبيهات الثابتة. تعمل واجهات برمجة التطبيقات للتنبيهات التالية بالطريقة نفسها لكل من التنبيهات الثابتة والشاذة:

ومع ذلك، تحتوي بعض واجهات برمجة التطبيقات على خصائص إضافية تُستخدَم لدعم تنبيهات القيم الشاذة، بما في ذلك:

جارٍ إعداد $ACCESS_TOKEN

تمر جميع طلبات البيانات من واجهة برمجة التطبيقات الموضحة أدناه بيانات الاعتماد في متغيّر بيئة يُسمى $ACCESS_TOKEN. اضبط $ACCESS_TOKEN على رمز الدخول عبر OAuth 2.0، كما هو موضَّح في الحصول على رمز دخول OAuth 2.0. للحصول على معلومات عن خيارات cURL المُستخدَمة في هذه الأمثلة، راجِع مقالة استخدام cURL.

الحصول على اشعارات

تعرض واجهة برمجة التطبيقات الحصول على تنبيهات تلقائيًا معلومات حول جميع التنبيهات المحددة. تستخدم واجهة برمجة التطبيقات هذه الآن معلَمات طلب البحث لتتيح لك فلترة النتائج:

  • enabled - في حال تحديد true لعرض التنبيهات المفعَّلة فقط. القيمة التلقائية هي false.
  • alertType: تحدد نوع التنبيه المطلوب عرضه. القيمتان المسموح بإدراجهما هما runtime، القيمة التلقائية cert.
  • alertSubType: تحدد النوع الفرعي للتنبيه المطلوب عرضه. القيمة التلقائية غير محددة، ما يعني عرض جميع الأنواع الفرعية للتنبيه. حدِّد anomaly لعرض تنبيهات القيم الشاذة.

على سبيل المثال، يمكنك استخدام طلب البيانات التالي من واجهة برمجة التطبيقات لعرض التنبيهات لتفعيل التنبيهات للمؤسسة المسماة myorg فقط:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

تعرض الاستدعاء التالي تنبيهات القيم الشاذة فقط، سواء كانت مُفعّلة أو غير مفعَّلة:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=anomaly'

إنشاء تنبيه بقيمة شاذة أو تعديله

استخدِم واجهات برمجة التطبيقات نفسها لإنشاء أو تحديث تنبيه شاذ كما تفعل حاليًا لتنبيه تم إصلاحه. نص استدعاء واجهة برمجة التطبيقات لإنشاء تنبيه شاذ أو تحديثه هو نفسه المستخدم لتنبيه ثابت، مع التغييرات التالية:

  • يجب إضافة السمات الجديدة التالية لتحديد أنّ التنبيه هو تنبيه حالة شاذة:

    "alertType": "runtime"
    "alertSubType": "anomaly"

    القيم التلقائية لهذه المواقع هي:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • في مصفوفة conditions:

    • لا تأخذ السمة metrics سوى قيَم:

      • count: إرسال تنبيه بشأن عدد أخطاء HTTP
      • totalLatency: ضبط تنبيه بشأن وقت الاستجابة
    • تستخدم السمة threshold سلسلة بدلاً من رقم. وتشمل القيم المسموح بها ما يلي: slight وmoderate وsevere.
    • السمتان durationSeconds وcomparator غير متاحتَين.
  • في العنصر dimensions في المصفوفة conditions:

    • يجب ضبط قيمة السمة proxy على ALL.
    • يمكن استخدام قيمة 4xx, 503, 504, and 5xx فقط في السمة statusCode.
    • لا يمكن استخدام السمات developerApp وcollection وfaultCodeCategory وfaultCodeSubCategory وfaultCodeName.
  • لا يمكن استخدام السمة reportEnabled للتنبيهات بشأن القيم الشاذة.

ينشئ المثال التالي لطلب بيانات من واجهة برمجة التطبيقات تنبيهًا بقيمة شاذة يتم تشغيله عند حدوث رموز حالة 5xx بمعدّل متوسط لجميع الخوادم الوكيلة لواجهة برمجة التطبيقات في بيئة الإنتاج لأي منطقة. يتم إرسال إشعار إلى عنوان البريد الإلكتروني المحدد عند ظهور التنبيه:

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
 -X POST \
 -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -d '{
     "organization":"myorg",
     "name":"5xx Anomaly Alert",
     "description":"My 5xx alert",
     "environment":"prod",
     "enabled":true,
     "alertType": "runtime",
     "alertSubType": "anomaly",
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"count",
        "threshold": "moderate"
     }
     ],
     "notifications":[{
         "channel":"email",
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600
    }'

استخدام event API مع القيم الشاذة

استخدِم واجهة برمجة التطبيقات /metrics/events للاطّلاع على جميع الأحداث في مؤسسة خلال فترة زمنية محدّدة. وتتضمن قائمة الأحداث الحالات الشاذة التي اكتشفها Edge وأي تنبيهات تم تشغيلها. ويمكن أن تشمل التنبيهات كلاً من التنبيهات الثابتة والشاذة.

تعرض واجهة برمجة التطبيقات تلقائيًا جميع أحداث الساعة السابقة. يمكنك استخدام مَعلمتَي طلب البحث from وto لتحديد مدة مختلفة. قيم مَعلمة طلب البحث from وto لتحديد مدة مختلفة

على سبيل المثال، يعرض طلب البيانات من واجهة برمجة التطبيقات التالي جميع الأحداث في المؤسسة myorg خلال آخر 12 ساعة:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&from=-12h&to=now"

اضبط $ACCESS_TOKEN على رمز الدخول عبر OAuth 2.0، كما هو موضَّح في الحصول على رمز دخول OAuth 2.0. للحصول على معلومات عن خيارات cURL المُستخدَمة في هذا المثال، اطّلِع على المقالة استخدام cURL.

تعرض الاستدعاء التالي جميع الأحداث الشاذة ذات الحد المتوسط المعتدل خلال آخر 24 ساعة:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&type=anomaly&threshold=moderate&from=-24h&to=now"

يجب استخدام معلمة طلب البحث org فقط لواجهة برمجة التطبيقات هذه. بالإضافة إلى مَعلمات طلب البحث الموضّحة في مستند واجهة برمجة التطبيقات على /metrics/events، تتيح واجهة برمجة التطبيقات هذه الخيارات التالية لإتاحة رصد القيم الشاذة:

الاسم الوصف تلقائي
threshold

فلترة الأحداث حسب الحدّ المحدّد: slight أو moderate أو severe

لا يُسمح بذلك إلا عند ضبط type=anomaly.

كل مستويات الشدة
type فلترة الأحداث حسب النوع المحدّد: alert أو anomaly حدد قيمًا متعددة في صورة قائمة مفصولة بفواصل. جميع الأنواع