Files
Distributed-Prometheus/doc/BEST_PRACTICES.md
root c4825c2d27 feat: 引入 vmauth 鉴权与严格多租户
- 对外端口统一为 18428(vmauth 入口),VM 不再直接暴露宿主机端口
- 边缘 vmagent 与中央 Prometheus remote_write 增加 basic auth
- 支持 tenants.csv 驱动的 per-tenant 写入/查询隔离,并提供管理员跨租户只读查询
- 更新 Grafana provisioning 与部署/文档

Made-with: Cursor
2026-04-22 11:41:13 +00:00

4.9 KiB
Raw Blame History

最佳实践指南

部署最佳实践

1. 资源规划

中央服务器

推荐配置

  • CPU: 4 核+
  • 内存: 8GB+
  • 磁盘: 100GB+(用于数据存储)
  • 网络: 100Mbps+

数据存储

  • 所有数据存储在 /storage 分区
  • 建议使用 SSD 提高性能
  • 定期清理旧数据

边缘节点

推荐配置

  • CPU: 2 核+
  • 内存: 2GB+
  • 磁盘: 10GB+(临时存储)
  • 网络: 10Mbps+(用于数据推送)

资源限制

  • 已在 docker-compose.yml 中配置资源限制
  • 可根据实际硬件调整

2. 网络配置

防火墙规则

中央服务器

# 开放端口
firewall-cmd --permanent --add-port=3000/tcp   # Grafana
firewall-cmd --permanent --add-port=9091/tcp   # Prometheus
firewall-cmd --permanent --add-port=18428/tcp  # VictoriaMetrics
firewall-cmd --permanent --add-port=9093/tcp   # Alertmanager
firewall-cmd --reload

边缘节点

  • 不需要开放端口(只做数据推送)
  • 确保可以访问中央服务器 18428 端口

网络优化

  • 使用内网通信(如果可能)
  • 配置网络 QoS确保监控数据优先级
  • 使用 VPN 或专线(跨网络部署)

3. 安全配置

密码安全

  • 修改 Grafana 默认密码
  • 使用强密码
  • 定期更换密码
  • 不要在配置文件中硬编码密码

访问控制

  • 配置 Grafana 多用户和权限
  • 限制 Prometheus 访问(仅内网)
  • 使用 HTTPS生产环境
  • 配置防火墙规则

数据安全

  • 定期备份配置文件
  • 定期备份数据目录
  • 加密敏感数据(如设备密码)

4. 监控配置

监控目标数量

建议

  • 单边缘节点:不超过 100 个目标
  • 中央服务器:可支持数千个目标
  • 根据硬件性能调整

抓取间隔

建议

  • 关键指标15-30 秒
  • 一般指标60-120 秒
  • 网络探测300 秒5 分钟)

数据保留

中央服务器

  • Prometheus: 30 天
  • VictoriaMetrics: 30 天

边缘节点

  • Prometheus: 1 小时(只做临时存储)

5. 告警配置

告警规则设计

原则

  • 避免告警风暴
  • 设置合理的持续时间阈值
  • 使用告警抑制规则
  • 区分严重程度critical/warning

通知渠道

推荐配置

  • Critical 告警:立即通知(短信、电话)
  • Warning 告警:邮件、企业微信
  • 使用告警分组减少通知数量

告警测试

  • 定期测试告警规则
  • 验证通知渠道
  • 检查告警抑制规则

6. 性能优化

Prometheus 优化

  • 减少不必要的标签
  • 使用 recording rules 预计算指标
  • 合理设置抓取间隔
  • 使用远程写入减少本地存储压力

VictoriaMetrics 优化

  • 根据数据量调整保留时间
  • 定期清理旧数据
  • 监控存储空间使用

Grafana 优化

  • 限制仪表板面板数量
  • 使用数据源缓存
  • 优化查询表达式
  • 使用变量减少查询次数

7. 备份和恢复

配置文件备份

# 备份所有配置文件
tar -czf config-backup-$(date +%Y%m%d).tar.gz \
  central-server/config/ \
  edge-agent/config/

数据备份

# 备份数据目录
tar -czf data-backup-$(date +%Y%m%d).tar.gz \
  /storage/prometheus-data \
  /storage/grafana-data \
  /storage/victoria-metrics-data

恢复步骤

  1. 停止所有服务
  2. 恢复配置文件
  3. 恢复数据目录
  4. 重启服务
  5. 验证数据完整性

8. 监控和维护

监控系统自身

  • 监控 Prometheus 自身指标
  • 监控 VictoriaMetrics 性能
  • 监控 Grafana 性能
  • 监控磁盘空间使用

定期维护

  • 每周检查日志
  • 每月检查磁盘空间
  • 每季度更新镜像版本
  • 定期测试告警规则

9. 扩展性考虑

水平扩展

  • 可以部署多个边缘节点
  • 每个边缘节点有唯一标识
  • 中央服务器可以接收多个边缘节点数据

垂直扩展

  • 增加中央服务器资源
  • 增加数据保留时间
  • 增加监控目标数量

10. 故障恢复

服务恢复

# 重启所有服务
docker compose restart

# 重启特定服务
docker compose restart prometheus-central

# 完全重建
docker compose down
docker compose up -d

数据恢复

  • 从备份恢复数据
  • 检查数据完整性
  • 验证监控目标状态

生产环境检查清单

部署前

  • 硬件资源充足
  • 网络配置正确
  • 防火墙规则配置
  • 备份策略制定
  • 监控告警配置

部署后

  • 所有服务正常运行
  • 数据正常推送
  • 告警规则激活
  • 通知渠道测试
  • 性能监控正常

运行中

  • 定期检查日志
  • 监控磁盘空间
  • 检查告警状态
  • 验证数据完整性
  • 更新文档

相关文档

  • 部署指南doc/DEPLOYMENT_GUIDE.md
  • 故障排查doc/TROUBLESHOOTING.md
  • 系统架构doc/ARCHITECTURE.md