API Analytics 總覽

您目前查看的是 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,以及協助應用程式開發人員提升應用程式品質:

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 政策收集自訂的 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 個月
    詳情請參閱 Apigee API 管理平台定價

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

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 前的 %20timeRange 參數在 HH:MM 前面需要網址編碼的空格字元,或是 + 字元,例如:MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM

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

將 Analytics 資料匯出至 Google Cloud

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

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

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

將應用程式開發人員視為客戶時,請務必確保他們擁有可用的工具和資訊,以便充分運用您的 API。

alt_text

應用程式開發人員不僅重視應用程式品質,也對您的 API 很有興趣。以 Drupal 為基礎的開發人員入口網站包含選用的「應用程式成效」頁面,可讓應用程式開發人員存取應用程式的重要指標。這個頁面提供開發人員下列資訊:

  • 錯誤:我的應用程式發生哪些 API 錯誤?
  • 效能:API 目前是否速度緩慢?哪些 API 方法通常速度緩慢,或目前速度緩慢?
  • 可用性:API 目前是否正常運作?
  • 配額:您的 API 是否有配額?身為應用程式開發人員,我目前的配額使用情形如何?

詳情請參閱:

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

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

什麼是完整的數據分析?舉例來說,您可以建立 API Proxy,Edge 會收集該 Proxy 的 Analytics 資料。但如果是呼叫 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,請確認您已啟用 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」。

更多資訊