updating to match everything in my homelab.

This commit is contained in:
2026-02-05 16:13:53 -05:00
parent f8787379c5
commit 80fb911e22
30 changed files with 3107 additions and 7 deletions

View File

@@ -0,0 +1,72 @@
```plaintext
%% Observability Stack Architecture (ADR-0025)
%% C4 Component diagram showing telemetry flow
flowchart TB
subgraph apps["📦 Applications"]
direction LR
go["Go Apps<br/>(OTEL SDK)"]
python["Python Apps<br/>(OTEL SDK)"]
node["Node.js Apps<br/>(OTEL SDK)"]
java["Java Apps<br/>(OTEL SDK)"]
end
subgraph collection["📡 Telemetry Collection"]
otel["OpenTelemetry<br/>Collector<br/>━━━━━━━━<br/>OTLP gRPC :4317<br/>OTLP HTTP :4318"]
end
subgraph storage["💾 Storage Layer"]
direction LR
subgraph metrics_store["Metrics"]
prometheus["📊 Prometheus<br/>14d retention<br/>50GB"]
end
subgraph logs_traces["Logs & Traces"]
clickstack["📋 ClickStack<br/>(ClickHouse)"]
end
end
subgraph visualization["📈 Visualization"]
grafana["🎨 Grafana<br/>Dashboards<br/>& Exploration"]
end
subgraph alerting["🔔 Alerting Pipeline"]
alertmanager["⚠️ Alertmanager"]
ntfy["📱 ntfy<br/>(Push)"]
discord["💬 Discord"]
end
%% App to collector
go -->|"OTLP"| otel
python -->|"OTLP"| otel
node -->|"OTLP"| otel
java -->|"OTLP"| otel
%% Collector to storage
otel -->|"Metrics"| prometheus
otel -->|"Logs"| clickstack
otel -->|"Traces"| clickstack
%% Storage to visualization
prometheus --> grafana
clickstack --> grafana
%% Alerting flow
prometheus -->|"PrometheusRules"| alertmanager
alertmanager --> ntfy
ntfy --> discord
classDef app fill:#3498db,color:white
classDef otel fill:#e74c3c,color:white
classDef storage fill:#27ae60,color:white
classDef viz fill:#9b59b6,color:white
classDef alert fill:#f39c12,color:black
class go,python,node,java app
class otel otel
class prometheus,clickstack storage
class grafana viz
class alertmanager,ntfy,discord alert
```