updating to match everything in my homelab.
This commit is contained in:
72
diagrams/observability-stack.mmd
Normal file
72
diagrams/observability-stack.mmd
Normal 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
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user