監控 OpenResty Edge

本文件提供了全面的 OpenResty Edge 監控解決方案,幫助您實時掌握系統狀態,及時發現並解決潛在問題。

監控架構概述

主要需要監控 OpenResty Edge 的以下幾個方面,優先順序從前到後:

  1. 配置同步監控:確保配置正確同步到所有節點
  2. 應用級監控:Edge Admin、Edge Node、Edge Log Server 等元件狀態監控
  3. 系統級監控:CPU、記憶體、磁碟、網路等基礎資源監控
  4. 錯誤日誌監控:錯誤日誌收集與分析
  5. 業務級監控:請求量、響應時間、錯誤率等業務指標監控

OpenResty Edge 上的訊息推送

OpenResty Edge 內建了強大的訊息推送機制,可以直接將系統狀態變化推送到外部系統。

配置文件參考

支援的告警型別

支援包括但不限於以下型別的訊息推送:

  • 閘道器節點 CPU 使用率大於 80%
  • 閘道器節點記憶體使用率大於 90%
  • 閘道器節點日誌磁碟使用率大於 90%
  • 閘道器節點心跳狀態變化
  • 閘道器節點健康檢查狀態變化
  • 新配置釋出

同步狀態監控

配置同步是 OpenResty Edge 的核心功能,監控配置同步狀態對保證系統正常執行至關重要。

Prometheus 指標監控

  • 啟用 Prometheus 指標:在 Edge Admin 上開啟 Prometheus 指標

    配置可信的 IP,路徑:Edge Admin > 全域性配置 > 全域性指標 > “OpenResty Edge Admin” 選項卡:

  • 指標輸出示例

    # HELP service_status Service status
    # TYPE service_status gauge
    service_status{type="log_server_offline"} 0 1741597233000
    service_status{type="log_server_db_offline"} 0 1741597233000
    # HELP config_sync_delay Configuration sync delay
    # TYPE config_sync_delay gauge
    config_sync_delay{hostname="oredge-node-1",internal_ip="172.17.0.6",external_ip="172.17.0.6"} 6 1741597233000
    

    示例中,名為 “oredge-node-1” 的 Edge Node,落後了 6 個配置變更。

  • 告警規則示例

    • config_sync_delay > 100 配置延遲超過閾值 100 持續 5 分鐘後進行告警

資料庫監控

OpenResty Edge 依賴 PostgreSQL 資料庫,建議採取以下措施:

高可用配置

優先配置資料庫高可用,可參考以下兩個文件:

關鍵監控指標

  • 連線數:監控活躍連線和最大連線數比例
  • 系統資源:CPU 使用率、磁碟空間使用率、記憶體使用率

資料庫維護

  • 定期備份:每日全量備份 Edge Admin 資料庫,定期在測試環境進行恢復測試
    • 注意:Edge Log Server 資料庫不含主要配置,可不進行冷備

系統負載監控

對 OpenResty Edge 所有元件進行系統負載監控,確保及時發現故障服務。

基礎資源監控

監控項警戒值告警值監控方式
CPU 使用率80%90%雲平臺監控或自定義指令碼
記憶體使用率85%95%雲平臺監控或自定義指令碼
磁碟使用率80%90%雲平臺監控或自定義指令碼
網路頻寬使用率80%90%雲平臺監控或自定義指令碼

可利用 AWS、GCP、阿里雲、Azure 等雲廠商提供的監控服務,或自行編寫指令碼定期執行監控。

錯誤日誌監控

OpenResty Edge 會收集自身的錯誤日誌,您可以透過 Edge Admin > 控制面板 > 錯誤日誌 檢視。 但目前 OpenResty Edge 暫未提供對自身錯誤的告警機制,因此需要對日誌檔案中出現的不常見錯誤進行額外告警。

日誌收集路徑

使用 Filebeat 等工具收集以下路徑的日誌:

元件錯誤日誌路徑
Edge Admin/usr/local/oredge-admin/logs/error.log
Edge Node/usr/local/oredge-node/logs/error.log
Edge Log Server/usr/local/oredge-log-server/logs/error.log

日誌告警策略

  • 過濾日誌輪轉、配置熱更新等正常操作產生的日誌
  • 重點關注並對列印了堆疊等異常情況進行告警

業務監控

您可以使用以下兩種方式對業務進行監控:

訪問日誌分析

收集以下路徑的訪問日誌進行分析:

元件訪問日誌路徑
Edge Admin/usr/local/oredge-admin/logs/access.log
Edge Node/usr/local/oredge-node/logs/access.log
Edge Log Server/usr/local/oredge-log-server/logs/access.log

透過訪問日誌分析 QPS、請求狀態分佈、URI 分佈等。

動態指標監控

在 OpenResty Edge 中按需開啟動態指標。

注意:開啟動態指標可能導致 Edge Log Server 資料庫佔用大量磁碟空間,請確保 Edge Log Server 資料庫所在裝置有足夠的硬碟空間。

常見問題排查指南

配置同步問題

症狀:Edge Node 配置同步延遲大

可能原因

  • Edge Node 與 Edge Admin 網路連線不穩定
  • Edge Admin 資料庫負載過高
  • Edge Node 負載過高,處理同步請求緩慢
  • Edge Node 下線太久,失去同步
  • Edge Admin 配置變更太快,增量同步配置被清理,Edge Node 未能進行增量同步

排查步驟

  1. 檢視 Edge Admin 和 Edge Node 日誌
  2. 檢查網路連線狀態
  3. 檢查資料庫效能指標

資料庫問題

症狀:Edge Admin 或 Edge Log Server 響應慢

可能原因

  • 資料庫表資料量太大導致查詢效能下降
  • 網路連線狀態不佳
  • 資料庫空間不足
  • 連線數過多
  • PostgreSQL 資料庫正在進行空間最佳化任務

排查步驟

  1. 檢視 Edge Admin 和 Edge Node 日誌
  2. 使用 psql 登入到資料庫分析表空間使用情況
  3. 檢查磁碟空間使用情況