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

לדוגמה, משתמשים בקריאה הבאה ל-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 מופיעים בקצב מתון בכל שרתי ה-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
    }'

שימוש ב-Events API עם אנומליות

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