您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
請使用下列 API 取得 API Monitoring 指標。指標是 API 監控功能從 API 監控記錄中的原始資料匯總而得的資料值。
以下各節將說明如何使用 API 管理指標。
如要進一步瞭解指標 API,請參閱「Metrics API」。
如要瞭解這些範例中使用的 cURL 選項,請參閱「使用 cURL」。
Metrics API
您用來向指標 API 提出 GET 要求的基本網址如下:
https://apimonitoring.enterprise.apigee.com/metrics/resource
其中 resource 對應至特定指標。下表列出指標資源:
資源 | 說明 |
/traffic
|
取得流量指標。指定 Proxy 名稱、間隔、時間範圍、目標、狀態碼等多種篩選條件。 |
/latency
|
取得要求的延遲時間指標 到 Edge 和後端目標。指定 Proxy 名稱、間隔、目標、狀態碼等篩選條件。 |
/targets
|
取得特定機構和環境的所有目標網域。 |
/alerthistory
|
取得特定機構和時間範圍的警報記錄指標。 |
/alertinstance/instanceid
|
取得特定警示例項 ID 的警示記錄指標。 |
/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、區域、環境和其他篩選器。舉例來說,如要查看所有環境在前一個小時內每 10 分鐘的每秒交易次數 (tps) 指標:
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
資源包含每 10 分鐘計算一次的 tps,適用於前一個 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
查詢參數指定相對時間範圍,例如過去 1 小時:
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
查詢參數,顯示單一 Proxy 的每秒交易次數 (TPS):
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
固定為一分鐘。
舉例來說,如要查看 1 分鐘時間區間內的第 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。