您正在查看 Apigee Edge 說明文件。
請參閱 Apigee X 說明文件。 info
本主題將介紹 Edge API Analytics。
影片: 觀看簡短影片,概略瞭解 Edge API Analytics 服務。
透過數據分析改善 API
Edge API Analytics 會收集並計算透過 API Proxy 傳送的大量資訊。您可以在 Edge UI 中使用圖表和圖形呈現這類資料,也可以下載原始資料,以便使用 Edge 管理 API 進行離線分析。
Analytics 可協助您解答常見問題,例如:
- API 流量隨著時間的變化趨勢為何?
- 哪些 API 方法最受歡迎?
- 我的開發人員有哪些?
- 何時 API 回應速度最快?最慢?
- 從地理區域來看,哪些地區的 API 流量最多?
這些問題的答案可協助您改善 API、排除問題,並做出與 API 計畫相關的更佳業務決策。
API 數據分析有助於所有人改善
Edge API Analytics 會持續收集、分析及以視覺化方式呈現資料,協助 API 團隊改善 API,並協助應用程式開發人員改善應用程式:

- API 團隊:API 團隊會利用內部系統來建立有趣的 API。API 團隊想瞭解 API 計畫的整體表現、個別 API 的表現,以及如何改善 API。
- 應用程式開發人員:與應用程式開發人員分享數據分析資訊,即可獲得更優質的應用程式。這些開發人員會運用您的 API 進行創新,並打造創意應用程式,協助您的企業創造收益。Analytics 可協助應用程式開發人員瞭解應用程式的表現,以及對企業帶來多少效益。應用程式開發人員想知道如何改善應用程式。
- 營運團隊:營運團隊想瞭解流量模式,並預測何時應新增後端資源或進行其他重要調整。
- 業務主管:業務主管想瞭解 API 投資的效益,以及日後要將 API 資金投資在哪裡。
系統會收集及分析哪些資料?
Edge API Analytics 會收集及分析透過 API Proxy 傳送的各種資料,例如:
- 回應時間
- 要求延遲時間
- 要求大小
- 目標錯誤
- API 產品名稱
- 開發人員電子郵件地址
- 應用程式名稱
- 許多其他
如需 API Analytics 收集的完整資料清單,請參閱「Analytics 指標、維度和篩選器參考資料」一文。
如何收集自訂分析資料?
Edge 會原生收集大量資料。您可能也想收集 API Proxy、應用程式、產品或開發人員專屬的自訂數據分析資料。舉例來說,您可能會想從查詢參數、要求標頭、要求和回應主體,或您在 API 中定義的變數收集數據分析資料。
您可以使用 StatisticsCollector 政策收集自訂的分析資料。擷取自訂資料後,您可以使用 Analytics 使用者介面或 API 檢查資料。如需完整範例,請參閱「使用自訂分析功能分析 API 訊息內容」,瞭解如何收集自訂分析資料。
Analytics 資料和 API 監控資料的差異
本節說明 Edge Analytics 和 API Monitoring 所收集資料之間的差異。由於 API Monitoring 和 Analytics 使用不同的資料管道,因此 Monitoring 產生的自訂報表和 Analytics 產生的報表之間可能會有細微差異。舉例來說,您可能會發現在回報的逾時錯誤結果中,後端逾時 (要求的 HTTP 狀態碼 504) 和用戶端逾時 (HTTP 狀態碼 499) 出現差異。這些事件可能會在 Analytics 自訂報表中顯示狀態碼 200,但在監控自訂報表中顯示狀態碼 504 或 499。分析資料何時可供使用?保留多久?
有兩個時間間隔可控制您查看數據分析資料的時機和時間長度:
- 資料延遲間隔:向 API 代理程式發出呼叫後,資料可能需要最多 10 分鐘的時間,才能透過顯示或管理 API 呼叫存取。
- 資料保留 - Analytics 資料的保留時間長度取決於您的訂閱方案:
- 標準:30 天
- Enterprise:3 個月
- Enterprise Plus:14 個月
如何存取數據分析資料?
Edge API Analytics 提供 Edge UI 內建的資料視覺化工具。這些工具包括預先定義的分析資訊主頁和自訂報表,可在圖表中顯示資料,並讓您深入查看資料,將資料分組為不同的維度 (例如 API 代理程式、IP 位址或 HTTP 狀態碼)。
此外,您也可以使用 Edge 管理 API 下載數據分析資料。下載完成後,您可以將資料匯入自己的資料視覺化工具或分析系統。
數據分析資訊主頁
Edge UI 提供一組預先定義的資訊主頁,可用於查看數據分析資料。舉例來說,下圖顯示「Proxy Performance」資訊主頁:

