反模式:將自訂資訊新增至 Postgres 資料庫中的 Apigee 自有結構定義

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

Edge API Analytics 是 Apigee Edge 提供的強大內建功能。該工具會收集及分析透過 API 傳送的各種資料。擷取的數據分析資料可提供非常實用的洞察資料。舉例來說,API 流量在一段時間內的趨勢為何?哪個 API 的使用率最高?哪些 API 的錯誤率偏高?

定期分析這些資料和洞察資料,可用於採取適當行動,例如根據目前的使用情形、業務和未來投資決策等,為 API 的未來容量進行規劃。

數據分析資料及其儲存方式

API Analytics 會擷取多種不同類型的資料,例如:

  • API 相關資訊:要求 URI、用戶端 IP 位址、回應狀態碼等等
  • API Proxy 效能:成功/失敗率、要求和回應處理時間等
  • 目標伺服器效能 - 成功/失敗率、處理時間
  • 錯誤資訊 - 錯誤數量、錯誤代碼、失敗政策、Apigee 和目標伺服器導致錯誤的數量。
  • 其他資訊 - 開發人員、開發人員應用程式等提出的要求次數

所有這些資料都儲存在 analytics 結構定義中,由 Apigee Edge 在 Postgres 資料庫中建立及管理。

一般來說,在標準 Edge 安裝作業中,Postgres 會有下列結構定義:

Edge 會使用名為 analytics 的結構定義,儲存每個機構和環境的所有分析資料。如果已安裝營利功能,就會有 rkms 結構定義。其他結構定義則是用於 Postgres 內部。

analytics 結構定義會持續變更,因為 Apigee Edge 會在執行階段動態新增新事實表。Postgres 伺服器元件會將事實資料匯總至匯總資料表,並載入並顯示在 Edge UI 上。

反模式

建議不要直接使用 SQL 查詢,在私有雲環境中的 Postgres 資料庫中,為任何 Apigee 專屬結構定義新增自訂欄、表格和/或檢視畫面,因為這可能會產生不良影響。

我們以範例來詳細說明這項功能。

請考慮在 Analytics 結構定義下建立名為 account 的自訂資料表,如下所示:

假設過一段時間後,您需要將 Apigee Edge 從較舊版本升級至較新版本。升級 Private Cloud Apigee Edge 時,需要升級 Postgres 和其他元件。如果有任何自訂欄、資料表或檢視項目新增至 Postgres 資料庫,則 Postgres 升級作業會失敗,並出現參照自訂物件的錯誤,因為這些物件並非由 Apigee Edge 建立。因此,Apigee Edge 升級作業也會失敗,無法完成。

同樣地,在執行 Edge 元件 (包括 Postgres 資料庫) 的備份和還原作業時,Apigee Edge 維護活動也可能發生錯誤。

影響

  • 由於 Postgres 元件升級失敗,且發生參照 Apigee Edge 未建立的自訂物件錯誤,因此無法完成 Apigee Edge 升級。
  • 執行 Apigee Analytics 服務維護作業 (備份/還原) 時,資料不一致 (或失敗)。

最佳做法

  • 請勿直接在任何 Apigee 專屬結構定義 (例如 analytics 等) 中,以欄、表格、檢視畫面、函式和程序的形式新增任何自訂資訊
  • 如果需要支援自訂資訊,可以使用統計資料收集器政策將資訊新增為 analytics 結構定義的資料欄 (欄位)。

延伸閱讀