הצגת נתוני מדדים באמצעות ה-API

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

כדי לקבל מדדים של API Monitoring, משתמשים בממשקי ה-API שמתוארים בהמשך. מדדים הם ערכי הנתונים שמצטברים על ידי API Monitoring מהנתונים הגולמיים שכלולים ביומני API Monitoring.

בקטעים הבאים מוסבר איך לנהל מדדים באמצעות ה-API.

מידע נוסף על Metrics API זמין במאמר בנושא Metrics API.

מידע על האפשרויות של cURL שבהן נעשה שימוש בדוגמאות האלה זמין במאמר שימוש ב-cURL.

Metrics APIs

כתובת ה-URL הבסיסית שמשמשת לשליחת בקשת GET אל Metrics API היא:

https://apimonitoring.enterprise.apigee.com/metrics/resource

כאשר resource מייצג מדד ספציפי. בטבלה הבאה מפורטים משאבי המדדים:

משאב תיאור
/traffic קבלת מדדי תנועה. מציינים מסננים כמו שם ה-proxy, מרווח, חלון זמן, יעד, קוד סטטוס ועוד.
/latency קבלת מדדי זמן האחזור של בקשות

ל-Edge וליעדים לקצה העורפי. מציינים מסננים כמו שם ה-proxy, מרווח, יעד, קוד סטטוס ועוד.

/targets קבלת כל דומייני היעד של ארגון וסביבה ספציפיים.
/alerthistory קבלת מדדים של היסטוריית התראות לארגון ספציפי ולחלון זמן מסוים.
/alertinstance/instanceid קבלת מדדים של היסטוריית התראות עבור מזהה מופע התראה ספציפי.
/alertsummary קבלת המספר הכולל של התראות לארגון ולחלון זמן.
/faultcodenames קבלת כל השמות של קודי התקלה.
/faultcodes קבלת קודי תקלות.
/faultcodecategories קבלת קטגוריות של קודי תקלות.
/faultcodesubcategories קבלת קטגוריות משנה של קודי תקלות.
/faultcodedetails קבלת כל קודי התקלה עם פרטים.

קבלת מידע על תקלות

כל המשאבים של /fault* מחזירים מטא-נתונים לגבי התקלות האפשריות ב-Edge. לדוגמה, כדי לראות את הרשימה של כל קטגוריות התקלות האפשריות:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

מגדירים את $ACCESS_TOKEN לאסימון הגישה מסוג OAuth 2.0, כמו שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0.

התגובה תופיע כך:

{
  "faultCodeCategories":[
    "","API Protocol","Developer/App","Extension Policy","Gateway",
    "Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
  ]
}

אחר כך תוכלו לקבוע את רשימת קודי התקלה עבור הקטגוריה API Protocol:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

אפשרויות נוספות זמינות ב-Metrics API.

תיעוד מדדים של תנועת גולשים וחביון

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

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN" 

מגדירים את $ACCESS_TOKEN לאסימון הגישה מסוג OAuth 2.0, כמו שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0.

הקריאה הזו מחזירה תוצאות בפורמט:

{
  "results":[
    {
      "series":[
        {
          "name":"proxy",
        "tags":
             {
                "env":"prod",
                "intervalSeconds":"60",
                "org":"myorg",
                "region":"myregion"
              },
            "columns":["time","tps"],
            "values":[
              ["2018-08-15T13:10:00Z",5.03],
              ["2018-08-15T13:20:00Z",5.01],
              ["2018-08-15T13:30:00Z",5.81],
              ["2018-08-15T13:40:00Z",5.95],
              
            ]
          },
       
       }
    }]
}

שימו לב איך המאפיין columns מציין את הפורמט של values. המאפיין values מכיל את הערך של tps שמחושב כל 10 דקות, עבור מרווח הזמן הקודם של 10 דקות.

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

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

פורמט התאריך יכול להיות:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

לדוגמה:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

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

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

אפשרות נוספת היא להשתמש בפרמטר השאילתה proxy כדי להציג את מספר העסקאות לשנייה (tps) עבור שרת proxy יחיד:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

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

  • חובה לציין את פרמטר השאילתה percentile כ-50,‏ 90,‏ 95 או 99. לדוגמה, אם מציינים 90, ה-API מחזיר את ערך חביון התגובה הכולל באחוזון ה-90.
  • הזמן windowsize קבוע על דקה אחת.

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

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

אפשרויות נוספות מפורטות במאמר בנושא Metrics API.

תיעוד מדדים להתראות

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

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

מגדירים את $ACCESS_TOKEN לאסימון הגישה מסוג OAuth 2.0, כמו שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0.

הקריאה הזו ל-API מחזירה תשובה בפורמט:

[
  {
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
    \"reportUUID\":\"\",
    \"reportEnabled\":false,
    \"organization\":\"myorg\",
    \"name\":\"Public Api 5xx error rate\",
    \"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"description\":\"\",
    \"conditions\":[
    {
        \"comparator\":\"\u003e\",
        \"metric\":\"rate\",
        \"durationSeconds\":3600,
        \"name\":\"\",
        \"description\":\"\",
        \"threshold\":0.01,
        \"dimensions\":
        {
            \"proxy\":\"myAPI\",
            \"org\":\"myorg\",
            \"env\":\"prod\",
            \"region\":\"myRegion\",
            \"statusCode\":\"5xx\"
            }
        }],
        \"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"playbook\":\"This is a test alert.\"
    }",
"time":"2018-08-14T12:45:28Z"
 },
 
]

אחר כך תוכלו להשתמש ב-id במערך שהוחזר כדי לקבל מידע על התראה ספציפית:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

אפשרויות נוספות זמינות ב-Metrics API.