API Analytics 總覽

您正在查看 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,並協助應用程式開發人員改善應用程式:

alt_text
  • 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 之前的 %20timeRange 參數需要 HH:MM 之前的網址編碼空格字元或 + 字元,如下所示:MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM

詳情請參閱「 使用 Metrics API」一文,瞭解如何評估 API 計畫的成效。

將數據分析資料匯出至 Google Cloud

您可以使用 Edge Management API 將一整天的所有數據分析資料從 Edge 匯出至自己的資料存放區,例如 Google Cloud StorageBigQuery。然後,您可以運用 Google Cloud BigQuery 和 TensorFlow 提供的強大查詢和機器學習功能,執行自己的資料分析作業。

詳情請參閱「從 Analytics (分析) 匯出資料」一文。

如何與應用程式開發人員分享資料?

將應用程式開發人員想像成您的客戶時,您必須確保他們擁有相關工具和資訊,以便充分利用您的 API。

alt_text

應用程式開發人員不僅關心應用程式的品質,也非常重視您的 API。以 Drupal 為基礎的開發人員入口網站提供選用的「應用程式效能」頁面,可讓應用程式開發人員存取應用程式的重要指標。本頁面為開發人員提供以下資訊:

  • 錯誤:應用程式遇到哪些 API 錯誤?
  • 效能:API 目前的速度緩慢嗎?目前哪些 API 方法的執行速度通常很慢?
  • 可用性:API 目前是否處於向上或關閉狀態?
  • 配額:您的 API 是否有配額?身為應用程式開發人員,我目前在用量配額方面做得如何?

相關詳情請參閱:

此外,你也可以透過以下方式與開發人員分享數據分析資料:

如何產生完整的數據分析資料?

「完整數據分析」是什麼意思?舉例來說,您可以建立 API Proxy,而 Edge 會收集該 Proxy 的分析資料。但呼叫 API Proxy 的開發人員或應用程式指標呢?如果 Edge 不知道發出 API 呼叫的使用者,就無法收集這些資料。

需要完成幾個步驟,Edge 才能瞭解哪些開發人員和哪些開發人員應用程式呼叫您的 API Proxy。以下列出相關步驟,並提供更詳細的資訊連結:

  1. 建立一或多項 API 產品,也就是一組 API Proxy 和服務方案。請參閱管理 API 產品
  2. 使用 Edge 註冊應用程式開發人員。請參閱「 註冊應用程式開發人員」一文。
  3. 註冊應用程式並為開發人員產生 API 金鑰。請參閱「 註冊應用程式及管理 API 金鑰」一文。
  4. 在 API Proxy 中新增安全性政策,驗證 API 金鑰和/或安全性權杖。請參閱下列主題:驗證 API 金鑰政策OAuthV2 政策驗證 JWT 政策
  5. 如果您使用 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」一文。

更多資訊