# 最佳实践指南 ## 部署最佳实践 ### 1. 资源规划 #### 中央服务器 **推荐配置**: - CPU: 4 核+ - 内存: 8GB+ - 磁盘: 100GB+(用于数据存储) - 网络: 100Mbps+ **数据存储**: - 所有数据存储在 `/storage` 分区 - 建议使用 SSD 提高性能 - 定期清理旧数据 #### 边缘节点 **推荐配置**: - CPU: 2 核+ - 内存: 2GB+ - 磁盘: 10GB+(临时存储) - 网络: 10Mbps+(用于数据推送) **资源限制**: - 已在 `docker-compose.yml` 中配置资源限制 - 可根据实际硬件调整 --- ### 2. 网络配置 #### 防火墙规则 **中央服务器**: ```bash # 开放端口 firewall-cmd --permanent --add-port=3000/tcp # Grafana firewall-cmd --permanent --add-port=9091/tcp # Prometheus firewall-cmd --permanent --add-port=8428/tcp # VictoriaMetrics firewall-cmd --permanent --add-port=9093/tcp # Alertmanager firewall-cmd --reload ``` **边缘节点**: - 不需要开放端口(只做数据推送) - 确保可以访问中央服务器 8428 端口 #### 网络优化 - 使用内网通信(如果可能) - 配置网络 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. 备份和恢复 #### 配置文件备份 ```bash # 备份所有配置文件 tar -czf config-backup-$(date +%Y%m%d).tar.gz \ central-server/config/ \ edge-agent/config/ ``` #### 数据备份 ```bash # 备份数据目录 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. 故障恢复 #### 服务恢复 ```bash # 重启所有服务 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`