cos-lite docs - Bundle topology
A COS Lite deployment is made up of numerous juju relation.
For clarity and readability, the bundle topology is depicted here using several separate diagrams. Each line indicates a separate juju relation.
Ingress view
The workloads that make up COS Lite are servers that need to be reachable from outside the model they are deployed in.
- Grafana (“ingress-to-leader”) is the main UI, amalgamating telemetry from all datasources into dashboards.
- Prometheus and Loki (both “ingress-per-unit”), ingest telemetry pushed from grafana agent from another model.
- Alertmanager (“ingress per app”), has a UI for acknowledging or silencing alerts.
graph LR
subgraph cos_lite["COS Lite"]
alrt[Alertmanager]
click alrt "https://github.com/canonical/alertmanager-k8s-operator"
graf[Grafana]
click graf "https://github.com/canonical/grafana-k8s-operator"
prom[Prometheus]
click prom "https://github.com/canonical/prometheus-k8s-operator"
loki[Loki]
click loki "https://github.com/canonical/loki-k8s-operator"
trfk[Traefik]
click trfk "https://github.com/canonical/traefik-k8s-operator"
ctlg[Catalogue]
click ctlg "https://github.com/canonical/catalogue-k8s-operator"
trfk --- |<a href='https://charmhub.io/traefik-k8s/libraries/ingress_per_unit'>ipu</a>| loki
trfk --- |ipu| prom
trfk --- |<a href='https://charmhub.io/traefik-route-k8s/libraries/traefik_route'>route</a>| graf
trfk --- |<a href='https://charmhub.io/traefik-k8s/libraries/ingress'>ipa</a>| alrt
prom --- |<a href='https://charmhub.io/catalogue-k8s/libraries/catalogue'>catalogue</a>| ctlg
alrt --- |catalogue| ctlg
graf --- |catalogue| ctlg
end
Datasource view
The workloads that make up COS Lite are datasources for each other:
- Grafana queries loki, prometheus for telemetry and alertmanager for alerts.
- Promtetheus and loki evaluate alert rules and post alerts to alertmanager.
graph LR
subgraph cos_lite["COS Lite"]
alrt[Alertmanager]
click alrt "https://github.com/canonical/alertmanager-k8s-operator"
graf[Grafana]
click graf "https://github.com/canonical/grafana-k8s-operator"
prom[Prometheus]
click prom "https://github.com/canonical/prometheus-k8s-operator"
loki[Loki]
click loki "https://github.com/canonical/loki-k8s-operator"
prom --- |alerting| alrt
loki --- |alerting| alrt
graf --- |source| prom
graf --- |source| alrt
graf --- |source| loki
end
Self-monitoring view
We need to be made aware if the observability solution itself is functioning properly. Self-monitoring relations within COS Lite, together with cos-alerter, are meant to alert for outages of the observability stack itself.
graph TD
subgraph cos_lite["COS Lite"]
alrt[Alertmanager]
click alrt "https://github.com/canonical/alertmanager-k8s-operator"
graf[Grafana]
click graf "https://github.com/canonical/grafana-k8s-operator"
prom[Prometheus]
click prom "https://github.com/canonical/prometheus-k8s-operator"
loki[Loki]
click loki "https://github.com/canonical/loki-k8s-operator"
trfk[Traefik]
click trfk "https://github.com/canonical/traefik-k8s-operator"
trfk --- |metrics| prom
alrt --- |metrics| prom
loki --- |metrics| prom
graf --- |metrics| prom
graf --- |dashboard| loki
graf --- |dashboard| prom
graf --- |dashboard| alrt
end
Last updated 7 months ago.