監控方式

私有雲 v4.18.01 的邊緣

一般來說,在實際工作環境設定中,您必須在 Apigee Edge 中啟用監控機制,以便進行私人雲端部署作業。這些監控技術會向網路管理員 (或操作人員) 發出警告或失敗。產生的每個錯誤都會在 Apigee Edge 中回報為快訊。如要進一步瞭解快訊,請參閱監控最佳做法

為了方便起見,Apigee 元件主要分為兩類:

  • Apigee 專用的 Java 伺服器服務:包括管理伺服器、訊息處理器、Qpid 伺服器和 Postgres 伺服器。
  • 第三方服務:包括 Nginx Router、Apache Cassandra、Apache ZooKeeper、OpenLDAP、PostgreSQL 資料庫和 Qpid。

在 Apigee Edge 的內部部署部署作業中,下表可讓您快速瞭解可以監控的參數:

元件

系統檢查

程序層級統計資料

API 級別檢查

郵件流程檢查

元件專屬

Apigee 專用 Java 服務

管理伺服器

?

?

?

訊息處理器

?

?

?

?

Qpid 伺服器

?

?

?

Postgres 伺服器

?

?

?

第三方服務

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

PostgreSQL 資料庫

?

?

Qpid

?

?

Nginx 路由器

?

?

?

一般而言,在 Apigee Edge 安裝完成後,您可以執行下列監控工作,追蹤 Apigee Edge 私人雲端安裝的效能。

系統健康狀態檢查

請務必在較高層級測量系統健康狀態參數,例如 CPU 使用率、記憶體使用率和通訊埠連線能力。您可以監控下列參數,取得系統健康狀態的基本概念。

  • 「CPU Utilization」 – 指定 CPU 使用率的基本統計資料 (使用者/系統/IO 等待/閒置)。例如系統使用的 CPU 總用量。
  • 「Free/Used Memory」:以位元組的形式指定系統記憶體使用率。 例如系統使用的實體記憶體。
  • 「磁碟空間使用情形」:根據目前的磁碟用量指定檔案系統資訊。例如系統使用的硬碟空間。
  • 「Load 平均」:指定等待執行的程序數量。
  • 網路統計資料 - 傳輸及接收的網路封包和/或位元組數,以及特定元件的傳輸錯誤。

程序/申請檢查

您可以在程序層級查看所有執行中程序的重要資訊。舉例來說,這些資料包括程序或應用程式使用的記憶體和 CPU 用量統計資料。針對 qpidd、postgres postmaster、java 等程序,您可以監控下列項目:

  • 程序識別:找出特定 Apigee 程序。舉例來說,您可以監控 Apigee 伺服器 Java 程序是否存在。
  • 執行緒統計資料:查看程序使用的基礎執行緒模式。舉例來說,您可以監控所有程序的尖峰執行緒數量和執行緒數量。
  • 記憶體使用率:查看所有 Apigee 程序的記憶體用量。 舉例來說,您可以監控程序使用的堆積記憶體用量、非堆積記憶體用量等參數。

API 級別檢查

在 API 層級,您可以監控伺服器是否正在啟動並執行,以使用 Apigee 提供的常用 API 呼叫。舉例來說,您可以叫用下列 cURL 指令,在管理伺服器、路由器和訊息處理器上執行 API 檢查:

curl http://<host>:<port>/v1/servers/self/up

其中 <host> 是 Apigee Edge 元件的 IP 位址。<通訊埠> 號碼專屬於每個 Edge 元件。例如:

管理伺服器:8080

  • 路由器:8081
  • 訊息處理器:8082
  • 其他

如要瞭解如何對各元件執行這個指令,請參閱以下各節

這個呼叫會傳回「true」和「false」。為獲得最佳結果,您也可以直接在後端 (Apigee 軟體與平台互動) 發出 API 呼叫,以快速判斷 Apigee 軟體環境或後端中是否存在錯誤。

注意:如要監控 API Proxy,您也可以使用 Apigee 的 API 健康狀態。API Health 會對您的 API Proxy 進行排定的呼叫,並在呼叫失敗和驗證方式時通知您。呼叫成功後,API Health 會顯示回應時間,甚至在回應延遲時間過長時通知您。API Health 可從世界各地的不同位置發出呼叫,比較不同區域的 API 行為。

郵件流程檢查

您可以從路由器和訊息處理器收集資料,瞭解訊息流程模式/統計資料。此機制可讓您監控下列項目:

  • 有效用戶端數量
  • 回應數量 (10X、20X、30X、40X 和 50X)
  • 連線失敗

這有助於您提供 API 訊息流程的資訊主頁。相關詳情請參閱:

訊息處理器的路由器健康狀態檢查

路由器會導入健康狀態檢查機制,判斷哪些訊息處理器正常運作。如果偵測到訊息處理器的執行速度過慢或緩慢,路由器可以自動將訊息處理器移出輪替。如果發生這種情況,路由器會將「標示下」訊息寫入位於 /opt/apigee/var/log/edge-router/logs/system.log 的路由器記錄檔。

您可以監控路由器記錄檔中是否有這些訊息。舉例來說,如果路由器將訊息處理器從輪替作業中移出,路由器會以下列格式將訊息寫入記錄:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

其中 /<MP_IP>:<PORT> 是訊息處理器的 IP 位址和通訊埠號碼。

如果路由器稍後會執行健康狀態檢查,且判定訊息處理器正常運作,路由器會自動將訊息處理器放回輪替作業。路由器也會以下列形式將「Mark Up」訊息寫入記錄:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up