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

أنت تعرض مستندات 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.
    • تتيح السمة statusCode استخدام قيمة 4xx, 503, 504, and 5xx فقط.
    • 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
    }'

استخدام واجهة برمجة التطبيقات للأحداث مع القيم الشاذة

استخدام /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 حدِّد عدة قيم كقائمة مفصولة بفواصل. جميع الأنواع