監控 OpenResty Edge
本文件提供了全面的 OpenResty Edge 監控解決方案,幫助您實時掌握系統狀態,及時發現並解決潛在問題。
監控架構概述
主要需要監控 OpenResty Edge 的以下幾個方面,優先順序從前到後:
- 配置同步監控:確保配置正確同步到所有節點
- 應用級監控:Edge Admin、Edge Node、Edge Log Server 等元件狀態監控
- 系統級監控:CPU、記憶體、磁碟、網路等基礎資源監控
- 錯誤日誌監控:錯誤日誌收集與分析
- 業務級監控:請求量、響應時間、錯誤率等業務指標監控
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 未能進行增量同步
排查步驟:
- 檢視 Edge Admin 和 Edge Node 日誌
- 檢查網路連線狀態
- 檢查資料庫效能指標
資料庫問題
症狀:Edge Admin 或 Edge Log Server 響應慢
可能原因:
- 資料庫表資料量太大導致查詢效能下降
- 網路連線狀態不佳
- 資料庫空間不足
- 連線數過多
- PostgreSQL 資料庫正在進行空間最佳化任務
排查步驟:
- 檢視 Edge Admin 和 Edge Node 日誌
- 使用 psql 登入到資料庫分析表空間使用情況
- 檢查磁碟空間使用情況