這個資訊主頁包含下列圖表:
- 總流量:Edge 針對機構中的 API 環境收到的 API 要求總數。
- 流量成功率:成功回應的請求總數。錯誤回應不計入。
- 流量錯誤:所有失敗的 API 要求總數,也就是要求未傳送回應的次數。這個計數包含 Proxy 錯誤 (Apigee 端) 和 Target 錯誤 (後端服務)。
- 平均 TPS:每秒的平均 API 要求數量和產生的回應數量。
其他預先定義的資訊主頁包括:
如要進一步瞭解這些預先定義的資訊主頁,請參閱「使用數據分析資訊主頁」。
自訂報表
自訂報表可讓您深入瞭解特定 API 指標,並查看所需的確切資料。您可以使用 Edge 內建的任何分析資料,或由 StatisticsCollector 政策收集的自訂分析資料,建立自訂報表。
製作自訂報表時,您可以選取要查看的資料 (指標),以有意義的方式分組資料 (維度),並視需要根據資料的特定特性限制傳回的資料 (篩選)。
您也可以將自訂報表中顯示的圖表類型設為長條圖或折線圖。下圖顯示每秒交易數的圖表範例,按 API 代理程式分組:
欄:每個 API 代理都由不同的欄代表:
線條:每個 API Proxy 都會以不同的線條表示:
詳情請參閱「建立及管理自訂報表」。
Analytics API
使用 Edge Management API 下載數據分析資料。舉例來說,您可以使用 API 建構自己的資料視覺化工具,並將其嵌入入口網站或自訂應用程式。
以下是用於擷取 API Proxy 分析資料的 API 呼叫範例:
curl https://api.enterprise.apigee.com/v1/o/org_name/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \ -u email:password
這個呼叫會傳回:
- 每個 API Proxy 的要求總數 (訊息數量)
- 24 小時內
- 按小時分組
timeRange
查詢參數會以以下格式指定時間範圍:
?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM
請留意 HH:MM
前面的 %20
。timeRange
參數需要在 HH:MM
前方加上網址編碼空格字元,或 +
字元,例如:MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM
。
詳情請參閱「 使用指標 API」一文,瞭解如何評估 API 計畫的表現。
將數據分析資料匯出至 Google Cloud
您可以使用 Edge 管理 API,將 Edge 中的整天所有數據分析資料匯出至自己的資料存放區,例如 Google Cloud Storage 或 BigQuery。接著,您就能利用 Google Cloud BigQuery 和 TensorFlow 提供的強大查詢和機器學習功能,自行執行資料分析。
詳情請參閱「從數據分析匯出資料」。
如何與應用程式開發人員分享資料?
將應用程式開發人員視為客戶,您就會想確保他們能取得所需工具和資訊,以便充分運用 API。

應用程式開發人員不僅關心應用程式的品質,也非常重視 API。以 Drupal 為基礎的開發人員入口網站包含可選的「應用程式成效」頁面,可讓應用程式開發人員存取應用程式的重要指標。本頁面提供開發人員以下資訊:
- 錯誤:應用程式發生哪些 API 錯誤?
- 效能:API 目前的速度是否緩慢?哪些 API 方法通常速度較慢或目前速度較慢?
- 可用性:API 目前是否正常運作?
- 配額:您的 API 是否有配額?身為應用程式開發人員,我如何使用配額?
詳情請參閱:
- Drupal 7:顯示應用程式使用情形的數據分析
- Drupal 8:監控應用程式
- 整合式入口網站:不支援
此外,您也可以透過下列方式與開發人員分享數據分析:
- 建立自訂報表並與應用程式開發人員分享。詳情請參閱「建立自訂報表」。
- 使用 Edge 管理 API 擷取更長時間的資料,以便離線與應用程式開發人員分享。詳情請參閱「 使用指標 API 評估 API 計畫成效」。
如何產生完整的分析資料?
什麼是完整的數據分析?舉例來說,您可以建立 API Proxy,Edge 就會收集該 Proxy 的數據分析資料。但如果是針對呼叫 API Proxy 的開發人員或應用程式,則如何計算指標?如果 Edge 不知道誰發出 API 呼叫,就無法收集該資料。
您必須完成幾個步驟,讓 Edge 找出哪些開發人員和開發人員應用程式會呼叫您的 API Proxy。以下列出這些步驟,並附上詳細資訊的連結:
- 建立一或多個 API 產品,也就是 API Proxy 和服務方案的組合。請參閱「管理 API 產品」。
- 使用 Edge 註冊應用程式開發人員。請參閱「 註冊應用程式開發人員」。
- 註冊應用程式,並為開發人員產生 API 金鑰。請參閱「 註冊應用程式及管理 API 金鑰」。
- 在 API 代理程式中加入安全性政策,驗證 API 金鑰和/或安全性權杖。請參閱下列主題:驗證 API 金鑰政策、OAuthV2 政策和驗證 JWT 政策。
- 如果您使用的是 Edge Microgateway,請確認您已啟用 Analytics 外掛程式 (預設為啟用)。如果停用 Analytics 外掛程式,Edge Microgateway 就不會將 Analytics 資料傳送至 Edge Analytics。
您可以參閱下列教學課程,瞭解如何透過必要步驟查看開發人員和應用程式的數據分析:透過要求 API 金鑰保護 API和使用 OAuth 保護 API。
比較 API Analytics 和 API Monitoring
您可以同時使用 Edge 的 API 監控和 API Analytics。API Monitoring 會檢查數據分析資料,提供 API 效能即時的相關洞察資料,讓您快速診斷問題,並採取適當行動確保業務持續運作。API Monitoring 可快速找出 API 和後端的問題點。API Analytics 可擷取多種不同團隊可用的多樣化數據,但這些資料通常用於非即時情境的分析。
API 監控和 API 數據分析的主要差異之一,是 API 監控內建的警示機制。您可以透過快訊指定 HTTP 狀態碼 (2xx/4xx/5xx)、延遲時間或錯誤代碼門檻,當超過這些值時,系統就會觸發快訊通知,傳送給您的作業團隊。快訊通知可透過電子郵件、Slack、傳呼器或 Webhook 等多種管道傳送,讓您立即回應問題。
如需進一步比較這兩項服務,請參閱「比較 API 監控與 Edge API Analytics」。