410 lines
13 KiB
Markdown
410 lines
13 KiB
Markdown
|
|
# 🦟 蚊子项目 - 运维检查清单
|
|||
|
|
|
|||
|
|
**清单版本**: v2.0
|
|||
|
|
**创建日期**: 2026-01-21
|
|||
|
|
**适用环境**: 生产环境
|
|||
|
|
**检查频率**: 每日 + 发布前
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📋 检查概览
|
|||
|
|
|
|||
|
|
### 检查维度
|
|||
|
|
|
|||
|
|
| 维度 | 检查项数 | 通过率 | 状态 |
|
|||
|
|
|------|----------|--------|------|
|
|||
|
|
| **系统健康** | 15项 | - | ⏳ 待检查 |
|
|||
|
|
| **性能监控** | 12项 | - | ⏳ 待检查 |
|
|||
|
|
| **安全合规** | 18项 | - | ⏳ 待检查 |
|
|||
|
|
| **数据安全** | 10项 | - | ⏳ 待检查 |
|
|||
|
|
| **运维自动化** | 8项 | - | ⏳ 待检查 |
|
|||
|
|
| **备份恢复** | 7项 | - | ⏳ 待检查 |
|
|||
|
|
|
|||
|
|
**总计**: 70项检查项
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🏥️ 一、系统健康检查
|
|||
|
|
|
|||
|
|
### 1.1 服务状态检查
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| 应用服务运行状态 | `curl http://localhost:8080/actuator/health` | UP | ⏳ | - |
|
|||
|
|
| 数据库连接状态 | `curl http://localhost:8080/actuator/health/db` | UP | ⏳ | - |
|
|||
|
|
| Redis连接状态 | `curl http://localhost:8080/actuator/health/redis` | UP | ⏳ | - |
|
|||
|
|
| 磧存命中率 | Redis CLI: `info stats` | >80% | ⏳ | - |
|
|||
|
|
| JVM堆内存使用 | `curl http://localhost:8080/actuator/health/jvm` | <80% | ⏳ | - |
|
|||
|
|
| 应用启动时间 | `curl http://localhost:8080/actuator/health/liveness` | < 60s | ⏳ | - |
|
|||
|
|
| 依赖服务状态 | `curl http://localhost:8080/actuator/health/readiness` | UP | ⏳ | - |
|
|||
|
|
|
|||
|
|
### 1.2 基础设施检查
|
|||
|
|
|
|||
|
|
| 检查项 | 检查命令 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| CPU使用率 | `top` 或 `htop` | < 70% | ⏳ | - |
|
|||
|
|
| 内存使用率 | `free -h` | < 80% | ⏳ | - |
|
|||
|
|
| 磁盘空间使用率 | `df -h` | < 80% | ⏳ | - |
|
|||
|
|
| 网络连接状态 | `ping 8.8.8.8` | 正常 | ⏳ | - |
|
|||
|
|
| 防火墙状态 | `ufw status` | 正常 | ⏳ | - |
|
|||
|
|
| 系统时间同步 | `timedatectl status` | 同步 | ⏳ | - |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 二、性能监控检查
|
|||
|
|
|
|||
|
|
### 2.1 应用性能指标
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 目标值 | 实际值 | 状态 |
|
|||
|
|
|--------|----------|--------|--------|------|
|
|||
|
|
| API响应时间 | Grafana Dashboard | < 200ms | ⏳ | - |
|
|||
|
|
| API错误率 | Grafana Dashboard | < 0.1% | ⏳ | - |
|
|||
|
|
| 吞吐量 | Grafana Dashboard | > 500 QPS | ⏳ | - |
|
|||
|
|
| 数据库连接池使用率 | Grafana Dashboard | < 80% | ⏳ | - |
|
|||
|
|
| 数据库查询时间 | Grafana Dashboard | < 100ms | ⏳ | - |
|
|||
|
|
| 缓存命中率 | Grafana Dashboard | > 80% | ⏳ | - |
|
|||
|
|
| GC停顿时间 | Grafana Dashboard | < 100ms | ⏳ | - |
|
|||
|
|
|
|||
|
|
### 2.2 前端性能指标
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 目标值 | 实际值 | 状态 |
|
|||
|
|
|--------|----------|--------|--------|------|
|
|||
|
|
| 首页加载时间 | Lighthouse | < 2s | ⏳ | - |
|
|||
|
|
| 首屏渲染时间 | Lighthouse | < 1.5s | ⏳ | - |
|
|||
|
|
| JavaScript执行时间 | Lighthouse | < 200ms | ⏳ | - |
|
|||
|
|
| 资源加载优化 | Lighthouse | 绿色评分 | ⏳ | - |
|
|||
|
|
| 图片优化率 | PageSpeed Insights | > 80% | ⏳ | - |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔒 三、安全合规检查
|
|||
|
|
|
|||
|
|
### 3.1 应用安全
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| API密钥安全 | 代码审查 | 前缀8位,强加密 | ⏳ | - |
|
|||
|
|
| 输入验证 | 代码审查 | 完整验证 | ⏳ | - |
|
|||
|
|
| SQL注入防护 | OWASP扫描 | 无漏洞 | ⏳ | - |
|
|||
|
|
| XSS防护 | OWASP扫描 | 无漏洞 | ⏳ | - |
|
|||
|
|
| CSRF防护 | OWASP扫描 | 有保护 | ⏳ | - |
|
|||
|
|
| 文件上传安全 | 代码审查 | 类型限制+扫描 | ⏳ | - |
|
|||
|
|
|
|||
|
|
### 3.2 网络安全
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| HTTPS证书状态 | `curl -I https://api.example.com` | 有效 | ⏳ | - |
|
|||
|
|
| TLS配置 | SSL Labs Test | A+ | ⏳ | - |
|
|||
|
|
| 端口开放扫描 | `nmap -sS` | 只开放必要端口 | ⏳ | - |
|
|||
|
|
| 防火墙规则 | `iptables -L` | 只允许必要流量 | ⏳ | - |
|
|||
|
|
| 速率限制 | 负载测试 | 有效拦截 | ⏳ | - |
|
|||
|
|
|
|||
|
|
### 3.3 数据安全
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| 数据库访问控制 | 代码审查 | 最小权限 | ⏳ | - |
|
|||
|
|
| 敏感数据加密 | 代码审查 | 字段级加密 | ⏳ | - |
|
|||
|
|
| 审计日志 | 日志检查 | 完整记录 | ⏳ | - |
|
|||
|
|
| 数据备份加密 | 备份检查 | 加密存储 | ⏳ | - |
|
|||
|
|
| GDPR合规 | 合规审查 | 符合要求 | ⏳ | - |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔒 四、数据安全检查
|
|||
|
|
|
|||
|
|
### 4.1 数据完整性
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| 外键约束 | 数据库检查 | 完整约束 | ⏳ | - |
|
|||
|
|
| 数据一致性 | 数据库脚本 | 一致性验证 | ⏳ | - |
|
|||
|
|
| 事务完整性 | 代码审查 | 正确使用 | ⏳ | - |
|
|||
|
|
| 幂等性保证 | 接口测试 | 幂等实现 | ⏳ | - |
|
|||
|
|
|
|||
|
|
### 4.2 数据备份
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| 数据库备份状态 | 备份脚本 | 成功执行 | ⏳ | - |
|
|||
|
|
| 备份文件完整性 | 校验脚本 | 完整无损坏 | ⏳ | - |
|
|||
|
|
| 备份恢复测试 | 恢复测试 | 成功恢复 | ⏳ | - |
|
|||
|
|
| 备份保留策略 | 配置检查 | 30天滚动 | ⏳ | - |
|
|||
|
|
| 异地备份 | 备份脚本 | 异地安全存储 | ⏳ | - |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚙️ 五、运维自动化检查
|
|||
|
|
|
|||
|
|
### 5.1 部署自动化
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| Docker配置完整性 | Dockerfile检查 | 多环境支持 | ⏳ | - |
|
|||
|
|
| CI/CD流水线 | GitHub Actions | 完整流程 | ⏳ | - |
|
|||
|
|
| 自动化测试 | 流水线检查 | 全量执行 | ⏳ | - |
|
|||
|
|
| 滚动更新机制 | 流水线检查 | 自动部署 | ⏳ | - |
|
|||
|
|
| 回滚机制 | 脚本测试 | 快速回滚 | ⏳ | - |
|
|||
|
|
|
|||
|
|
### 5.2 监控告警
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| 监控配置完整性 | Grafana检查 | 全量监控 | ⏳ | - |
|
|||
|
|
| 告警规则覆盖 | 规则审查 | 全场景覆盖 | ⏳ | - |
|
|||
|
|
| 告警通道测试 | 告警测试 | 多渠道通畅 | ⏳ | - |
|
|||
|
|
| 监控数据准确性 | 数据校验 | 准确可靠 | ⏳ | - |
|
|||
|
|
| 通知及时性 | 响应时间 < 5分钟 | ⏳ | - |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💾 六、备份恢复检查
|
|||
|
|
|
|||
|
|
### 6.1 备份策略
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| 数据库备份频率 | 脚本检查 | 每日 | ⏳ | - |
|
|||
|
|
| 配置文件备份 | 备份检查 | 每次变更 | ⏳ | - |
|
|||
|
|
| 日志备份策略 | 日志配置 | 每日轮转 | ⏳ | - |
|
|||
|
|
| 备份存储位置 | 备份检查 | 异地安全 | ⏳ | - |
|
|||
|
|
|
|||
|
|
### 6.2 恢复验证
|
|||
|
|
|
|||
|
|
| 检查项 | 检查方法 | 预期结果 | 实际状态 | 备注 |
|
|||
|
|
|--------|----------|----------|----------|------|
|
|||
|
|
| 数据库恢复测试 | 恢复演练 | 30分钟内完成 | ⏳ | - |
|
|||
|
|
| 应用恢复测试 | 部署测试 | 10分钟内完成 | ⏳ | - |
|
|||
|
|
| 配置恢复测试 | 恢复演练 | 5分钟内完成 | ⏳ | - |
|
|||
|
|
| 灢复文档完整性 | 文档检查 | 详细的操作指南 | ⏳ | - |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📈 检查工具和脚本
|
|||
|
|
|
|||
|
|
### 7.1 自动化检查脚本
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
#!/bin/bash
|
|||
|
|
# ops-checklist.sh - 系统健康检查脚本
|
|||
|
|
|
|||
|
|
echo "🦟 蚊子项目 - 运维检查开始 $(date)"
|
|||
|
|
echo "=================================================="
|
|||
|
|
|
|||
|
|
# 1. 系统健康检查
|
|||
|
|
echo "📋 1. 系统健康检查"
|
|||
|
|
health_status=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/actuator/health)
|
|||
|
|
if [ "$health_status" = "200" ]; then
|
|||
|
|
echo "✅ 应用服务: UP"
|
|||
|
|
else
|
|||
|
|
echo "❌ 应用服务: DOWN ($health_status)"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 2. 数据库连接检查
|
|||
|
|
db_status=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/actuator/health/db)
|
|||
|
|
if [ "$db_status" = "200" ]; then
|
|||
|
|
echo "✅ 数据库连接: 正常"
|
|||
|
|
else
|
|||
|
|
echo "❌ 数据库连接: 异常 ($db_status)"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 3. Redis连接检查
|
|||
|
|
redis_status=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/actuator/health/redis)
|
|||
|
|
if [ "$redis_status" = "200" ]; then
|
|||
|
|
echo "✅ Redis连接: 正常"
|
|||
|
|
else
|
|||
|
|
echo "❌ Redis连接: 异常 ($redis_status)"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "=================================================="
|
|||
|
|
|
|||
|
|
# 2. 性能检查
|
|||
|
|
echo "📊 2. 性能检查"
|
|||
|
|
|
|||
|
|
# API性能测试
|
|||
|
|
api_response_time=$(curl -o /dev/null -s -w "%{time_total}" "http://localhost:8080/api/v1/health")
|
|||
|
|
echo "API响应时间: ${api_response_time}s"
|
|||
|
|
|
|||
|
|
# 检查缓存命中率
|
|||
|
|
cache_hit_rate=$(redis-cli info | grep "keyspace_hit" | head -1)
|
|||
|
|
echo "Redis缓存命中率: $cache_hit_rate"
|
|||
|
|
|
|||
|
|
echo "=================================================="
|
|||
|
|
|
|||
|
|
# 3. 安全检查
|
|||
|
|
echo "🔒 3. 安全检查"
|
|||
|
|
|
|||
|
|
# 检查HTTPS证书
|
|||
|
|
if command -v openssl &> /dev/null; then
|
|||
|
|
cert_expiry=$(openssl s_client -connect api.example.com:443 -servername api.example.com 2>/dev/null </dev/null | openssl x509 -noout -dates | grep "notAfter" | cut -d= -f2)
|
|||
|
|
echo "HTTPS证书到期时间: $cert_expiry"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 检查磁盘使用率
|
|||
|
|
disk_usage=$(df -h / | awk 'NR==1 {print $5}' | sed 's/%//')
|
|||
|
|
echo "磁盘使用率: $disk_usage%"
|
|||
|
|
|
|||
|
|
# 检查内存使用率
|
|||
|
|
memory_usage=$(free | grep Mem | awk '{print ($3/$2)*100}')
|
|||
|
|
echo "内存使用率: $memory_usage%"
|
|||
|
|
|
|||
|
|
echo "=================================================="
|
|||
|
|
|
|||
|
|
# 4. 备份检查
|
|||
|
|
echo "💾 4. 备份检查"
|
|||
|
|
|
|||
|
|
# 检查最近备份时间
|
|||
|
|
last_backup=$(find /backup/database -name "*.sql" -type f -mtime -1 | head -1)
|
|||
|
|
if [ -n "$last_backup" ]; then
|
|||
|
|
echo "最后备份时间: $last_backup"
|
|||
|
|
else
|
|||
|
|
echo "❌ 未找到备份文件"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "=================================================="
|
|||
|
|
echo "🦟 运维检查完成 $(date)"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.2 手动检查命令
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 应用健康检查
|
|||
|
|
curl -s http://localhost:8080/actuator/health | jq .
|
|||
|
|
|
|||
|
|
# 详细健康信息
|
|||
|
|
curl -s http://localhost:8080/actuator/health/details | jq .
|
|||
|
|
|
|||
|
|
# 性能指标
|
|||
|
|
curl -s http://localhost:8080/actuator/metrics | grep '.http_server_requests'
|
|||
|
|
|
|||
|
|
# 数据库连接数
|
|||
|
|
psql -U postgres -h localhost -c "SELECT count(*) FROM pg_stat_activity WHERE state = 'active';"
|
|||
|
|
|
|||
|
|
# Redis信息
|
|||
|
|
redis-cli info
|
|||
|
|
|
|||
|
|
# 系统资源
|
|||
|
|
top -bn1 | head -20
|
|||
|
|
|
|||
|
|
# 磀查日志错误
|
|||
|
|
tail -100 /var/log/mosquito/application.log | grep ERROR
|
|||
|
|
|
|||
|
|
# 检查备份状态
|
|||
|
|
ls -la /backup/database/ | tail -5
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚨 告警和处理
|
|||
|
|
|
|||
|
|
### 8.1 告警级别定义
|
|||
|
|
|
|||
|
|
| 级别 | 条件 | 通知方式 | 处理时限 |
|
|||
|
|
|------|------|--------|----------|
|
|||
|
|
| **P0-严重** | 服务不可用 | 立即电话 + 短信 | 15分钟内 |
|
|||
|
|
| **P1-高** | 性能严重下降 | 电话 + 邮件 | 30分钟内 |
|
|||
|
|
| **P2-中** | 资源使用率高 | 邮件 | 2小时内 |
|
|||
|
|
| **P3-低** | 预防性维护 | 邮件 | 24小时内 |
|
|||
|
|
|
|||
|
|
### 8.2 应急响应流程
|
|||
|
|
|
|||
|
|
#### P0-严重故障处理流程
|
|||
|
|
|
|||
|
|
1. **立即响应** (5分钟内)
|
|||
|
|
- 通知运维团队和产品团队
|
|||
|
|
- 启动应急响应小组
|
|||
|
|
- 评估故障影响范围
|
|||
|
|
|
|||
|
|
2. **快速诊断** (15分钟内)
|
|||
|
|
- 检查服务状态
|
|||
|
|
- 查看日志和监控
|
|||
|
|
- 定位故障根因
|
|||
|
|
|
|||
|
|
3. **应急处理** (30分钟内)
|
|||
|
|
- 执行应急恢复方案
|
|||
|
|
- 切换到备用系统(如有)
|
|||
|
|
- 发布状态更新
|
|||
|
|
|
|||
|
|
4. **根因分析** (2小时内)
|
|||
|
|
- 详细分析故障原因
|
|||
|
|
- 制定永久解决方案
|
|||
|
|
- 更新操作文档
|
|||
|
|
|
|||
|
|
5. **事后改进** (24小时内)
|
|||
|
|
- 编写事故报告
|
|||
|
|
- 完善预防措施
|
|||
|
|
- 更新检查清单
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📋 检查频率和时间
|
|||
|
|
|
|||
|
|
### 定期检查
|
|||
|
|
|
|||
|
|
| 检查类型 | 频率 | 执行时间 | 负责人 |
|
|||
|
|
|----------|--------|----------|--------|
|
|||
|
|
| 每日健康检查 | 每日 | 09:00 | 运维团队 |
|
|||
|
|
| 每周性能检查 | 每周一 | 10:00 | 运维团队 |
|
|||
|
|
| 每月安全扫描 | 每月1日 | 安全团队 |
|
|||
|
|
| 每季度灾备演练 | 每季度 | DevOps团队 |
|
|||
|
|
|
|||
|
|
### 临时检查
|
|||
|
|
|
|||
|
|
| 情况 | 执行时机 |
|
|||
|
|
|----------|----------|
|
|||
|
|
| 发布前检查 | 每次发布前 |
|
|||
|
|
| 重大变更后 | 变更完成后 |
|
|||
|
|
| 节假日检查 | 长假开始前 |
|
|||
|
|
| 异常事件后 | 事件处理后 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 检查完成确认
|
|||
|
|
|
|||
|
|
### 检查结果确认模板
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
🦟 蚊子项目运维检查报告
|
|||
|
|
检查时间: 2026-01-21 XX:XX:XX
|
|||
|
|
检查人: [运维负责人]
|
|||
|
|
检查环境: [生产环境]
|
|||
|
|
|
|||
|
|
总体评估: [⚠️/✅]
|
|||
|
|
|
|||
|
|
系统健康: [通过/失败]
|
|||
|
|
性能监控: [通过/失败]
|
|||
|
|
安全合规: [通过/失败]
|
|||
|
|
数据安全: [通过/失败]
|
|||
|
|
运维自动化: [通过/失败]
|
|||
|
|
备份恢复: [通过/失败]
|
|||
|
|
|
|||
|
|
发现问题:
|
|||
|
|
1. [问题描述]
|
|||
|
|
2. [解决方案]
|
|||
|
|
3. [责任人]
|
|||
|
|
4. [完成时限]
|
|||
|
|
|
|||
|
|
下次检查时间: 2026-01-22 09:00
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📞 联系信息
|
|||
|
|
|
|||
|
|
| 角色 | 姓名 | 联系方式 | 在线时间 |
|
|||
|
|
|------|------|----------|--------|
|
|||
|
|
| 运维负责人 | [姓名] | [电话] | 7x24 |
|
|||
|
|
| 安全负责人 | [姓名] | [电话] | 7x24 |
|
|||
|
|
| 产品负责人 | [姓名] | [电话] | 9:00-18:00 |
|
|||
|
|
|
|||
|
|
**紧急联系方式**:
|
|||
|
|
- 技术支持群组: [群组链接]
|
|||
|
|
- 电话值班: [值班电话]
|
|||
|
|
- 邮件告警: [告警邮箱]
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**清单版本**: v2.0
|
|||
|
|
**最后更新**: 2026-01-21
|
|||
|
|
**维护团队**: DevOps团队
|