Platform Overview (C4 L1-L2)
Purpose
The platform at a glance — C4 Level 1 (System Context) and Level 2 (Containers).
C4 L1 — System Context
[ Service teams ] --OTLP--> [ ShipSolid Observability Platform ] --query--> [ Grafana UI ]
|
AKS / Synthetics -----------+------- Grafana Cloud (Mimir/Loki/Tempo)
|
Grafana IRM (incident routing + on-call)
[stub: c4-l1-diagram]— fill this in. Greppable doc-debt marker.
C4 L2 — Containers
| Container | Role | Tech |
|---|---|---|
| Collector fleet | Receive + process + route telemetry | Grafana Alloy |
| Metrics backend | Store/query metrics | Mimir |
| Logs backend | Store/query logs | Loki |
| Traces backend | Store/query traces | Tempo |
| Visualization | Dashboards, Explore, alerting | Grafana Cloud |
| Incident layer | Routing, on-call, correlation | Grafana IRM |
[stub: c4-l2-diagram]— fill this in. Greppable doc-debt marker.
Related
Local graph
Linked from 6 notes
Vision & Mission
Why the ShipSolid observability platform exists and where it is going.
2026-05-21 — billing-service elevated latency
- **Incident Commander:** On-call Engineer (Platform SRE)
ADR-008: Adopt Grafana Cloud + OpenTelemetry + Alloy as the ShipSolid Observability Standard
- **Status**: Accepted - **Date**: 2026-06-09
Technical Design Documents
Index of **ShipSolid platform** Technical Design Documents.
01 — Platform Architecture
How the platform is built — views, planes, signals, and the decision record indexes.
Runbook — ShipSolidApiGateway5xxHigh
- **Service:** api-gateway - **Owner Team:** Platform SRE
Related notes
Signal Forge ADR-005: Separate collector configmaps per deployment mode
Keeps cloud and local Alloy collector configs in separate files rather than one conditional configmap, so each mode's exporters stay explicit and uncoupled.
Signal Forge ADR-003: Span metrics generated before tail sampling
Places the spanmetrics connector ahead of tail_sampling so RED metrics reflect all traffic instead of only the ~25% of traces that survive sampling.
Signal Forge ADR-002: SpanLink for async RabbitMQ propagation (not parent-child)
Uses a SpanLink, not a parent-child span relationship, to connect RabbitMQ consumer spans back to the producer span across async, retry-prone delivery.
Architecture Overview
Signal Forge's topology, service communication, trace propagation, and per-signal pipeline flow across local and Grafana Cloud deployment modes.