监控 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. 检查磁盘空间使用情况