监控 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 登录到数据库分析表空间使用情况
- 检查磁盘空间使用情况