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

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

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

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

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

למידע על האפשרויות של cURL בדוגמאות האלו, קראו את המאמר שימוש ב-cURL.

ממשקי API של Metrics

כתובת ה-URL הבסיסית שאתם משתמשים בה כדי לשלוח בקשת GET ל-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.