שימוש בממשק API של זיהוי אנומליות

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

רוב ממשקי ה-API שבהם אתם משתמשים כדי ליצור ולנהל התראות אנומליות ולאסוף מדדי חריגות, זהים לאלו שבהם אתם משתמשים בהתראות קבועות. ממשקי ה-API הבאים להתראות פועלים באותו אופן עבור התראות קבועות והתראות על חריגה:

עם זאת, לחלק מממשקי ה-API יש מאפיינים נוספים שמשמשים לתמיכה בהתראות על חריגה, כולל:

הגדרה של $ACCESS_TOKEN

כל הקריאות ל-API שמוצגות בהמשך מעבירות את פרטי הכניסה במשתנה סביבה שנקרא $ACCESS_TOKEN. הגדרת $ACCESS_TOKEN לאסימון הגישה מסוג OAuth 2.0, כפי שמתואר ב- מקבלים אסימון גישה מסוג OAuth 2.0. לקבלת מידע על אפשרויות ה-cURL המשמשות בדוגמאות האלו: אפשר להשתמש ב-cURL.

קבל התראות

כברירת מחדל, האפשרות קבלת התראות ה-API מחזיר מידע על כל ההתראות שהוגדרו. ה-API הזה משתמש עכשיו בפרמטרים של שאילתה כדי לאפשר לכם לסנן את התוצאות:

  • enabled – אם מצוין במדיניות true להחזיר רק התראות שהופעלו. ערך ברירת המחדל הוא false.
  • alertType – מציין את סוג ההתראה שצריך להחזיר. הערכים המותרים הם runtime, ברירת המחדל, cert.
  • alertSubType – מציין את סוג המשנה של ההתראה שיוחזרו. ערך ברירת המחדל לא מוגדר, כלומר, החזרת כל סוגי המשנה של ההתראות. צריך לציין anomaly כדי להחזיר התראות על חריגה.

לדוגמה, אפשר להשתמש בקריאה הבאה ל-API כדי לחזור ולהפעיל רק התראות עבור הארגון שנקרא 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'

יצירה או עדכון של התראת חריגה

להשתמש באותם ממשקי API כדי ליצור או עדכון התראת חריגה, בדומה להתראה קבועה. גוף הקריאה ל-API ליצירה או לעדכון התראת חריגה זהה לזו המשמשת להתראה קבועה, עם השינויים הבאים:

  • צריך להוסיף את המאפיינים החדשים הבאים כדי לציין שההתראה היא התראה על חריגה:

    "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 לא נתמך להתראות על חריגה.

בדוגמה הבאה הקריאה ל-API יוצרת התראת חריגה שמופעלת כשקודי סטטוס מסוג 5xx מתבצעות בקצב בינוני לכל שרתי ה-proxy ל-API בסביבת prod בכל אזור. התראה נשלחת לכתובת האימייל שצוינה כשההתראה מופעלת:

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 API לקבלת כל האירועים בארגון בפרק זמן מוגדר. רשימת האירועים כוללת חריגות שזוהו על ידי Edge וההתראות שהופעלו. ההתראות יכולות לכלול גם התראות קבועות וגם התראות על חריגה.

כברירת מחדל, ה-API מחזיר את כל האירועים מהשעה הקודמת. שימוש בfrom וב to פרמטרים של שאילתה כדי לציין משך זמן אחר. from וגם ערכי פרמטרים של שאילתה to כדי לציין משך זמן שונה.

לדוגמה, הקריאה הבאה ל-API מחזירה את כל האירועים בארגון 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"

ב-API הזה נדרש רק פרמטר השאילתה org. יחד עם הפרמטרים של השאילתה שמתואר במסמך ה-API בכתובת /metrics/events, כדי לתמוך בזיהוי חריגות, ה-API הזה תומך באפשרויות הבאות:

שם תיאור ברירת מחדל
threshold

סינון אירועים לפי הסף שצוין: slight, moderate או severe.

מותר רק כשמוגדר type=anomaly.

כל מידות החומרה
type סינון אירועים לפי הסוג שצוין: alert או anomaly. יש לציין כמה ערכים כרשימה שמופרדת בפסיקים. כל הסוגים