本頁適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
本主題提供數據分析指標、維度和篩選器的參考資料。如要進一步瞭解如何使用這些 API,請參閱「API Analytics 總覽」。
本主題會顯示指標和維度的名稱,這些名稱會顯示在 UI 中,且您需要在 API 呼叫中使用這些名稱。
指標
以下是您可以在自訂報表和 Apigee API 呼叫中擷取的 API 指標。
指標 | 在 Apigee API 中使用的名稱 | 函式 | 說明 |
---|---|---|---|
每秒平均交易次數 | tps |
無 |
每秒的平均交易次數,也就是 API 代理要求。請注意,如果某個時間範圍內的交易次數較低,且平均每秒交易次數小於小數點後兩位,則在 UI 自訂報表中可能會顯示為零。 API 語法: |
快取命中 | cache_hit |
總和 |
使用 API 語法: |
L1 快取元素數量 | ax_cache_l1_count |
avg、min、max |
在特定時間範圍內,每筆交易在 L1 (記憶體內) 快取中的元素數量。舉例來說,如果您選擇 API 語法: |
政策錯誤 | policy_error |
總和 |
指定時間範圍內的政策錯誤總數。 政策錯誤通常是設計上的結果。舉例來說,當要求中傳遞無效的 API 金鑰時, 只有在錯誤導致 API 代理程式失敗時,系統才會在數據分析中記錄政策錯誤。舉例來說,如果政策的 錯誤時的政策名稱 ( 目標失敗 (例如 API 語法: |
Proxy 錯誤 | is_error |
總和 |
在指定時間範圍內,API Proxy 失敗的總次數。政策失敗或發生執行階段錯誤 (例如目標服務的 Proxy ( API 語法: |
要求處理延遲時間 | request_processing_latency |
avg、min、max |
Apigee 處理傳入要求所需的時間 (平均、最小或最大值),以 毫秒 為單位。時間從要求抵達 Apigee 開始計算,並在 Apigee 將要求轉送至目標服務時結束。 您可以使用不同的維度,依 API 代理程式、開發人員應用程式、區域等檢視要求處理延遲時間。 API 語法: |
要求大小 | request_size |
加總、平均、最小值、最大值 |
Apigee 收到的要求酬載大小,以位元組為單位。 API 語法: |
執行回應快取 | ax_cache_executed |
總和 |
在指定時間範圍內執行 由於 不過,如果政策中的 在偵錯工具中,您可以按一下已執行 API 呼叫中的 API 語法: |
回應處理延遲時間 | response_processing_latency |
avg、min、max |
Apigee 處理 API 回應所需的時間 (平均、最小或最大值),以 毫秒 為單位。時間點從 API 代理程式收到目標服務回應開始,到 Apigee 將回應轉寄給原始呼叫端時結束。 您可以使用不同的維度,依 API Proxy、區域等檢視回應處理延遲時間。 API 語法: |
回應大小 | response_size |
加總、平均、最小值、最大值 |
傳回給用戶端的回應酬載大小 (以位元組為單位)。 API 語法: |
目標錯誤 | target_error |
總和 |
目標服務的 API 語法: |
目標回應時間 | target_response_time |
加總、平均、最小值、最大值 |
目標伺服器回應呼叫所需的時間長度 (總和、平均值、最小值或最大值),以毫秒為單位。這個指標會顯示目標伺服器的效能。時間從 Apigee 將要求轉送至目標服務開始計算,並在 Apigee 收到回應時結束。 請注意,如果 API 呼叫傳回快取的回應 (例如使用 API 語法: |
總回應時間 | total_response_time |
加總、平均、最小值、最大值 |
從 Apigee 收到用戶端要求到 Apigee 將回應傳回給用戶端所需的時間 (總和、平均值、最小值或最大值),以 毫秒為單位。這段時間包括網路額外負載 (例如負載平衡器和路由器執行工作所需的時間)、要求處理延遲時間、回應處理延遲時間和目標回應時間 (如果回應是從目標服務而非快取提供)。 您可以使用不同的維度,依 API Proxy、開發人員應用程式、區域等檢視處理延遲時間。 API 語法: |
流量 | message_count |
總和 |
Apigee 在指定時間範圍內處理的 API 呼叫總數。 使用維度將流量計數分組,以便您以最有意義的方式進行分析。 API 語法: |
營利 | |||
費用 | fees |
加總、平均、最小值、最大值 |
代表設定費、週期性費用或預付儲值金額。 API 語法: |
開發人員的收益分潤 | x_apigee_mintng_dev_share |
加總、平均、最小值、最大值 |
開發人員在交易收益中的分潤。只有在您在費率方案中啟用收益分潤功能時,Apigee 才會計算開發人員的分潤。 開發人員的收益分配比例會根據下列公式計算: x_apigee_mintng_dev_share = revShareGrossPrice * (share percentage)
系統會從費率方案擷取分享百分比的值。 API 語法: |
營利價格 | x_apigee_mintng_price |
加總、平均、最小值、最大值 |
交易的總收益。交易的收益會設為 DataCapture 政策中擷取的 API 語法: |
API 價格乘數 | x_apigee_mintng_price_multiplier |
加總、平均、最小值、最大值 |
乘以此係數 (調節係數) 後,每筆交易的費用就會相應調整。每筆交易費用會在費率方案的以使用量為準的費用中指定。 API 語法: |
營利費率 | x_apigee_mintng_rate |
加總、平均、最小值、最大值 |
交易的收費率。 系統會使用以下公式計算交易費用: x_apigee_mintng_rate = (consumption-based pricing rate) * perUnitPriceMultiplier value
系統會從費率方案擷取以用量為準的定價費率值,且只有在 DataCapture 政策擷取變數時, API 語法: |
維度
維度可讓您按有意義的群組查看指標。舉例來說,如果您查看每個開發人員應用程式或 API 代理程式的總流量計數,就能獲得更強大的功能。
以下是 Apigee 提供的預設維度。
維度 | 在 Apigee API 中使用的名稱 | 說明 |
---|---|---|
存取權杖 | access_token |
應用程式使用者的 OAuth 存取權杖。 |
API 產品 | api_product |
|
AppGroup 應用程式名稱 | app_group_app |
當應用程式是 AppGroup 的一部分時,系統會呼叫的應用程式名稱。如要瞭解 AppGroups,請參閱「使用 AppGroups 整理應用程式擁有權」。 |
AppGroup 名稱 | app_group_name |
包含呼叫應用程式的 AppGroup 名稱 (如適用)。如要瞭解 AppGroups,請參閱「使用 AppGroups 整理應用程式擁有權」。 |
快取鍵 | ax_cache_key |
包含存取的 在偵錯工具中,當您選取從快取讀取或寫入快取的 |
快取名稱 | ax_cache_name |
快取名稱,其中包含 在偵錯工具中,選取 |
快取來源 | ax_cache_source |
擷取 在偵錯工具中,選取 如要進一步瞭解快取層級,請參閱「快取內部結構」。 |
用戶端 ID | client_id |
提出 API 呼叫的開發人員應用程式消費者金鑰 (API 金鑰),無論是在要求中以 API 金鑰的形式傳遞,或是納入 OAuth 權杖,皆適用。 如要取得這個維度,接收呼叫的 Proxy 必須設定為檢查有效的 API 金鑰或 OAuth 權杖。開發人員應用程式會取得 API 金鑰,可用於產生 OAuth 權杖,前提是應用程式已在 Apigee 中註冊。詳情請參閱「如何產生完整的數據分析資料?」。 如果不符合上述條件,您會看到 |
開發人員應用程式 | developer_app |
透過 Apigee 註冊的開發人員應用程式發出 API 呼叫。 如要取得這個維度,應用程式必須與一或多個包含要呼叫的 API 代理程式的 API 產品建立關聯,且代理程式必須檢查 API 呼叫中傳送的 API 金鑰或 OAuth 權杖。鍵或權杖會標示開發人員應用程式。詳情請參閱「如何產生完整的分析資料?」。 如果不符合上述條件,您會看到 |
開發人員電子郵件 | developer_email |
|
開發人員 ID | developer |
以 如要取得這個維度,開發人員的應用程式必須與一或多個含有要呼叫的 API 代理程式的 API 產品相關聯,且代理程式必須檢查 API 呼叫中傳送的 API 金鑰或 OAuth 權杖。金鑰或權杖可識別開發人員。詳情請參閱「如何產生完整的數據分析資料?」。 如果不符合上述條件,您會看到 |
環境 | environment |
部署 API Proxy 的 Apigee 環境。例如 test 或 prod 。 |
錯誤時的錯誤代碼 | ax_edge_execution_fault_code |
錯誤的錯誤代碼。例如:
|
發生錯誤時的流程名稱 | ax_execution_fault |
在發生錯誤的 API Proxy 中,命名為 flow。例如 請注意,在 Apigee API 中使用的完整名稱是 如果沒有發生錯誤,您會看到 |
流程資源 | flow_resource |
僅供 Apigee 使用。如有興趣,請參閱如何在 Analytics 中使用「資源流量」維度。 |
發生錯誤時的流程狀態 | ax_execution_fault |
發生錯誤的 API Proxy 流程狀態名稱,例如 請注意,在 Apigee API 中使用的完整名稱為 |
閘道流程 ID | gateway_flow_id |
當 API 呼叫透過 Apigee 傳送時,每個呼叫都會取得自己的閘道流程 ID。例如:rrt329ea-12575-114653952-1。在高 TPS 情況下,如果其他維度 (例如組織、環境和時間戳記) 在各個呼叫中都相同,閘道流程 ID 就很實用,可用於區分指標。 |
機構 | organization |
部署 API Proxy 的 Apigee 機構。 |
錯誤時的政策名稱 | ax_execution_fault |
擲回錯誤並導致 API 呼叫失敗的政策名稱。 請注意,在 Apigee API 中使用的完整名稱為 如果政策擲回錯誤,但政策根屬性 |
Proxy | apiproxy |
API 代理程式的機器名稱 (不是顯示名稱)。 |
Proxy 基礎路徑 | proxy_basepath |
在 API Proxy ProxyEndpoint 上設定的 BasePath。基本路徑不包含 API 代理程式網址的網域和連接埠部分。舉例來說,如果 API 代理程式的基本網址為 這個值也會儲存在 |
Proxy 部署類型 | proxy_deployment_type |
部署 Proxy 的 API Proxy 類型。指定 Proxy 類型後,系統只會顯示該 Proxy 類型的結果。可能的值為 |
Proxy Path Suffix | proxy_pathsuffix |
資源路徑已新增至 API Proxy 基礎路徑。舉例來說,如果 API 代理程式的基準網址為 如果未使用 這個值也會儲存在 |
Proxy 修訂版本 | apiproxy_revision |
處理 API 呼叫的 API Proxy 修訂版本。這不一定是 API proxy 的最新修訂版本。如果 API Proxy 有 10 個修訂版本,目前可能會部署第 8 個修訂版本。此外,只要修訂版本有不同的 Base Paths,API 就可能會部署多個修訂版本,如「部署 Proxy」一節所述。 |
已解析的用戶端 IP | ax_resolved_client_ip |
來源用戶端 IP 位址。這會使用預設的用戶端 IP 位址解析,或是在已設定的用戶端 IP 解析中設定的演算法。 在預設行為中,系統會根據 請注意,如果使用 Akamai 等路由產品擷取用戶端的實際 IP 位址,用戶端 IP 會透過 HTTP 標頭
|
回應狀態碼 | response_status_code |
從 Apigee 轉送至用戶端的 HTTP 回應狀態碼,例如 200 、404 、503 等等。在 Apigee 中,您可以使用 AssignMessage 政策和 RaiseFault 政策等政策,覆寫目標的回應狀態碼,因此這個維度可能與目標回應碼 (target_response_code) 不同。 |
虛擬主機 | virtual_host |
API 呼叫的虛擬主機名稱。詳情請參閱「關於環境和環境群組」。 |
Inbound/Client | ||
用戶端 IP 位址 | client_ip |
命中路由器的系統 IP 位址,例如原始用戶端 (proxy_client_ip) 或負載平衡器。如果 X-Forwarded-For 標頭中有多個 IP,則這是列出的最後一個 IP。 |
裝置類別 | ax_ua_device_category |
發出 API 呼叫的裝置類型,例如 Tablet 或 Smartphone 。 |
OS 系列 | ax_ua_os_family |
發出呼叫的裝置作業系統系列,例如 Android 或 iOS 。 |
OS 版本 | ax_ua_os_version |
發出呼叫的裝置作業系統版本。 將這個維度與 OS Family (ax_ua_os_family) 搭配使用,做為第二個深入查看維度,即可查看作業系統版本。 |
代理用戶端 IP | proxy_client_ip |
呼叫端用戶端的 IP 位址,儲存在 |
推薦的用戶端 IP | ax_true_client_ip |
使用 Akamai 等路由產品擷取用戶端的實際 IP 位址時,用戶端 IP 會透過 HTTP 標頭 為判斷透過 |
要求路徑 | request_path |
目標服務的資源路徑 (不含網域),不含查詢參數。 舉例來說,Apigee 範例目標 |
要求 URI | request_uri |
資源路徑 (不含網域) 到目標服務,包括查詢參數。 舉例來說,Apigee 範例目標 |
要求動詞 | request_verb |
API 要求中的 HTTP 要求動詞,例如 GET、POST、PUT、DELETE。 |
使用者代理程式 | useragent |
用於發出 API 呼叫的使用者代理程式或軟體代理程式名稱。範例:
|
使用者代理程式系列 | ax_ua_agent_family |
使用者代理程式系列,例如 Chrome Mobile 或 curl 。 |
使用者代理程式類型 | ax_ua_agent_type |
使用者代理程式類型,例如 Browser 、Mobile Browser 、Library 等。 |
使用者代理程式版本 | ax_ua_agent_version |
使用者代理程式版本。 您可以將這個值與使用者代理程式系列 (ax_ua_agent_family) 搭配使用,做為第二個深入查詢維度,以便取得代理程式系列的版本。 |
Outbound/Target | ||
目標 | target |
處理要求的目標端點。例如 default 。 |
目標基礎路徑 | target_basepath |
目標服務的資源路徑 (不含網域),不含代理程式 舉例來說,假設 API Proxy 呼叫下列目標: <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/user?user=Dude</URL> </HTTPTargetConnection> 在這個範例中,target_basepath 為 如果目標是: <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> </HTTPTargetConnection> target_basepath 會為空值。 在偵錯工具中,當您選取流程圖結尾處的 AX 圖示時, |
gRPC 服務名稱 | x_apigee_grpc_service_name |
僅適用於目標服務為 gRPC 的情況。gRPC 服務名稱。如要瞭解 gRPC Proxy,請參閱「建立 gRPC API Proxy」。 |
gRPC 狀態 | x_apigee_grpc_status |
僅適用於目標服務為 gRPC 的情況。gRPC 要求狀態。如要瞭解 gRPC Proxy,請參閱「建立 gRPC API Proxy」。 |
目標主機 | target_host |
目標服務的代管主機。舉例來說,如果 API Proxy 呼叫 http://mocktarget.apigee.net/help ,target_host 就是 mocktarget.apigee.net 。 |
目標 IP 位址 | target_ip |
傳回 API Proxy 回應的目標服務 IP 位址。 |
目標回應代碼 | target_response_code |
目標服務傳回給 API Proxy 的 HTTP 回應狀態碼,例如 如果值為 這與回應狀態碼 (response_status_code) 維度不同。 |
gRPC RPC 名稱 | x_apigee_grpc_rpc_name |
僅適用於目標服務為 gRPC 的情況。RPC 名稱。如要瞭解 gRPC Proxy,請參閱「建立 gRPC API Proxy」。 |
目標網址 | target_url |
API Proxy 的 TargetEndpoint 中定義的目標服務完整網址。 <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/user?user=Dude</URL> </HTTPTargetConnection> 在本範例中,target_url 為 請注意,在 API Proxy 處理期間,您也可以使用 在Proxy 鏈結中,呼叫 Proxy 中的 target_url 為空值。 |
X-Forwarded-For IP | x_forwarded_for_ip |
為判斷透過 |
X-Forwarded-For Proto | x_forwarded_proto |
用戶端用來連線至路由器的通訊協定。有效值包括 |
時間 | ||
星期幾 | ax_day_of_week |
發出 API 呼叫的星期幾縮寫 (三個字母)。例如:週一、週二、週三。 |
月 | ax_month_of_year |
發生 API 呼叫的月份,以數字表示。例如 03 代表三月。 |
時段 | ax_hour_of_day |
根據 24 小時制,API 呼叫發生的 2 位數小時。舉例來說,如果 API 呼叫是在晚上 10 點到 11 點之間發出,則 ax_hour_of_day 會是 22。 時間值以世界標準時間為準。 |
時區 | ax_geo_timezone |
API 呼叫發出時所在時區的常用名稱,例如 America/New_York 和 Europe/Dublin 。 |
月份 | ax_week_of_month |
月份的週數。舉例來說,如果是在某個月的第 3 週發出 API 呼叫,ax_week_of_month 就是 3。 |
位置 | ||
城市 | ax_geo_city |
發出 API 呼叫的城市。 |
洲別 | ax_geo_continent |
產生 API 呼叫的洲別,以兩個英文字母代碼表示。例如 NA 代表北美。 |
國家/地區 | ax_geo_country |
發出 API 呼叫的國家/地區代碼 (由兩個英文字母組成)。例如 US 代表美國。 |
地理區域 | ax_geo_region |
地理區域的連字號代碼,例如 STATE-COUNTRY 。例如:WA-US 代表美國華盛頓。 |
區域 | ax_dn_region |
部署 API Proxy 的 Apigee 資料中心名稱,例如 us-east-1 。 |
營利 | ||
建立時間 | created |
目前僅適用於 Apigee 組織,不適用於 Apigee Hybrid 組織。 為應用程式開發人員和 API 產品新增費率時的 Unix 時間戳記。 |
費用類型 | fees_type |
費用類型。這可能是設定費、週期性費用或預付儲值。只有在您選取 Fees 指標時,才會填入這個值。 |
收益幣別 | x_apigee_mintng_currency |
|
房價方案 ID | x_apigee_mintng_rate_plan_id |
目前僅適用於 Apigee 機構,不適用於 Apigee 混合機構。 應用程式開發人員的營利費率方案。 |
交易成功 | x_apigee_mintng_tx_success |
交易的營利狀態會設為 DataCapture 政策中擷取的 transactionSuccess 營利變數值。 |
篩選器
您可以使用篩選器,將結果限制為具有特定特徵的指標。以下是一些篩選器範例。定義篩選器時,請使用指標和維度 API 樣式的名稱。
傳回名稱為 books 或 music 的 API Proxy 指標:
filter=(apiproxy in 'books','music')
傳回名稱以 m
開頭的 API Proxy 指標:
filter=(apiproxy like 'm%')
針對名稱不以 m
開頭的 API Proxy 傳回指標:
filter=(apiproxy not like 'm%')
針對回應狀態碼介於 400
和 599
之間的 API 呼叫傳回指標:
filter=(response_status_code ge 400 and response_status_code le 599)
針對回應狀態碼為 200
且目標回應碼為 404
的 API 呼叫傳回指標:
filter=(response_status_code eq 200 and target_response_code eq 404)
針對回應狀態碼為 500
的 API 呼叫傳回指標:
filter=(response_status_code eq 500)
針對不會導致錯誤的 API 呼叫傳回指標:
filter=(is_error eq 0)
針對未產生 null
回應的 API 呼叫,傳回指標:
filter=(response_status_code isnot null)
以下是可用來建立報表篩選器的運算子。
運算子 | 說明 |
---|---|
in |
納入清單 |
notin |
從清單中排除 |
is |
使用 response_status_code is null 篩選狀態碼為 null 的回應。 |
isnot |
使用 response_status_code isnot null 篩選狀態碼非 null 的回應。 |
eq |
等於 == |
ne |
不等於 != |
gt |
大於 > |
lt |
小於 < |
ge |
大於或等於 >= |
le |
小於或等於 <= |
like |
如果字串模式與提供的模式相符,則傳回 true。 |
not like |
如果字串模式與提供的模式相符,就會傳回 false。 |
similar to |
傳回值為 true 或 false,取決於模式是否符合指定字串。它與 like 類似,但會使用 SQL 標準的規則運算式定義來解讀模式。 |
not similar to |
傳回 false 或 true,取決於模式是否符合指定字串。它與 not like 類似,但會使用 SQL 標準的規則運算式定義來解讀模式。 |
and |
可讓您使用 AND 邏輯,納入多個篩選器運算式。篩選器包含符合所有條件的資料。 |
or |
讓您使用 OR 邏輯來評估不同的可能篩選運算式。篩選器會納入至少符合一項條件的資料。 |