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 的位置也獲得回報。

Google 會收集並分析哪些類型的資料?

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 內建的資料視覺化工具。這些工具包括 預先定義的 Analytics 資訊主頁和自訂報表 會以圖形和圖表呈現資料,還可讓您 細查資料,查看按不同維度 (例如 API Proxy、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 提供的強大查詢和機器學習功能 Google Cloud BigQuery 和 TensorFlow,執行自己的資料分析作業。

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

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

想像應用程式開發人員是客戶時 並提供可用的資訊給他們,讓 API 發揮最大效益。

alt_text

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

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

若需更多資訊,請參閱:

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

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

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

完整的數據分析是什麼意思?舉例來說,您可以建立 API Proxy 收集該 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 數據分析 ,瞭解這些服務的詳細差異。

更多資訊