您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
本主題將介紹 Edge API 數據分析。
影片: 觀看 Edge API 數據分析服務的簡介短片。
透過數據分析改善 API
Edge API Analytics 會收集並計算透過 API Proxy 流通的大量資訊。 您可以在 Edge UI 中使用圖形和圖表以視覺化方式呈現資料,也可以使用 Edge Management API 下載原始資料進行離線分析。
Analytics (分析) 可協助您解答常見問題,例如:
- API 流量隨著時間的變化趨勢為何?
- 最受歡迎的 API 方法有哪些?
- 我有哪些頂尖開發人員?
- API 回應時間的最快為何?最慢?
- 就地理位置而言,哪裡的 API 流量最高?
這類問題的答案可協助您改善 API、排解問題,以及對 API 計畫制定更明智的業務決策。
API Analytics (分析) 有助改善
Edge API Analytics 透過持續收集、分析並以視覺化方式呈現資料的程序,讓您的 API 團隊改善 API,並協助應用程式開發人員改善應用程式:
- API 團隊 - API 團隊想要利用內部系統來建立有趣的 API。API 團隊想瞭解 API 計畫的整體表現、個別 API 的表現,以及 API 的改善方式。
- 應用程式開發人員:與應用程式開發人員分享數據分析資訊,即可打造出更優質的應用程式。這些開發人員正在使用您的 API 進行創新,並打造出各種創意應用程式,為貴公司帶來收益。數據分析可協助應用程式開發人員瞭解應用程式的成效,以及應用程式對企業收益的貢獻。應用程式開發人員想知道如何改善應用程式。
- 作業團隊:作業團隊想要瞭解流量模式,並預測何時要新增後端資源或進行其他重要調整。
- 業主:業主想瞭解自家 API 投資的獲益方式,以及未來該在何處投資 API。
我們會收集和分析哪些類型的資料?
Edge API Analytics 會收集並分析橫跨 API Proxy 的多種資料,例如:
- 回應時間
- 要求延遲時間
- 要求大小
- 目標錯誤
- API 產品名稱
- 開發人員電子郵件地址
- 應用程式名稱
- 其他許多資料
如需 API Analytics (分析) 收集的資料完整清單,請參閱 Analytics (分析) 指標、維度和篩選器參考資料。
如何收集自訂數據分析資料?
Edge 以原生方式收集大量資料。您也可以收集 API Proxy、應用程式、產品或開發人員專屬的自訂分析資料。舉例來說,建議您透過查詢參數、要求標頭、要求和回應主體,或是在 API 中定義的變數收集分析資料。
您可以使用 StatisticsCollector 政策收集自訂數據分析資料。 擷取自訂資料後,您可以使用 Analytics (分析) UI 或 API 來檢查資料。如需完整示範如何收集自訂數據分析資料的完整範例,請參閱「使用自訂分析功能分析 API 訊息內容」一文。
Analytics (分析) 資料和 API Monitoring 資料之間的差異
本節說明 Edge Analytics 與 API Monitoring 所收集的資料之間有些微差異。 由於 API Monitoring 和 Analytics (分析) 使用不同的資料管道,因此 Monitoring 產生的自訂報表和 Analytics (分析) 產生的報表之間,可能會有些許差異。例如,您可能會發現逾時錯誤 (要求中的 HTTP 狀態碼 504) 和用戶端逾時 (HTTP 狀態碼 499) 的回報結果之間有差異。在 Analytics (分析) 自訂報表中,這些事件的狀態碼可能是 200,但在 Monitoring 自訂報表中會顯示為狀態碼 504 或 499。數據分析資料要保留多久?保留時間有多長?
自訂數據分析資料的顯示時機和時間長度有兩種,分別是:
- 資料延遲間隔 - 呼叫 API Proxy 後,最多可能需要 10 分鐘,才能顯示資料或透過管理 API 呼叫進行存取。
- 資料保留 - Edge 會因方案而保留資料的時間長度。視您的方案而定,系統或許會顯示過去 30、60、90 或 365 天的數據分析資料。
如何存取我的 Analytics (分析) 資料?
Edge API Analytics 提供 Edge UI 內建的資料視覺化工具。這些工具包括預先定義的數據分析資訊主頁和自訂報表,可透過圖表和圖表顯示資料,方便您細查不同維度的資料 (例如依 API Proxy、IP 位址或 HTTP 狀態碼)。
此外,您也可以使用 Edge Management API 下載分析資料。下載完成後,您可以將該資料匯入自己的資料視覺化工具或分析系統。
數據分析資訊主頁
Edge UI 提供一組預先定義的資訊主頁,方便您查看分析資料。例如,下圖顯示「Proxy Performance」資訊主頁:
這個資訊主頁包含下列圖表:
- 總流量 - 機構中的特定 API 環境由 Edge 收到的 API 要求總數。
- 流量成功:成功回應的要求總數。錯誤回應不計入。
- 流量錯誤:所有失敗的 API 要求總數 (也就是要求未提供回應)。數量包含 Proxy 錯誤 (Apigee 端) 和目標錯誤 (後端服務)。
- 平均 TPS:每秒的平均 API 要求數和結果回應數。
其他預先定義的資訊主頁包括:
如要進一步瞭解這些預先定義的資訊主頁,請參閱「使用數據分析資訊主頁」一文。
自訂報表
自訂報表可讓您深入探索特定 API 指標,並查看您想要查看的確切資料。 您可以使用 Edge 內建的任何數據分析資料,或 StatisticsCollector 政策收集的自訂分析資料,建立自訂報表。
建立自訂報表時,您可以選取想要查看的資料 (指標),以有意義的方式 (維度) 將資料分組,還能選擇是否要根據資料的特定特性 (篩選) 限制傳回的資料。
您也可以將自訂報表中顯示的圖表類型設為柱狀或折線圖。 下圖顯示依 API Proxy 分組的每秒交易次數圖表範例:
資料欄 - 每個 API Proxy 都以不同的資料欄表示:
行 - 每個 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
。
詳情請參閱「 使用 Metrics API」一文,瞭解如何評估 API 計畫的成效。
將數據分析資料匯出至 Google Cloud
您可以使用 Edge Management API 將一整天的所有數據分析資料從 Edge 匯出至自己的資料存放區,例如 Google Cloud Storage 或 BigQuery。然後,您可以運用 Google Cloud BigQuery 和 TensorFlow 提供的強大查詢和機器學習功能,執行自己的資料分析作業。
詳情請參閱「從 Analytics (分析) 匯出資料」一文。
如何與應用程式開發人員分享資料?
將應用程式開發人員想像成您的客戶時,您必須確保他們擁有相關工具和資訊,以便充分利用您的 API。
應用程式開發人員不僅關心應用程式的品質,也非常重視您的 API。以 Drupal 為基礎的開發人員入口網站提供選用的「應用程式效能」頁面,可讓應用程式開發人員存取應用程式的重要指標。本頁面為開發人員提供以下資訊:
- 錯誤:應用程式遇到哪些 API 錯誤?
- 效能:API 目前的速度緩慢嗎?目前哪些 API 方法的執行速度通常很慢?
- 可用性:API 目前是否處於向上或關閉狀態?
- 配額:您的 API 是否有配額?身為應用程式開發人員,我目前在用量配額方面做得如何?
相關詳情請參閱:
- Drupal 7:顯示應用程式使用情況數據分析
- Drupal 8:監控應用程式
- 整合入口網站:不適用
此外,你也可以透過以下方式與開發人員分享數據分析資料:
- 建立自訂報表並與應用程式開發人員分享。詳情請參閱「建立自訂報表」一文。
- 使用 Edge Management API 長時間擷取資料,與應用程式開發人員分享。詳情請參閱「 使用指標 API 評估 API 計畫成效」一文。
如何產生完整的數據分析資料?
「完整數據分析」是什麼意思?舉例來說,您可以建立 API Proxy,而 Edge 會收集該 Proxy 的分析資料。但呼叫 API Proxy 的開發人員或應用程式指標呢?如果 Edge 不知道發出 API 呼叫的使用者,就無法收集這些資料。
需要完成幾個步驟,Edge 才能瞭解哪些開發人員和哪些開發人員應用程式呼叫您的 API Proxy。以下列出相關步驟,並提供更詳細的資訊連結:
- 建立一或多項 API 產品,也就是一組 API Proxy 和服務方案。請參閱管理 API 產品。
- 使用 Edge 註冊應用程式開發人員。請參閱「 註冊應用程式開發人員」一文。
- 註冊應用程式並為開發人員產生 API 金鑰。請參閱「 註冊應用程式及管理 API 金鑰」一文。
- 在 API Proxy 中新增安全性政策,驗證 API 金鑰和/或安全性權杖。請參閱下列主題:驗證 API 金鑰政策、OAuthV2 政策及驗證 JWT 政策。
- 如果您使用 Edge Microgateway,請確認您已啟用數據分析外掛程式 (預設為啟用)。如果數據分析外掛程式已停用,Edge Microgateway 就不會將數據分析資料傳送到 Edge Analytics。
下列教學課程會引導您完成必要步驟,以便查看開發人員和應用程式適用的數據分析:要求 API 金鑰來保護 API 和使用 OAuth 保護 API。
比較 API 數據分析與 API Monitoring
您可以同時使用 Edge API 監控和 API Analytics。API Monitoring 會檢查數據分析資料,針對 API 效能提供即時的情境深入分析,讓您快速診斷問題,並協助採取補救措施來持續營運。API 監控功能可協助您快速找出 API 與後端中的問題。API Analytics (分析) 旨在擷取多種數據分析資料以供多個不同團隊使用,但資料通常用於非即時情境中分析。
API Monitoring 和 API 數據分析之間的主要差異之一,是 API Monitoring 內建的快訊機制。使用快訊時,您必須指定 HTTP 狀態碼 (2xx/4xx/5xx)、延遲或錯誤代碼閾值。超過時,系統會觸發快訊通知給作業團隊。快訊通知可透過各種管道 (例如電子郵件、Slack、呼叫器或 Webhook) 傳送,方便您立即回應問題。
如要進一步瞭解這些服務之間的詳細比較,請參閱「比較 API Monitoring 與 Edge API Analytics」一文。