監控最佳做法

私有雲的邊緣 4.16.05 版

監控快訊

透過 Apigee Edge,您可以在發生錯誤或因事件故障而發生錯誤時,將快訊轉寄至系統記錄檔或外部監控系統/工具。這些快訊可以是系統層級或應用程式層級的快訊/事件。應用程式層級快訊大多是根據產生的事件建立的自訂快訊。網路管理員通常會設定自訂條件。如要進一步瞭解快訊,請與 Apigee 支援團隊聯絡。

設定快訊門檻

設定快訊產生門檻。具體的設定取決於您的硬體設定?門檻值應與您的負荷能力相關,舉例來說,如果容量只有 6 GB,Apigee Edge 可能過低。指派門檻的方式可以是 (=) 或大於 (>) 條件。您也可以指定兩個連續產生快訊的時間間隔。您可以使用小時/分/秒選項。

設定系統層級快訊的條件

下表說明這些條件:

快訊

建議門檻

說明

記憶體不足

500MB

記憶體不足,無法啟動元件

磁碟空間不足 (/var/log)

8 GB

磁碟空間不足,

高負載

3+

等待執行的程序意外增加

程序已停止

無,此為 true 或 false 的布林值

系統中的 Apigee Java 程序已停止

檢查 Apigee 專屬與第三方通訊埠

監控下列通訊埠,確認這些通訊埠處於有效狀態

  • 管理伺服器、路由器和訊息處理器上的通訊埠 4526、4527 和 4528
  • 管理伺服器、路由器和訊息處理器上的通訊埠 1099、1100 和 1101
  • 路由器上的通訊埠 8081
  • 郵件處理器的通訊埠 8082 和 8998
  • 管理伺服器上的通訊埠 8080

請檢查下列第三方通訊埠,確認這些通訊埠處於有效狀態:

  • Qpid 通訊埠 5672
  • Postgres 通訊埠 5432
  • Cassandra 通訊埠 7000、7199、9042、9160
  • ZooKeeper 通訊埠 2181
  • OpenLDAP 通訊埠 10389

為了判斷每個 Apigee 元件用於監聽 API 呼叫的通訊埠,請向管理伺服器發出下列 API 呼叫 (通常位於通訊埠 8080):

curl -v -u <username>:<password> http://<host>:<port>/v1/servers?pod=gateway&region=dc-1
curl -v -u <username>:<password> http:// <host>:<port>/v1/servers?pod=central&region=dc-1
curl -v -u <username>:<password> http:// <host>:<port>/v1/servers?pod=analytics&region=dc-1

這些指令輸出內容會包含類似下方的區段。「http.management.port」區段會提供指定元件的通訊埠編號。

{
  "externalHostName" : "localhost",
  "externalIP" : "111.222.333.444",
  "internalHostName" : "localhost",
  "internalIP" : "111.222.333.444",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "default",
  "tags" : {
    "property" : [ {
      "name" : "Profile",
      "value" : "Router"
    }, {
      "name" : "rpc.port",
      "value" : "4527"
    }, {
      "name" : "http.management.port",
      "value" : "8081"
    }, {
      "name" : "jmx.rmi.port",
      "value" : "1100"
    } ]
  },
  "type" : [ "router" ],
  "uUID" : "2d4ec885-e20a-4173-ae87-10be38b35750"
}

查看記錄檔

記錄檔會追蹤系統事件/操作的相關訊息。程序開始和完成,或發生錯誤狀況時,訊息會顯示在記錄中。藉由查看記錄檔,您可以在取得失敗狀態前後取得系統元件的相關資訊,例如 CPU、記憶體、磁碟、負載、程序等。這也可讓您找出並診斷目前系統問題的來源,或協助您預測潛在系統問題。

舉例來說,元件的一般系統記錄包含下列項目:

TimeStamp = 25/01/13 19:25 ; NextDelay = 30
Memory
HeapMemoryUsage = {used = 29086176}{max = 64880640} ;    
NonHeapMemoryUsage = {init = 24313856}{committed = 57278464} ;
Threading
PeakThreadCount = 53 ; ThreadCount = 53 ;
OperatingSystem
SystemLoadAverage = 0.25 ;

您可以編輯 /<inst_root>/apigee/conf/logback.xml 檔案來控管記錄機制,而不必重新啟動伺服器。logback.xml 檔案包含下列屬性,可設定記錄機制檢查 logback.xml 檔案是否設定變更的頻率:

<configuration scan="true" scanPeriod="30 seconds" >

根據預設,記錄機制每分鐘檢查變更。如果省略 scanPeriod 屬性的時間單位,則預設值為毫秒。

下表顯示 Apigee Edge Private Cloud 元件的記錄檔位置。

元件

位置

管理伺服器

<inst_root>/apigee/var/log/edge-management-server

路由器

<inst_root>/apigee/var/log/edge-router

訊息處理器

<inst_root>/apigee/var/log/edge-message-processor

Qpid 伺服器

<inst_root>/apigee/var/log/edge-qpid-server

Apigee Postgres 伺服器

<inst_root>/apigee/var/log/edge-postgres-server

Edge UI

<inst_root>/apigee/var/log/edge-ui

ZooKeeper

<inst_root>/apigee/var/log/apigee-zookeeper

OpenLDAP

<inst_root>/apigee/var/log/apigee-openldap

Cassandra

<inst_root>/apigee/var/log/apigee-cassandra

克皮德

<inst_root>/apigee/var/log/apigee-qpidd

PostgreSQL 資料庫

<inst_root>/apigee/var/log/apigee-postgresql

為訊息處理器和邊緣使用者介面啟用偵錯記錄檔

如何啟用訊息處理器的偵錯記錄:

  1. 在訊息處理器節點上編輯 /<install_dir>/apigee/customer/application/messsage-processor.properties。 如果該檔案不存在,請建立一個。
  2. 在檔案中新增以下屬性:
    conf_system_log.level=DEBUG
  3. 重新啟動訊息處理器:
    > /<install_dir>/apigee/apigee-service/bin/apigee-service Edge-message-processor 重新啟動

如何啟用 Edge UI 的偵錯記錄:

  1. 在 Edge UI 節點上編輯 /<install_dir>/apigee/customer/application/ui.properties。 如果該檔案不存在,請建立一個。
  2. 在檔案中新增下列屬性:
    conf_application_logger.application=DEBUG
  3. 重新啟動 Edge UI:
    > /<install_dir>/apigee/apigee-service/bin/apigee-service Edge-ui restart

監控工具

Nagios、Collectd、Graphite、Splunk、Sumologic 和 Monit 等開放原始碼監控工具可協助您監控整個企業環境和業務流程。

元件

Nagios

已收集

Splunk

系統層級檢查

CPU 使用率

?

?

可用記憶體

?

?

磁碟空間用量

?

?

網路統計資料

?

?

程序

?

API 檢查

?

JMX

?

Java

?

記錄檔

?

重要事件

達到頻率限制

?

無法連線至後端伺服器 (Hybris 或 SharePoint)

?

無法連上 FaaS (STS)

?

警告事件

無法連上 SMTP 伺服器

?

違反服務水準協議

?