📅 Prometheus 监控服务器
EdgeHit 集成了由 Prometheus、Grafana 和 Alertmanager 组成的完整监控告警体系。这些组件协同工作,追踪系统指标、可视化运行状态,并在基础设施出现潜在问题时向管理员发出警报。
虽然通常简称为 Prometheus 服务器,但该体系实际包含多个关键组件——Prometheus、Grafana 和 Alertmanager——共同协作。
技术上 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 发送通知,确保值班团队及时响应


