143 lines
4.2 KiB
Markdown
143 lines
4.2 KiB
Markdown
# HCP 技术栈可观察性架构规划
|
||
|
||
## 📋 当前状态总结
|
||
|
||
### ✅ 已完成的工作
|
||
1. **ash2e 实例重建** - Ubuntu 24.04 LTS,IPv6 支持
|
||
2. **HashiCorp 工具安装** - Consul, Nomad, Vault 原生客户端
|
||
3. **现代化工具配置** - zsh + oh-my-zsh, tree, htop, neofetch
|
||
4. **Tailscale 网络** - 已加入网络,hostname 正确
|
||
5. **SSH 配置** - ben 用户无密码登录
|
||
6. **Ansible 配置** - inventory 已更新
|
||
|
||
### ❌ 当前问题
|
||
1. **监控架构混乱** - InfluxDB + Telegraf + Grafana 混合架构
|
||
2. **Nomad 驱动问题** - Podman 驱动未正确配置
|
||
3. **服务部署失败** - 监控栈无法部署到 Nomad
|
||
|
||
## 🎯 目标架构
|
||
|
||
### 监控技术栈
|
||
```
|
||
┌─────────────────┬─────────────────┬─────────────────┐
|
||
│ 数据收集层 │ 数据存储层 │ 可视化层 │
|
||
├─────────────────┼─────────────────┼─────────────────┤
|
||
│ node_exporter │ Prometheus │ Grafana │
|
||
│ consul_exporter │ InfluxDB 2.x │ (保留现有) │
|
||
│ nomad_exporter │ (保留现有) │ │
|
||
│ vault_exporter │ │ │
|
||
└─────────────────┴─────────────────┴─────────────────┘
|
||
```
|
||
|
||
### 部署策略
|
||
- **容器化部署** - 所有监控服务通过 Podman 容器化
|
||
- **Nomad 管理** - 使用 Nomad 作业管理所有监控服务
|
||
- **PVE 高可用** - 利用 Proxmox 的 HA 特性,避免软件层复杂化
|
||
|
||
## 📝 下一步行动计划
|
||
|
||
### 优先级 1: 修复 Nomad Podman 驱动
|
||
```bash
|
||
# 检查所有节点的 Podman 驱动配置
|
||
nomad node status -self
|
||
nomad node config -self
|
||
|
||
# 确保 Podman socket 正确配置
|
||
systemctl status podman.socket
|
||
ls -la /run/podman/podman.sock
|
||
```
|
||
|
||
### 优先级 2: 部署监控栈
|
||
```bash
|
||
# 部署 Grafana + Prometheus + Node Exporter
|
||
nomad job run monitoring-stack.nomad
|
||
|
||
# 验证服务状态
|
||
nomad job status monitoring-stack
|
||
nomad service list
|
||
```
|
||
|
||
### 优先级 3: 配置数据源集成
|
||
```yaml
|
||
# Grafana 数据源配置
|
||
datasources:
|
||
- Prometheus (主要)
|
||
- InfluxDB (保留现有数据)
|
||
```
|
||
|
||
### 优先级 4: 扩展监控指标
|
||
```yaml
|
||
# 监控目标
|
||
- Consul 集群健康
|
||
- Nomad 作业状态
|
||
- Vault 密钥轮换
|
||
- Traefik 路由指标
|
||
- 系统资源使用
|
||
```
|
||
|
||
## 🔧 技术细节
|
||
|
||
### Nomad 作业配置
|
||
- **驱动**: `podman` (替代 `exec`)
|
||
- **网络**: Tailscale 网络集成
|
||
- **存储**: Host volumes 持久化
|
||
- **服务发现**: Consul 自动注册
|
||
|
||
### 监控指标
|
||
- **系统指标**: CPU, 内存, 磁盘, 网络
|
||
- **服务指标**: Consul, Nomad, Vault 健康状态
|
||
- **业务指标**: 应用性能, 错误率, 响应时间
|
||
|
||
### 告警规则
|
||
- **系统告警**: 资源使用率 > 80%
|
||
- **服务告警**: 服务健康检查失败
|
||
- **业务告警**: 关键指标异常
|
||
|
||
## 📊 预期成果
|
||
|
||
### 短期目标 (1-2 周)
|
||
- ✅ 统一监控架构
|
||
- ✅ 所有服务容器化
|
||
- ✅ 基础监控仪表板
|
||
|
||
### 中期目标 (1 个月)
|
||
- ✅ 完整监控覆盖
|
||
- ✅ 告警规则配置
|
||
- ✅ 性能优化
|
||
|
||
### 长期目标 (3 个月)
|
||
- ✅ 自动化运维
|
||
- ✅ 预测性监控
|
||
- ✅ 成本优化
|
||
|
||
## 🚨 风险与挑战
|
||
|
||
### 技术风险
|
||
- **数据迁移** - InfluxDB 现有数据保留
|
||
- **服务中断** - 监控服务切换期间
|
||
- **性能影响** - 监控服务资源消耗
|
||
|
||
### 解决方案
|
||
- **渐进式迁移** - 逐步替换现有监控
|
||
- **备份策略** - 关键数据备份
|
||
- **资源监控** - 监控服务自身监控
|
||
|
||
## 📚 相关文档
|
||
|
||
### 配置文件
|
||
- `monitoring-stack.nomad` - 监控栈 Nomad 作业
|
||
- `prometheus.yml` - Prometheus 配置
|
||
- `grafana-datasources.yml` - Grafana 数据源
|
||
|
||
### 参考资源
|
||
- [Prometheus 官方文档](https://prometheus.io/docs/)
|
||
- [Grafana 官方文档](https://grafana.com/docs/)
|
||
- [Nomad Podman 驱动](https://developer.hashicorp.com/nomad/docs/drivers/podman)
|
||
|
||
---
|
||
|
||
**移交时间**: 2025-10-10 02:40 UTC
|
||
**当前状态**: 监控栈部署遇到 Podman 驱动问题
|
||
**下一步**: 修复 Nomad Podman 驱动配置
|
||
**负责人**: Next Session
|