docs(skills+adr): 自動修復全鏈路知識更新 — ADR-058 Appendix A + Skills v2.5

ADR-058: 188白名單補完 + Appendix A (12 Bug修復記錄 + E2E驗證 + Playbook覆蓋矩陣)
Skill-04 DevOps v2.5: SSH自動修復架構章節 (白名單/SOP/陷阱)
Skill-05 SRE: 自動修復E2E驗收規範 + 診斷表

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-04-09 18:21:24 +08:00
parent 2779233b25
commit c01026be9b
3 changed files with 216 additions and 8 deletions

View File

@@ -80,16 +80,63 @@ Prometheus/SigNoz 告警 → webhook → auto_repair_service
| langfuse | docker compose up -d | /home/wooo/langfuse |
| alertmanager | docker compose up -d | /home/wooo/monitoring |
| signoz | docker compose up -d | /home/wooo/signoz/deploy/docker |
| stock-platform | docker compose up -d | /home/wooo/stockPlatform *(2026-04-09 新增)* |
### 188 主機 (repair-bot-188.sh)
| Component | 修復方式 |
|-----------|---------|
| openclaw | docker compose up -d |
| minio | docker compose up -d |
| signoz | docker compose up -d |
| redis | systemctl restart redis-server |
| nginx | systemctl restart nginx |
| ollama | systemctl restart ollama |
| Component | 修復方式 | 目錄 |
|-----------|---------|------|
| openclaw | docker compose up -d | /home/ollama/clawbot-v5 |
| minio | docker compose up -d | /home/ollama/minio |
| signoz | docker compose up -d | /home/ollama/signoz/deploy/docker |
| momo-app | docker compose up -d | /home/ollama/momo-pro *(2026-04-09 新增)* |
| tsenyang-website | docker compose up -d | /home/ollama/services/tsenyang *(2026-04-09 新增)* |
| bitan-app | docker compose up -d | /home/ollama/services/bitan *(2026-04-09 新增)* |
---
## Appendix A — Bug 修復記錄 (2026-04-09)
> **執行者**: Claude Sonnet 4.6 (Asia/Taipei)
> **背景**: 自動修復機制從未成功執行success_count 全部為 0完整審計後發現下列阻斷性問題
| Bug | 問題描述 | 修復 | Commit |
|-----|---------|------|--------|
| #5 | `target_resource``instance` (IP:port) 代替 `component` label → Jaccard 服務相似度為 0 | `webhooks.py` 優先取 `component` label | 1fb0c0c |
| #6 | `python:3.11-slim``openssh-client``ssh` binary 缺失 | Dockerfile 生產 stage 加 `openssh-client` | 1fb0c0c |
| #11 | NetworkPolicy 未開放 22 (SSH),預設拒絕所有未列 port | `02-network-policy.yaml` 新增 110:22 + 188:22 egress | 07a097c |
| #12 | Secret `defaultMode=0400` (root-only)appuser (UID 1000) 無法讀 SSH key | Pod `securityContext.fsGroup: 1000` | 77f2da9 |
### E2E 驗證結果
```
# docker-110
SentryDown → Jaccard 匹配 sentry-down-repair → SSH wooo@192.168.0.110 repair:sentry
→ REPAIR_OK:sentry (6208ms) ✅
# docker-188
MoWoooWorkDown → Jaccard 匹配 momo-app-down-repair → SSH ollama@192.168.0.188 repair:momo-app
→ REPAIR_OK:momo-app (3791ms) ✅
```
### Playbook 覆蓋矩陣 (2026-04-0920 個 Playbook)
| 告警 | Playbook | Layer | success_count |
|------|---------|-------|---------------|
| SentryDown | sentry-down-repair | docker-110 | 1 ✅ |
| HarborDown | harbor-down-repair | docker-110 | 0 |
| GiteaDown | gitea-down-repair | docker-110 | 0 |
| AlertmanagerDown | alertmanager-down-repair | docker-110 | 0 |
| OpenClawDown | openclaw-down-repair | **docker-188** | 0 |
| MoWoooWorkDown | momo-app-down-repair | docker-188 | 2 ✅ |
| TsenyangWebsiteDown | tsenyang-website-down-repair | docker-188 | 0 |
| BitanWoooWorkDown | bitan-app-down-repair | docker-188 | 0 |
| StockWoooWorkDown | stock-platform-down-repair | docker-110 | 0 |
| SignOzDown | signoz-down-repair | docker-188 | 0 |
| DockerContainerExited | docker-container-exited-repair | 動態 | 0 |
| DockerContainerUnhealthy | docker-container-unhealthy-repair | 動態 | 0 |
| KubePodNotReady | k8s-pod-not-ready-restart | k8s | 0 |
> **注意**: `openclaw-down-repair` 原錯誤指向 `docker-110`,已於 2026-04-09 修正為 `docker-188`
---