您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
本主題將介紹 Edge API Analytics。
影片: 觀看短片,概略瞭解 Edge API 數據分析服務。
透過數據分析改善 API
Edge API Analytics 會收集並計算流經 API Proxy 的大量資訊。您可以在 Edge UI 中以圖表呈現這項資料,也可以使用 Edge 管理 API 下載原始資料,進行離線分析。
Analytics 可協助您解答常見問題,例如:
- 我的 API 流量趨勢為何?
- 哪些 API 方法最熱門?
- 誰是我的頂尖開發人員?
- API 回應速度最快的時間是?最慢?
- 從地理位置來看,我的 API 流量最多來自哪裡?
這些問題的答案可協助您改善 API、排解問題,並針對 API 計畫做出更明智的業務決策。
API Analytics 可協助所有人提升成效
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 資料。 自訂資料擷取完畢後,您可以使用 Analytics 使用者介面或 API 檢查資料。 如需完整的範例,瞭解如何收集自訂分析資料,請參閱「使用自訂分析功能分析 API 訊息內容」。
Analytics 資料和 API 監控資料的差異
本節說明 Edge Analytics 與 API Monitoring 收集的資料之間,有哪些微小差異。 由於 API 監控和 Analytics 使用不同的資料管道,監控產生的自訂報表與 Analytics 產生的報表可能會有些微差異。舉例來說,您可能會發現逾時錯誤的報告結果有差異,包括後端逾時 (要求的 HTTP 狀態碼為 504) 和用戶端逾時 (HTTP 狀態碼為 499)。這些要求可能會在 Analytics 自訂報表中顯示狀態碼 200,但在監控自訂報表中會顯示狀態碼 504 或 499。分析資料何時會提供?保留時間有多長?
有兩個時間間隔可控制您查看數據資料的時間和長度:
- 資料延遲間隔 - 呼叫 API Proxy 後,資料最多可能需要 10 分鐘,才會顯示或透過管理 API 呼叫存取。
- 資料保留 -
Analytics 資料的保留時間長度取決於您的訂閱方案:
- 標準:30 天
- Enterprise:3 個月
- Enterprise Plus:14 個月
如何存取我的數據分析資料?
Edge API Analytics 提供內建於 Edge UI 的資料視覺化工具。這些工具包括預先定義的 Analytics 資訊主頁和自訂報表,可透過圖表顯示資料,並讓您向下鑽研,查看依不同維度 (例如 API Proxy、IP 位址或 HTTP 狀態碼) 分組的資料。
此外,您也可以使用 Edge 管理 API 下載數據分析資料。下載後,您就能將資料匯入自己的資料視覺化工具或分析系統。
數據分析資訊主頁
Edge UI 提供一組預先定義的資訊主頁,可用於查看數據分析資料。 舉例來說,下圖顯示「Proxy Performance」(Proxy 效能) 資訊主頁:
這個資訊主頁包含下列圖表:
- 總流量:Edge 為機構中的 API 環境收到的 API 要求總數。
- 成功回應總數:成功回應的要求總數。錯誤回應不計入。
- 流量錯誤 - 所有失敗的 API 要求總數,也就是要求未傳送回應。這項計數包含 Proxy 錯誤 (Apigee 端) 和目標錯誤 (後端服務)。
- 平均 TPS - 每秒的平均 API 要求數和相應的回應數。
其他預先定義的資訊主頁包括:
如要進一步瞭解這些預先定義的資訊主頁,請參閱「使用數據分析資訊主頁」。
自訂報表
自訂報表可讓您深入瞭解特定 API 指標,並查看所需確切資料。 您可以使用 Edge 內建的任何分析資料,或 StatisticsCollector 政策收集的自訂分析資料,建立自訂報表。
建立自訂報表時,您可以選取要查看的資料 (指標)、以有意義的方式將資料分組 (維度),並視需要根據資料的特定特徵限制傳回的資料 (篩選)。
您也可以將自訂報表顯示的圖表類型設為柱狀圖或折線圖。 下圖顯示按 API Proxy 分組的每秒交易數圖表範例:
資料欄 - 每個 API Proxy 都以不同的資料欄表示:

折線:每條折線代表一個 API Proxy:

詳情請參閱「建立及管理自訂報表」。
Analytics API
使用 Edge Management API 下載 Analytics 資料。舉例來說,您可以使用 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 計畫成效。
將 Analytics 資料匯出至 Google Cloud
您可以使用 Edge 管理 API,將 Edge 一整天的所有數據分析資料匯出至自己的資料存放區,例如 Google Cloud Storage 或 BigQuery。接著,您就能運用 Google Cloud BigQuery 和 TensorFlow 提供的強大查詢和機器學習功能,自行執行資料分析。
詳情請參閱「從數據分析匯出資料」。
如何與應用程式開發人員分享資料?
將應用程式開發人員視為客戶時,請務必確保他們擁有可用的工具和資訊,以便充分運用您的 API。
應用程式開發人員不僅重視應用程式品質,也對您的 API 很有興趣。以 Drupal 為基礎的開發人員入口網站包含選用的「應用程式成效」頁面,可讓應用程式開發人員存取應用程式的重要指標。這個頁面提供開發人員下列資訊:
- 錯誤:我的應用程式發生哪些 API 錯誤?
- 效能:API 目前是否速度緩慢?哪些 API 方法通常速度緩慢,或目前速度緩慢?
- 可用性:API 目前是否正常運作?
- 配額:您的 API 是否有配額?身為應用程式開發人員,我目前的配額使用情形如何?
詳情請參閱:
- Drupal 7:顯示應用程式使用情況的 Analytics
- Drupal 8:監控應用程式
- 整合式入口網站:不適用
此外,您也可以透過下列方式與開發人員分享數據分析:
- 建立自訂報表,並與應用程式開發人員共用。詳情請參閱「建立自訂報表」。
- 使用 Edge 管理 API 擷取較長一段時間的資料,然後離線與應用程式開發人員分享。詳情請參閱「 使用指標 API 評估 API 計畫成效」。
如何產生完整的數據分析資料?
什麼是完整的數據分析?舉例來說,您可以建立 API Proxy,Edge 會收集該 Proxy 的 Analytics 資料。但如果是呼叫 API Proxy 的開發人員或應用程式,又該如何取得指標?如果 Edge 不知道是誰發出 API 呼叫,就無法收集該資料。
您必須完成幾個步驟,Edge 才能判斷哪些開發人員和開發人員應用程式正在呼叫 API Proxy。以下列出這些步驟,並提供詳細資訊的連結:
- 建立一或多個 API 產品,這是 API Proxy 的分組,以及服務方案。請參閱「管理 API 產品」。
- 使用 Edge 註冊應用程式開發人員。請參閱「 註冊應用程式開發人員」。
- 註冊應用程式,並為開發人員產生 API 金鑰。請參閱「 註冊應用程式及管理 API 金鑰」。
- 在 API Proxy 中新增安全性政策,驗證 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」。