This document proposes new standards for the L.G.T.M. observability stack helm charts.
prometheus-community
has a lot of charts, but all the multi-charts center around the operator.
I propose getting them involved in this effort and decompose the existing charts.
The following sections are named as they would be in the helm repository.
A proposed chart for installing the most common charts used for kubernetes clusters.
-
(default) prometheus-adapter
-
(default) prometheus-node-exporter
-
(default) kube-state-metrics
-
(optional) prometheus-conntrack-stats-exporter
prometheus-community/prometheus
prometheus-community/kube-common
- (optional)
prometheus-community/alertmanager
- prometheus-operator
prometheus-community/kube-stack
Notes:
optional
means the feature can be toggled with anenabled
flagdefault
means the feature is optional and enabled by default- Since all these charts depend on prometheus in one way or another, it's expected that it will be installed directly instead of as a dependency.
Purpose: Stores and serves log data
Dependencies:
- (default)
grafana/loki-canary
- (default)
prometheus-community/promtail
- (optional) fluentd CRD
- (optional) minio standalone
- (optional) minio CRD
Notes:
- Should support monolithic, simple scalable, and distributed
- in distributed mode, it can support "local storage", if it's a shared disk, like NFS
Purpose: Ensure your loki cluster is ingesting logs
Purpose: Ships logs
Purpose: UI for all your metrics
Dependencies:
- (optional) minio standalone
- (optional) minio CRD
- (optional) postgres
Notes:
- Should support creating Ingress or HTTPRoute
- Try to support arbitrary plugins
Purpose: Distributed Tracing
Dependencies:
- (optional) minio standalone
- (optional) minio CRD
Purpose: tempo canary service
Purpose: Long-term storage for Prometheus
Dependencies:
- (optional) minio standalone
- (optional) minio CRD
Purpose: on-call management system
Notes:
- This requires multiple data stores, and is not worth adding to
kube-stack
until some community members report stable deployments with their associated configurations.
Purpose: An opinionated deployment of the L.G.T.M. stack.
Dependencies:
grafana/loki
grafana/grafana
grafana/tempo
grafana/mimir
- (default)
prometheus-community/kube-stack
- (optional)
prometheus-community/kube-operator-stack
- (default) grafana-dashboards-kubernetes