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 創新,並打造能協助企業提高收益的創意應用程式。Analytics (分析) 可協助應用程式開發人員瞭解自家應用程式的成效,以及這些應用程式對企業收益的貢獻。應用程式開發人員想知道如何改善應用程式。
  • 作業團隊營運團隊想瞭解流量模式,並預測何時應新增後端資源或做出其他重要調整。
  • 業主 - 業主想瞭解 API 投資的成果,以及未來該在何處投入 API 預算。

我們會收集及分析哪些類型的資料?

Edge API Analytics 會收集並分析來自不同 API Proxy 的廣泛資料,例如:

  • 回應時間
  • 要求延遲時間
  • 要求大小
  • 目標錯誤
  • API 產品名稱
  • 開發人員電子郵件地址
  • 應用程式名稱
  • 其他許多

如需 API Analytics (分析) 收集資料的完整清單,請參閱 Analytics (分析) 指標、維度和篩選器參考資料

如何收集自訂數據分析資料?

Edge 會以原生方式收集大量資料。您可能也會想收集 API Proxy、應用程式、產品或開發人員專屬的自訂分析資料。例如,您可以從查詢參數、要求標頭、要求和回應主體,或是您在 API 中定義的變數收集分析資料。

您可以使用 StatisticsCollector 政策收集自訂數據分析資料。 擷取自訂資料後,您就能使用數據分析使用者介面或 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 天內的數據分析資料。

如何存取我的數據分析資料?

Edge API Analytics 提供內建於 Edge UI 中的資料視覺化工具。這些工具包括預先定義的分析資訊主頁和自訂報表,以圖表和圖表呈現資料,並深入細查依不同維度 (例如 API Proxy、IP 位址或 HTTP 狀態碼) 分組的資料。

此外,您也可以使用 Edge Management API 下載分析資料。下載完成後,您可以將這些資料匯入自己的資料視覺化工具或分析系統。

Analytics (分析) 資訊主頁

Edge UI 提供一組預先定義的資訊主頁,方便您查看數據分析資料。例如,下圖顯示「Proxy Performance」資訊主頁:

這個資訊主頁包含下列圖表:

  • 總流量:Edge 為貴機構中 API 環境收到的 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

詳情請參閱「 使用指標 API」一文,評估 API 計畫效能。

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

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

詳情請參閱「從數據分析匯出資料」。

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

如果您將應用程式開發人員視為客戶,建議您確保他們能取得相關工具和資訊,才能充分運用您的 API。

alt_text

應用程式開發人員不僅在關心應用程式的品質,更對您的 API 十分有興趣。Drupal 開發人員入口網站提供選用的「App Performance」頁面,可讓應用程式開發人員存取應用程式的重要指標。本頁提供開發人員以下資訊:

  • 錯誤:我的應用程式看到哪些 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 Analytics 與 API Monitoring

您可以善用 Edge API 監控和 API 數據分析。API Monitoring 會檢查分析資料,提供有關 API 效能的即時情境深入分析結果,方便您快速診斷問題及採取補救措施,確保業務持續性。API Monitoring 旨在快速找出 API 和後端中的問題。 API Analytics (分析) 可擷取各種數據分析資料,供不同團隊使用,但這些資料通常用於非即時情境的分析。

API Monitoring 和 API Analytics 之間的主要差異之一,就是 API Monitoring 內建的快訊機制。使用快訊時,您可以指定 HTTP 狀態碼 (2xx/4xx/5xx)、延遲時間或錯誤代碼門檻,超過門檻時就會觸發給作業團隊的快訊通知。您可以透過各種管道傳送快訊通知,例如電子郵件、Slack、呼叫器或 Webhook,讓您立即處理問題。

如需更詳細的服務比較,請參閱「比較 API Monitoring 和 Edge API 數據分析」一文。

更多資訊