API Analytics 總覽

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

本主題介紹 Edge API 數據分析。

影片: 觀看 Edge API Analytics 服務簡介的短片。

透過數據分析改善 API

Edge API Analytics 會收集並計算透過 API Proxy 傳送的豐富資訊。 您可以透過 Edge UI 中的圖表以視覺化方式呈現資料,也可以下載原始資料, 以及使用 Edge Management API 進行離線分析

Analytics 可協助您解答常見問題,例如:

  • 我的 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舉例來說,您可能會想從查詢參數、要求標頭、要求和回應內文,或您在 API 中定義的變數收集數據分析資料。

您可以使用 StatisticsCollector 政策收集自訂數據分析資料。 擷取自訂資料後,您可以使用數據分析 UI 或 API 檢查資料。 參閱「使用自訂分析功能分析 API 訊息內容」一文 」,完整範例將說明如何收集自訂分析資料。

Analytics 資料與 API Monitoring 資料的差異

本節將說明 Edge Analytics 與 API Monitoring。 因為 API Monitoring 和 Analytics 使用不同的 資料管道中可能會有些許差異 區別由 Monitoring 產生的自訂報表和 分析舉例來說,您可能會看到 回報的逾時錯誤結果差異 (包括後端逾時) (要求上的 HTTP 狀態碼 504) 和用戶端逾時 (HTTP 狀態碼 499)。 在 Analytics 自訂報表中可能會顯示狀態碼 200 但 Monitoring 自訂報表中顯示的狀態碼為 504 或 499。

我的數據分析資料會在何時顯示及保留多久?

有兩種時間間隔,您可以控制查看數據分析資料的時機和時間長度:

  • 資料延遲間隔 - 在呼叫 API Proxy 後,最多可能需要等待一段時間 10 分鐘之後,您就可以查看資料或透過 Management API 呼叫存取資料。
  • 資料保留 - 數據分析資料保留的時間長度。 不同方案之間的差異。 視您的方案而定,系統可能會提供過去 30 天、60 天、90 天或 365 天的數據分析資料。

如何存取數據分析資料?

Edge API Analytics 提供邊緣 UI 內建的資料視覺化工具。這些工具包括預先定義的數據分析資訊主頁和自訂報表,可在圖表中顯示資料,並讓您深入查看資料,將資料分組為不同的維度 (例如 API 代理程式、IP 位址或 HTTP 狀態碼)。

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

數據分析資訊主頁

Edge UI 提供一組預先定義的資訊主頁,可用於查看數據分析資料。舉例來說,下圖顯示「Proxy 效能」資訊主頁:

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

  • 總流量:Edge 針對機構中的 API 環境收到的 API 要求總數,
  • 流量成功率:成功回應的請求總數。錯誤回應不會計入。
  • 流量錯誤:所有失敗 API 要求的總數。 也就是說,要求並未回應計數包含兩個 Proxy 錯誤 (Apigee 端) 以及目標錯誤 (後端服務)
  • 平均 TPS:平均 API 要求數和每秒結果回應數。

其他預先定義的資訊主頁包括:

如要進一步瞭解這些預先定義的資訊主頁,請參閱使用數據分析資訊主頁

自訂報表

自訂報表可讓您深入瞭解特定 API 指標,並查看所需的確切資料。您可以使用 Edge 或自訂分析內建的任何數據分析資料建立自訂報表 StatsCollector 政策收集的資料。

建立自訂報表時,您可以選取想查看的資料 (指標),然後將資料分組 有意義的方式 (維度),並視需要根據資料的某些特性限制傳回的資料 (篩選)。

您也可以將自訂報表中的圖表類型設為柱狀或折線圖。 下圖顯示依 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 提供的強大查詢和機器學習功能,自行執行資料分析。

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

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

將應用程式開發人員視為客戶,您就會想確保他們能取得所需工具和資訊,以便充分運用 API。

alt_text

應用程式開發人員不只重視應用程式品質,對 API 也非常感興趣。 Drupal 開發人員入口網站 包含一個選用的「應用程式效能」頁面,讓應用程式開發人員能夠存取 重要指標本頁面提供開發人員相關資訊:

  • 錯誤:應用程式看到哪些 API 錯誤?
  • 效能:API 目前的運作速度緩慢嗎?哪些 API 方法的執行速度通常較慢 還是慢速?
  • 適用範圍:API 現在是上升或停機嗎?
  • 配額:您的 API 是否有配額?身為應用程式開發人員 配額?

若需更多資訊,請參閱:

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

  • 建立自訂報表並與應用程式開發人員分享。如需更多資訊 請參閱「建立自訂報表」一文。
  • 使用 Edge Management API 擷取更廣泛的資料,再與應用程式分享 甚至可以離線開發應用程式若需更多資訊,請參閲 使用 Metrics API 評估 API 計畫成效

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

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

必須執行幾個步驟,Edge 找出哪些開發人員和開發人員應用程式 呼叫 API Proxy以下列出這些步驟,並附上詳細資訊的連結:

  1. 建立一或多項 API 產品,這是指一組 API Proxy 以及一組 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 Monitoring 以及 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 數據分析 ,瞭解這些服務的詳細差異。

更多資訊