אתם צופים במסמכי התיעוד של 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:ssZyyyy-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.