feat(observability): close native SigNoz backup restore canary
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
> **管轄範圍**: Docker, K3s, Nginx, NetworkPolicy, CI/CD
|
||||
> **觸發條件**: 修改 `k8s/`, `Dockerfile`, `.github/workflows/`, `nginx`
|
||||
> **治理覆寫**: `superseded_by=global_product_governance_v2`;本文 GitHub/GitHub Actions 段落只保留歷史背景,不得執行。現行 source truth 與 workflow 一律使用 Gitea;舊 SigNoz `192.168.0.188:3301` UI/query 路由同樣失效。
|
||||
|
||||
---
|
||||
|
||||
@@ -190,12 +191,12 @@ echo "${{ secrets.SUDO_PASSWORD }}" | sudo -S kubectl ...
|
||||
|
||||
| 主機 | IP | 角色 | 部署內容 |
|
||||
|------|-----|------|----------|
|
||||
| DevOps | 192.168.0.110 | 金庫 | Harbor:5000, GitHub Runner, Sentry:9000, Langfuse:3100 |
|
||||
| DevOps | 192.168.0.110 | 金庫 | Harbor:5000, Gitea Actions Runner, Sentry:9000, Langfuse:3100, SigNoz health:8080 |
|
||||
| Security | 192.168.0.112 | 安全 | Kali Scanner:8080 |
|
||||
| K3s Server #1 | 192.168.0.120 | 叢集 | Control-Plane MASTER (keepalived priority=101) |
|
||||
| K3s Server #2 | 192.168.0.121 | 叢集 | Control-Plane BACKUP (keepalived priority=100) |
|
||||
| **VIP** | **192.168.0.125** | **HA 入口** | **K3s API:6443 + NodePort (32334/32335)** |
|
||||
| AI/Web | 192.168.0.188 | 大腦 | Nginx, **PostgreSQL:5432 (K3s Datastore)**, Redis:6380, Ollama:11434, OpenClaw:8089, SigNoz:3301 |
|
||||
| AI/Web | 192.168.0.188 | 大腦 | Nginx, **PostgreSQL:5432 (K3s Datastore)**, Redis:6380, Ollama:11434, OpenClaw:8089, OTLP bridge:24317/24318 |
|
||||
|
||||
### 絕對禁令
|
||||
|
||||
@@ -421,7 +422,8 @@ kubectl --server=https://192.168.0.125:6443 get nodes
|
||||
|
||||
| 服務 | 端點 | 用途 |
|
||||
|------|------|------|
|
||||
| **SignOz Web UI** | `http://192.168.0.188:3301` | APM Dashboard |
|
||||
| **SigNoz machine health** | `http://192.168.0.110:8080/api/v1/health` | service-to-service health/readback |
|
||||
| **SigNoz Web UI** | `https://signoz.wooo.work` | human APM dashboard / deep links |
|
||||
| **OTEL gRPC** | `192.168.0.188:24317` | K8s/應用程式 Traces |
|
||||
| **OTEL HTTP** | `http://192.168.0.188:24318` | CI/CD workflows |
|
||||
| **Sentry** | `http://192.168.0.110:9000` | Error Tracking |
|
||||
@@ -451,8 +453,8 @@ OTEL_EXPORTER_OTLP_ENDPOINT: http://192.168.0.188:24318
|
||||
### 驗證指令
|
||||
|
||||
```bash
|
||||
# 檢查 SignOz 容器運行狀態
|
||||
ssh ollama@192.168.0.188 "docker ps | grep signoz"
|
||||
# 檢查 SigNoz machine health
|
||||
curl -fsS http://192.168.0.110:8080/api/v1/health | jq .
|
||||
|
||||
# 測試 OTEL 端點
|
||||
curl -s http://192.168.0.188:24318/v1/traces -X POST | head -c 100
|
||||
@@ -1165,7 +1167,7 @@ def verify_github_signature(payload: bytes, signature: str, secret: str) -> bool
|
||||
┌─────────────┐ trace_id ┌─────────────┐ trace_id ┌─────────────┐
|
||||
│ Sentry │ ◄────────────────► │ SignOz │ ◄────────────────► │ Langfuse │
|
||||
│ Errors │ │ Traces │ │ LLMOps │
|
||||
│ :9000 (.110)│ │ :3301 (.188)│ │ :3100 (.110)│
|
||||
│ :9000 (.110)│ │ signoz.wooo │ │ :3100 (.110)│
|
||||
└─────────────┘ └─────────────┘ └─────────────┘
|
||||
```
|
||||
|
||||
@@ -1173,7 +1175,7 @@ def verify_github_signature(payload: bytes, signature: str, secret: str) -> bool
|
||||
|
||||
| 系統 | URL 格式 |
|
||||
|------|----------|
|
||||
| SignOz Trace | `http://192.168.0.188:3301/trace/{trace_id}` |
|
||||
| SigNoz Trace | `https://signoz.wooo.work/trace/{trace_id}` |
|
||||
| Langfuse Trace | `http://192.168.0.110:3100/project/awoooi-openclaw/traces/{id}` |
|
||||
| Sentry Issue | `http://192.168.0.110:9000/organizations/sentry/issues/{id}/` |
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
> **管轄範圍**: Playwright, API Testing, Health Monitoring
|
||||
> **觸發條件**: 懷疑 UI 異常、API 錯誤、部署驗證
|
||||
> **治理覆寫**: `superseded_by=global_product_governance_v2`;本文 `.github/workflows` 與舊 SigNoz `192.168.0.188:3301` 測試僅屬歷史背景。現行 CI/CD 使用 Gitea,SigNoz health/UI/OTLP 依 canonical route 分流。
|
||||
|
||||
---
|
||||
|
||||
@@ -494,8 +495,8 @@ kubectl rollout undo deployment/awoooi-api -n awoooi-prod
|
||||
### 觀測系統健康檢查
|
||||
|
||||
```bash
|
||||
# SignOz (Traces)
|
||||
curl -f http://192.168.0.188:3301/api/v1/services | jq '.data[] | .serviceName'
|
||||
# SigNoz control-plane health (machine readback)
|
||||
curl -fsS http://192.168.0.110:8080/api/v1/health | jq .
|
||||
|
||||
# Langfuse (LLMOps)
|
||||
curl -f http://192.168.0.110:3100/api/health
|
||||
@@ -511,7 +512,7 @@ curl -f http://192.168.0.110:9000/api/0/internal/health/
|
||||
from src.core.deep_linking import DeepLinking
|
||||
|
||||
# 應返回有效 URL
|
||||
assert DeepLinking.signoz_trace_url("abc123") == "http://192.168.0.188:3301/trace/abc123"
|
||||
assert DeepLinking.signoz_trace_url("abc123") == "https://signoz.wooo.work/trace/abc123"
|
||||
assert DeepLinking.langfuse_trace_url("lf-123") != ""
|
||||
assert DeepLinking.sentry_issue_url("456") != ""
|
||||
```
|
||||
@@ -539,7 +540,7 @@ with restore_trace_context({"trace_id": "", "span_id": ""}) as span:
|
||||
|
||||
| 系統 | URL | 狀態 |
|
||||
|------|-----|------|
|
||||
| SignOz | http://192.168.0.188:3301 | ✅ |
|
||||
| SigNoz | https://signoz.wooo.work (machine health: `192.168.0.110:8080/api/v1/health`) | ✅ |
|
||||
| Langfuse | http://192.168.0.110:3100 | ✅ |
|
||||
| Sentry | http://192.168.0.110:9000 | ✅ |
|
||||
| Deep Linking | N/A (內建) | ✅ |
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
> **管轄範圍**: MCP Bridge, 外部系統連接, RAG 向量化
|
||||
> **觸發條件**: 修改 `plugins/mcp/`, `services/*_tool.py`, 向量資料庫
|
||||
> **治理覆寫**: `superseded_by=global_product_governance_v2`;舊 SigNoz `192.168.0.188:3301` query/UI route 已失效,machine health、public query/UI 與 OTLP ingestion 必須使用下列 canonical endpoints。
|
||||
|
||||
---
|
||||
|
||||
@@ -100,7 +101,11 @@ Phase 13.2 Tool 實作 (P0 最優先):
|
||||
|
||||
```
|
||||
ClickHouse HTTP API: http://192.168.0.188:8123
|
||||
SignOz Query API: http://192.168.0.188:3301/api/v3
|
||||
SigNoz machine health: http://192.168.0.110:8080/api/v1/health
|
||||
SigNoz Query API (machine/MCP): http://192.168.0.110:8080/api/v3
|
||||
SigNoz UI / deep links: https://signoz.wooo.work
|
||||
OTLP gRPC: http://192.168.0.188:24317
|
||||
OTLP HTTP: http://192.168.0.188:24318
|
||||
```
|
||||
|
||||
### 查詢範例
|
||||
|
||||
Reference in New Issue
Block a user