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

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

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

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

הגדרה של $ACCESS_TOKEN

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

קבלת התראות

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

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

לדוגמה, כדי להחזיר התראות רק לארגון ששמו myorg, אפשר להשתמש בקריאה הבאה ל-API:

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 מתרחשים בקצב בינוני לכל שרתי ה-API של ה-API בסביבת הייצור לכל אזור. כשההתראה מופעלת, נשלחת הודעה לכתובת האימייל שצוינה:

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 עם חריגות

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

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

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

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

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

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