本頁內容適用於 Apigee 和 Apigee Hybrid。
  
    查看 
    Apigee Edge 說明文件。
  
  
       
 
  
本主題提供數據分析指標、維度和篩選器的參考資料。如要進一步瞭解如何使用這些 API,請參閱 API Analytics 總覽。
本主題會顯示指標和維度在使用者介面中的名稱,以及在 API 呼叫中使用的名稱。
指標
以下是您可以在自訂報表和 Apigee API 呼叫中擷取的 API 指標。
| 指標 | 在 Apigee API 中使用的名稱 | 函式 | 說明 | 
|---|---|---|---|
| 每秒平均交易次數 | tps | 無 | 每秒的平均交易次數,也就是 API 代理要求數。請注意,如果時間範圍內的交易次數相對較少,且小於兩位小數,則使用者介面自訂報表中的每秒平均交易次數可能會顯示為零。 API 語法: | 
| 快取命中 | cache_hit | 總和 | 使用  API 語法: | 
| L1 快取元素數量 | ax_cache_l1_count | 平均值、最小值、最大值 | 在特定時間範圍內,每筆交易的 L1 (記憶體內) 快取元素數量。舉例來說,如果您選擇  API 語法: | 
| 政策錯誤 | policy_error | 總和 | 指定時間範圍內的政策錯誤總數。 政策錯誤通常是設計上的問題。舉例來說,如果要求中傳遞的 API 金鑰無效, 只有在政策錯誤導致 API 代理程式失敗時,系統才會在 Analytics 中記錄這項錯誤。
          舉例來說,如果政策的  「發生錯誤的政策名稱」( 目標失敗 (例如  API 語法: | 
| Proxy 錯誤 | is_error | 總和 | 在指定時間範圍內,API Proxy 失敗的總次數。如果政策失敗或發生執行階段錯誤 (例如目標服務的  Proxy ( API 語法: | 
| 要求處理延遲時間 | request_processing_latency | 平均值、最小值、最大值 | Apigee 處理傳入要求所需的時間 (平均、最短或最長),單位為毫秒。時間從要求送達 Apigee 開始,到 Apigee 將要求轉送至目標服務為止。 您可以運用不同維度,依 API Proxy、開發人員應用程式、區域等檢查要求處理延遲時間。 API 語法: | 
| 要求大小 | request_size | 總和、平均值、最小值、最大值 | Apigee 收到的要求酬載大小 (以位元組為單位)。 API 語法: | 
| 已執行回應快取 | ax_cache_executed | 總和 | 在指定時間範圍內執行  由於  不過,如果政策中的  在偵錯工具中,您可以點選已執行的 API 呼叫中的  API 語法: | 
| 回應處理延遲時間 | response_processing_latency | 平均值、最小值、最大值 | Apigee 處理 API 回應所需的時間量 (平均、最小或最大值),以毫秒為單位。時間從 API Proxy 收到目標服務回應開始,到 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 Name | 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 權杖。在 Apigee 中註冊開發人員應用程式時,系統會為這些應用程式提供 API 金鑰,可用於產生 OAuth 權杖。詳情請參閱「如何產生完整的數據分析資料?」。 如未符合上述條件,系統會顯示  | 
| 開發人員應用程式 | developer_app | 在 Apigee 註冊的開發人員應用程式發出 API 呼叫。 如要取得這個維度,應用程式必須與一或多個 API 產品建立關聯,這些產品包含要呼叫的 API 代理項目,且代理項目必須檢查 API 呼叫傳送的 API 金鑰或 OAuth 權杖。這個金鑰或權杖會識別開發人員應用程式。詳情請參閱「如何產生完整的數據分析資料?」。 如未符合上述條件,系統會顯示  | 
| 開發人員電子郵件 | developer_email | 
 | 
| 開發人員 ID | developer | Apigee 產生的專屬開發人員 ID,格式為  如要取得這個維度,開發人員必須擁有與一或多個 API 產品相關聯的應用程式,且這些產品包含要呼叫的 API Proxy,而 Proxy 必須檢查 API 呼叫傳送的 API 金鑰或 OAuth 權杖。這個金鑰或權杖是用來識別開發人員。詳情請參閱「如何產生完整的數據分析資料?」。 如未符合上述條件,系統會顯示  | 
| 環境 | environment | 部署 API Proxy 的 Apigee 環境。例如 test或prod。 | 
| 發生錯誤時的錯誤碼 | ax_edge_execution_fault_code | 錯誤的錯誤代碼。例如:
           | 
| 發生錯誤時的流程名稱 | ax_execution_fault | API Proxy 中發生錯誤的具名流程。例如  請注意,在 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 Base Path | proxy_basepath | 在 API Proxy ProxyEndpoint 上設定的 BasePath。基本路徑不包含 API 代理網址的網域和連接埠部分。舉例來說,如果 API 代理的基準網址為  這個值也會儲存在  | 
| Proxy 部署類型 | proxy_deployment_type | 已部署 Proxy 的
            API Proxy 類型。指定 Proxy 類型後,結果只會顯示該類型的 Proxy。可能的值為  | 
| Proxy 路徑後置字串 | proxy_pathsuffix | 新增至 API Proxy 基礎路徑的資源路徑。舉例來說,如果 API 代理的基準網址為  如果未使用  這個值也會儲存在  | 
| Proxy 修訂版本 | apiproxy_revision | 處理 API 呼叫的 API Proxy 修訂版本號碼。這不一定代表 API Proxy 的最新修訂版本。如果 API Proxy 有 10 個修訂版本,目前部署的可能是第 8 個修訂版本。此外,只要修訂版本有不同的基本路徑 (如「部署 Proxy」一文所述),API 即可部署多個修訂版本。 | 
| 已解析的用戶端 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。 | 
| 作業系統系列 | ax_ua_os_family | 發出通話的裝置作業系統系列,例如 Android或iOS。 | 
| OS 版本 | ax_ua_os_version | 撥號裝置的作業系統版本。 建議您將這個維度與作業系統系列 (ax_ua_os_family) 搭配使用,做為第二個向下鑽取維度,查看作業系統版本。 | 
| Proxy 用戶端 IP | proxy_client_ip | 呼叫端用戶端的 IP 位址,儲存在  | 
| 參照用戶端 IP | ax_true_client_ip | 使用 Akamai 等路由產品擷取用戶端的真實 IP 位址時,用戶端 IP 會在 HTTP 標頭  如要判斷原始用戶端 IP 位址 (透過  | 
| 要求路徑 | 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) 的第二個向下鑽取維度,藉此取得代理程式系列的相關版本。 | 
| 外送/目標 | ||
| 目標 | target | 處理要求的目標端點。例如 default。 | 
| 目標基礎路徑 | target_basepath | 目標服務的資源路徑 (不含網域),排除查詢參數,也就是在 Proxy 的  舉例來說,假設 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 會是空值。 在「Debug tool」中,選取流程圖結尾的 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 | 
 如要判斷原始用戶端 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 位數表示)。舉例來說,如果在晚上 10 點到 11 點之間發出 API 呼叫,ax_hour_of_day 會是 22。 時間值以世界標準時間為準。 | 
| 時區 | ax_geo_timezone | 發出 API 呼叫的時區通用名稱,例如 America/New_York和Europe/Dublin。 | 
| 月內的第幾週 | ax_week_of_month | 當月的週數 (數字)。舉例來說,如果 API 呼叫是在某個月的第 3 週發出,則 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 Hybrid 機構。 應用程式開發人員的營利費率方案。 | 
| 交易成功 | 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)
傳回 API 呼叫的指標,這些呼叫的回應狀態碼為 200,目標回應代碼為 404:
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邏輯來評估不同的可能篩選運算式。篩選器會納入符合至少一項條件的資料。 |