Private Cloud v. 4.17.09 版本
在實際工作環境中,通常需要在 Apigee Edge 中為 Private Cloud 部署作業啟用監控機制。這些監控技術會向網路管理員 (或作業員) 發出錯誤或失敗警告。每個產生的錯誤都會在 Apigee Edge 中以快訊的形式回報。如要進一步瞭解快訊,請參閱「監控最佳做法」。
為方便起見,Apigee 元件主要分為兩類:
- Apigee 專用的 Java Server 服務:包含管理伺服器、訊息處理器、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 Router |
? |
? |
? |
一般來說,安裝 Apigee Edge 後,您可以執行下列監控工作,追蹤 Apigee Edge for Private Cloud 安裝作業的效能。
系統健康狀態檢查
在較高層級測量系統健康情況參數 (例如 CPU 使用率、記憶體使用率和連接埠連線) 非常重要。您可以監控下列參數,瞭解系統健康狀態的基本資訊。
- 「CPU Utilization」:指定 CPU 使用率的基本統計資料 (使用者/系統/IO 等待/閒置)。例如系統使用的 CPU 總數。
- 可用/已用記憶體:以位元組為單位指定系統記憶體使用率。例如系統使用的實體記憶體。
- 磁碟空間用量:根據目前的磁碟用量指定檔案系統資訊。例如系統使用的硬碟空間。
- 平均負載:指定等待執行的程序數量。
- 網路統計資料:傳送和接收的網路封包和/或位元組,以及特定元件的傳輸錯誤。
程序/應用程式檢查
您可以在程序層級查看所有執行程序的重要資訊。例如程序或應用程式使用的記憶體和 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 位址。<port> 編號是各 Edge 元件的專屬編號。例如:
管理伺服器:8080
- 路由器:8081
- 訊息處理器:8082
- 其他
如要瞭解如何針對各個元件執行這項指令,請參閱下方的各個章節
這個呼叫會傳回「true」和「false」,為獲得最佳結果,您也可以直接在後端 (與 Apigee 軟體互動) 發出 API 呼叫,以便快速判斷 Apigee 軟體環境或後端是否有錯誤。
注意:如要監控 API Proxy,您也可以使用 Apigee 的 API 健康狀態。API Health 會對 API Proxy 進行排程呼叫,並在發生失敗時通知您,並說明失敗原因。呼叫成功時,API Health 會顯示回應時間,甚至可在回應延遲時間過長時通知您。Health API 可從全球各地呼叫,比較各區域的 API 行為。
訊息流程檢查
您可以從路由器和訊息處理器收集訊息流量模式/統計資料。這可讓您監控下列項目:
- 有效用戶數
- 回應數量 (10 倍、20 倍、30 倍、40 倍和 50 倍)
- 連線失敗
這有助於提供 API 訊息流程的資訊主頁。若需更多資訊,請參閱:
- 如何監控訊息處理器
- 路由器的 Apigee 監控資訊主頁 Beta 版總覽
訊息處理工具的路由器健康狀態檢查
路由器會實作健康檢查機制,判斷哪些訊息處理器運作正常。如果系統偵測到 Message Processor 無法運作或速度緩慢,Router 可以自動將 Message Processor 從輪替中移除。如果發生這種情況,路由器會在 /opt/apigee/var/log/edge-router/logs/system.log 寫入「標示下」訊息至路由器記錄檔。
您可以監控 Router 記錄檔,瞭解這些訊息。舉例來說,如果 Router 將 Message Processor 從輪替中移除,則會以以下格式將訊息寫入記錄檔:
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 位址和通訊埠號碼。
如果 Router 稍後執行健康狀態檢查,並判斷 Message Processor 運作正常,Router 就會自動將 Message Processor 重新納入輪替。路由器也會以下列形式在記錄中寫入「標記」訊息:
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