סקירה כללית על חריגות בתפעול

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

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

התכונה 'אנומליות בפעולות' מזהה באופן אוטומטי את סוגי האנומליות הבאים:

  • עלייה בכל שגיאות ה-HTTP 4xx או 5xx ברמת הארגון, הסביבה והאזור
  • עלייה בחביון הכולל של התגובה באחוזון ה-90 (p90) ברמת הארגון, הסביבה והאזור

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

גרף של חריגה בשיעור השגיאות.

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

אנומליה לעומת שינוי אקראי בנתונים.

חריגות בפעולות מאפשרות לכם:

  • צפייה בחריגות ובדיקתן: בדוחות על חריגות בפעולות מוצגים אירועי API חריגים (אנומליות). אפשר לבצע פירוט כדי לגלות איפה ומתי התרחש האירוע, ומה הפעיל אותו, כדי שתוכלו לטפל במצב במהירות.
  • יוצרים התראות על אנומליות ומגדירים התראות כדי שמערכת Apigee תשלח לכם הודעה כשמתרחש אירוע.

דרישות מוקדמות לשימוש באנומליות בפעולות

כדי להשתמש בחריגות בפעולות:

הפעלת AAPI Ops בארגון

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

צפייה בהגדרות הנוכחיות של התוספים

לפני שמפעילים את AAPI Ops, כדאי לבדוק אם הוא כבר מופעל. לשם כך, מבצעים את קריאת ה-API הבאה:

curl "https://apigee.googleapis.com/v1/organizations/YOUR_ORG" \
  -X GET \
  -H "Content-type: application/json" \
  -H "Authorization: Bearer $TOKEN"

כאשר YOUR_ORG הוא שם הארגון ו-$TOKEN הוא משתנה הסביבה של טוקן גישה של OAuth. הפקודה מחזירה מידע בסיסי על הארגון, כולל קטע של תוספים ל-Apigee שמתחיל בשורה:

"addonsConfig": {

בודקים אם בקטע הזה יש רשומה שמתחילה ב-"advancedApiOpsConfig", כמו בדוגמה הבאה:

"advancedApiOpsConfig": {
          "enabled": "true"
      }

אם הרשומה הזו מופיעה, סימן שהתכונה AAPI Ops כבר מופעלת בארגון. אם לא, צריך להפעיל אותו כמו שמתואר בהמשך.

הפעלת AAPI Ops

כדי להפעיל את AAPI Ops בארגון עם הגדרות ברירת המחדל, מריצים בקשת POST כמו זו שמוצגת למטה.

curl "https://apigee.googleapis.com/v1/organizations/ORG:setAddons" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "addonsConfig": {
      "advancedApiOpsConfig": {
          "enabled": "true"
      }
      <Current add-ons configuration>
    }
  }'

<Current add-ons configuration> היא ההגדרה הנוכחית של התוספים. אפשר לראות את ההגדרה הנוכחית של התוספים בתגובה לקריאה להצגת ההגדרה הנוכחית של התוספים. לדוגמה, אם ההגדרה הנוכחית של התוספים היא

"addonsConfig": {
    "integrationConfig": {
        "enabled":"true"
     },
    "monetizationConfig": {
        "enabled":"true"
     }
  },

הפקודה להפעלת AAPI Ops תהיה

curl "https://apigee.googleapis.com/v1/organizations/YOUR_ORG:setAddons" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "addonsConfig": {
      "advancedApiOpsConfig": {
          "enabled": "true"
      },
    "integrationConfig": {
          "enabled": "true"
      },
    "monetizationConfig": {
          "enabled": "true"
      }
    }
  }'

אחרי ששולחים את הבקשה, מקבלים תגובה כמו זו:

{
  "name": "organizations/apigee-docs-d/operations/0718a945-76e0-4393-a456-f9929603b32c",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "UPDATE",
    "targetResourceName": "organizations/apigee-docs-d",
    "state": "IN_PROGRESS"
  }
}

השבתה של AAPI Ops בארגון

אם מסיבה כלשהי אתם צריכים להשבית את AAPI Ops בארגון שלכם, אתם יכולים לעשות זאת על ידי שליחת בקשת POST, העברת הגדרות התוספים בגוף הבקשה, כפי שמוצג בהמשך.

curl "https://apigee.googleapis.com/v1/organizations/$ORG:setAddons" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "addonsConfig": {
      "advancedApiOpsConfig": {
          "enabled": "false"
      }
     <Include current add-ons configuration>
    }
  }'

בדוגמה הבאה אפשר לראות את התגובה שמציינת שהפעולה מתבצעת:

{
  "name": "organizations/$ORG/operations/06274ffb-8940-41da-836d-781cba190437",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "UPDATE",
    "targetResourceName": "organizations/$ORG",
    "state": "IN_PROGRESS"
  }
}

מידע נוסף זמין במאמר בנושא הגדרת API של תוספים לארגון.

איך עובד זיהוי אנומליות

זיהוי אנומליות כולל את השלבים הבאים:

אימון מודלים

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

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

רישום אירועים של אנומליות ביומן

בזמן הריצה, התכונה 'אנומליות בפעולות' משווה בין ההתנהגות הנוכחית של שרתי ה-proxy של ה-API לבין ההתנהגות שהמודל חוזה. לאחר מכן, התכונה יכולה לקבוע, ברמת מהימנות ספציפית, מתי מדד תפעולי חורג מהערך החזוי. לדוגמה, כשהשיעור של שגיאות 5xx חורג מהשיעור שהמודל חוזה.

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