跳转至

📅 Prometheus 监控服务器

EdgeHit 集成了由 PrometheusGrafanaAlertmanager 组成的完整监控告警体系。这些组件协同工作,追踪系统指标、可视化运行状态,并在基础设施出现潜在问题时向管理员发出警报。

虽然通常简称为 Prometheus 服务器,但该体系实际包含多个关键组件——PrometheusGrafanaAlertmanager——共同协作。

技术上 Prometheus 服务器 可与 EdgeHit Controller 同机部署,但在生产环境中通常独立部署以优化性能、扩展性和资源管理。

📈 Prometheus 监控核心

Prometheus 作为 EdgeHit 的中央监控系统,收集和存储所有节点与服务的时间序列指标。

监控面板

  • 极简配置:部署时仅包含基础配置,主要从 EdgeHit Controller 节点的 Node Exporter 抓取指标
  • Load Proxy 节点动态注册:提供定制 Python 脚本自动将新 Load Proxy 节点加入 Prometheus 配置。该脚本读取节点元数据并动态更新 prometheus.yml 文件,无需人工干预

    ℹ️ :脚本使用方法和配置详见《运维指南》章节,其中说明了如何自动集成新 Load Proxy 节点

  • 数据收集:Prometheus 定期从 Node Exporter 抓取指标,包括 CPU 使用率、内存、磁盘 I/O 和网络流量等系统级数据
  • 访问方式:通过 0.0.0.0:9090 访问,采用预共享密钥(PSK)HTTP 认证保护。PSK 在部署时随机生成并安全存储在 .env 文件中

    ℹ️ :网页界面仅限查看现有告警监控目标配置详情。增减监控目标等配置变更必须通过预设脚本完成

  • 应用场景:持续监控 Load Proxy 和 EdgeHit Controller 性能。CPU 负载磁盘使用率等指标帮助定位资源瓶颈。数据供给 Grafana 可视化,同时支持编写高级查询进行数据分析


📊 Grafana 可视化平台

Grafana 作为 EdgeHit 可观测性体系的可视化平台,连接 Prometheus 并提供定制化运维监控看板。

数据看板

  • 默认认证:部署时生成管理员账号密码,存储在 .env 文件
  • 数据源:通过 Docker 网络连接本地 Prometheus 服务
  • 告警功能:支持在指标上定义告警阈值。当监控指标(如 CPU 使用率、Nginx 缓存未命中)超过阈值时,可通过 Alertmanager 触发告警
  • 访问方式:通过 0.0.0.0:3000 访问,使用初始账号密码登录


🚨 Alertmanager 告警管理

Alertmanager 集成于监控体系,专用于处理 EdgeHit 环境关键事件的告警路由、聚合和通知。

告警中心

  • 告警分组与静默:支持将多个告警合并为单条通知,并可在维护窗口期静默特定告警以减少干扰
  • 通知渠道:支持将告警路由至多种终端:
    • PagerDuty:在值班系统创建事件
    • Slack:发送告警至指定频道提升团队可见性
  • 应用场景:当 Load Proxy 节点出现资源过载时,Alertmanager 立即通过 PagerDuty 发送通知,确保值班团队及时响应