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

הדף הזה רלוונטי ל-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.

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

אירועים חריגים ביומן

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

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