אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X. info
כדי לקבל מדדים של מעקב אחר API, משתמשים בממשקי ה-API שמפורטים בהמשך. מדדים הם ערכי הנתונים שנצברו על ידי מעקב ה-API מהנתונים הגולמיים שמופיעים ביומני מעקב ה-API.
בקטעים הבאים מוסבר איך לנהל מדדים באמצעות ה-API.
מידע נוסף על Metrics API זמין במאמר Metrics API.
מידע על אפשרויות ה-cURL שבהן נעשה שימוש בדוגמאות האלה זמין במאמר שימוש ב-cURL.
ממשקי Metrics API
כתובת ה-URL הבסיסית שבה משתמשים כדי לשלוח בקשת GET ל-Metrics API היא:
https://apimonitoring.enterprise.apigee.com/metrics/resource
כאשר resource תואם למדד ספציפי. בטבלה הבאה מפורטים משאבי המדדים:
משאב | תיאור |
/traffic
|
קבלת מדדי תנועה. אפשר לציין מסננים כמו שם שרת proxy, מרווח זמן, חלון זמן, יעד, קוד סטטוס ועוד. |
/latency
|
הצגת מדדי זמן אחזור לבקשות
ל-Edge וליעדים לקצה העורפי. אפשר לציין מסננים כמו שם שרת proxy, מרווח זמן, יעד, קוד סטטוס ועוד. |
/targets
|
הצגת כל דומייני היעד של ארגון וסביבה ספציפיים. |
/alerthistory
|
הצגת מדדים של היסטוריית ההתראות לארגון ולחלון זמן ספציפיים. |
/alertinstance/instanceid
|
הצגת מדדי היסטוריית ההתראות של מזהה המופע הספציפי של ההתראה. |
/alertsummary
|
הצגת המספר הכולל של ההתראות לארגון ולחלון זמן מסוים. |
/faultcodenames
|
הצגת כל השמות של faultcode. |
/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 כדי לציין טווחי זמן מותאמים אישית, שרתים אנונימיים, אזורים, סביבות ומסננים אחרים למדדים המחושבים. לדוגמה, כדי להציג את המדד 'עסקאות לשנייה (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 percentile. - הערך של
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.