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

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。
info

Edge API Analytics 是 Apigee Edge 提供的強大內建功能。這項服務會收集並分析 API 傳輸的各種資料,擷取的數據分析資料可提供非常實用的洞察資訊。例如,API 流量在一段時間內的趨勢為何?哪個 API 最常用?哪些 API 的錯誤率偏高?

定期分析這類資料和洞察資訊,有助於採取適當行動,例如根據目前的 API 使用量、業務和未來投資決策,規劃未來的 API 容量。

Analytics 資料及其儲存空間

API Analytics 會擷取多種資料,例如:

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

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

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

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

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

反模式

不建議直接使用 SQL 查詢,將自訂資料欄、資料表和/或檢視表新增至 Private Cloud 環境中 Postgres 資料庫的任何 Apigee 擁有的結構定義,因為這可能會造成不良影響。

我們以一個例子來詳細說明。

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

過一段時間後,假設需要將 Apigee Edge 從較低版本升級至較高版本,升級 Private Cloud Apigee Edge 時,除了其他許多元件外,也需要升級 Postgres。如果 Postgres 資料庫中新增了任何自訂欄、資料表或檢視表,Postgres 升級作業就會失敗,並顯示參照自訂物件的錯誤,因為這些物件並非由 Apigee Edge 建立。因此 Apigee Edge 升級作業也會失敗,無法完成。

同樣地,在 Apigee Edge 維護活動期間,備份及還原 Edge 元件 (包括 Postgres 資料庫) 時也可能發生錯誤。

影響

  • Postgres 元件升級失敗,並顯示與非 Apigee Edge 建立的自訂物件相關的錯誤,因此無法完成 Apigee Edge 升級。
  • 執行 Apigee Analytics 服務維護作業 (備份/還原) 時發生不一致 (和失敗) 的情況。

最佳做法

  • 請勿直接在任何 Apigee 擁有的結構定義 (例如 analytics 等) 中,以資料欄、表格、檢視區塊、函式和程序的形式新增任何自訂資訊
  • 如需支援自訂資訊,可以使用 Statistics Collector 政策,將資訊新增為 analytics 結構定義的資料欄 (欄位)。

延伸閱讀