Architecture
Built using the Loki & Promtail Helm Charts. Logs are collected by Promtail Pods & automatically assigned to a tenant based on the namespace. Tenants query Loki using their OrgID.
flowchart LR
A[Tenant] -->|1| grafana(Grafana)
subgraph tn[Tenant Namespace]
qsa([Query Service Account]) <-.-> grafana
end
subgraph Monitoring Namespace
subgraph Loki Query Frontend
grafana -->|2| krp(kube-rbac-proxy)
end
krp -->|7| quer
subgraph Loki
inge(Ingester)
inge --> s3
quer(Querier) --> s3
end
end
tn -->|Logs| promt(Promtail)
promt --> inge
s3[(BackBlaze B2)]
subgraph Kubernetes
krp -->|3| sar{{SubjectAccessReview}}
sar <-->|4| qsa
sar -->|5| krp
end
Usage
No work from the Tenant’s side, as logs are automatically collected. To read them, first create a Service Account as described in Observability Usage. Then create a Grafana Instance & a Loki GrafanaDataSource
.