kube-prometheus-stack is a Helm collection that deploys:
Overall, kube-prometheus-stack is comperehensive and heavily configures all the tools.
Install with:
helm repo add prometheus-community oci://ghcr.io/prometheus-community/charts/
helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
kube-prometheus-stack | Pumba98/flux2-gitops | 50 | 66.2.1 | a day ago |
kube-prometheus-stack | kashalls/home-cluster | 100 | 66.2.1 | 2 days ago |
kube-prometheus-stack | coolguy1771/home-ops | 67 | 66.2.1 | 2 days ago |
kube-prometheus-stack | ahgraber/homelab-gitops-k3s | 67 | 66.2.1 | 3 days ago |
kube-prometheus-stack | Diaoul/home-ops | 62 | 66.2.1 | 4 days ago |
See the most popular values for this chart:
Key | Types |
---|---|
boolean | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
grafana.defaultDashboardsTimezone (8) ${TIMEZONE} | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
boolean | |
string | |
string | |
grafana.dashboardProviders.dashboardproviders.yaml.providers[].options.path (6) /var/lib/grafana/dashboards/default | string |
boolean | |
string | |
number | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
grafana.plugins[] (4) - grafana-piechart-panel | string |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
number | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
number | |
number | |
string | |
number | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
number | |
boolean | |
number | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
prometheus.prometheusSpec.enableFeatures[] (81) - auto-gomemlimit | string |
number | |
string | |
string | |
string | |
prometheus.prometheusSpec.thanos.image (31) quay.io/thanos/thanos:${THANOS_VERSION} | string |
prometheus.prometheusSpec.thanos.version (25) ${THANOS_VERSION#v} | string |
string | |
prometheus.prometheusSpec.thanos.objectStorageConfig.existingSecret.name (19) thanos-objstore-config | string |
string | |
prometheus.prometheusSpec.thanos.objectStorageConfig.name (12) thanos-objstore-secret | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
prometheus.prometheusSpec.additionalScrapeConfigs[].metrics_path (9) /minio/v2/metrics/cluster | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
prometheus.prometheusSpec.image.repository (12) prometheus/prometheus | string |
prometheus.prometheusSpec.image.tag (12) v2.54.0-dedupelabels | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
number | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
number | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
boolean | |
string | |
string | |
boolean | |
prometheus.ingress.hosts[] (113) - prometheus.${SECRET_DOMAIN} | string |
string | |
string | |
prometheus.ingress.tls[].hosts[] (61) - prometheus.${SECRET_DOMAIN} | string |
prometheus.ingress.tls[].secretName (26) prometheus-tls | string |
prometheus.ingress.annotations."external-dns.alpha.kubernetes.io/target" (31) internal.${SECRET_DOMAIN} | string |
prometheus.ingress.annotations."hajimari.io/icon" (23) simple-icons:prometheus | string |
string | |
prometheus.ingress.annotations."cert-manager.io/cluster-issuer" (17) letsencrypt-production | string |
string | |
string | |
string | |
string | |
string | |
prometheus.ingress.annotations."gethomepage.dev/widget.url" (10) http://kube-prometheus-stack-prometheus.observability:9090 | string |
prometheus.ingress.annotations."gethomepage.dev/description" (8) Monitoring Scrape Service | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
number | |
number | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
prometheus.thanosServiceExternal.type (6) LoadBalancer | string |
string | |
string | |
string | |
number | |
number | |
string | |
string | |
number | |
number | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
number | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
number | |
number | |
boolean | |
string | |
number | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
number | |
number | |
number | |
string | |
string | |
string | |
boolean | |
number | |
number | |
boolean | |
string | |
string | |
kubeControllerManager.serviceMonitor.metricRelabelings[].regex (28) (apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|attachdetach_controller|authenticated_user|authentication|cronjob_controller|disabled_metric|endpoint_slice|ephemeral_volume|garbagecollector_controller|get_token|go|hidden_metric|job_controller|kubernetes_build|kubernetes_feature|leader_election|node_collector|node_ipam|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|pv_collector|registered_metric|replicaset_controller|rest_client|retroactive_storageclass|root_ca|running_managed|scrape_duration|scrape_samples|scrape_series|service_controller|storage_count|storage_operation|ttl_after|volume_operation|workqueue)_(.+) | string |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
kubeControllerManager.service.selector.k8s-app (20) kube-controller-manager | string |
boolean | |
number | |
number | |
boolean | |
string | |
boolean | |
string | |
kubeEtcd.service.selector.k8s-app (20) kube-controller-manager | string |
boolean | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
kubeScheduler.serviceMonitor.metricRelabelings[].regex (28) (apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|authenticated_user|authentication|disabled_metric|go|hidden_metric|kubernetes_build|kubernetes_feature|leader_election|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|registered_metric|rest_client|scheduler|scrape_duration|scrape_samples|scrape_series|workqueue)_(.+) | string |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
kubeScheduler.service.selector.k8s-app (20) kube-scheduler | string |
number | |
boolean | |
number | |
boolean | |
boolean | |
kubelet.serviceMonitor.metricRelabelings[].action (79) labeldrop | string |
string | |
kubelet.serviceMonitor.metricRelabelings[].regex (65) (uid) | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
crds.enabled (92) false | boolean |
boolean | |
string | |
kubeApiServer.serviceMonitor.metricRelabelings[].regex (62) (apiserver|etcd|rest_client)_request(|_sli|_slo)_duration_seconds_bucket | string |
kubeApiServer.serviceMonitor.metricRelabelings[].sourceLabels[] (62) - __name__ | string |
string | |
string | |
kubeApiServer.serviceMonitor.selector.k8s-app (20) kube-apiserver | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
kube-state-metrics.prometheus.monitor.relabelings[].sourceLabels[] (79) - __meta_kubernetes_pod_node_name | string |
string | |
string | |
boolean | |
string | |
string | |
string | |
kube-state-metrics.metricLabelsAllowlist[] (81) - pods=[*] | string |
kube-state-metrics.fullnameOverride (72) kube-state-metrics | string |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
boolean | |
alertmanager.ingress.hosts[] (76) - alertmanager.${SECRET_DOMAIN} | string |
string | |
string | |
alertmanager.ingress.tls[].hosts[] (36) - alertmanager.${SECRET_DOMAIN} | string |
alertmanager.ingress.tls[].secretName (19) alertmanager-tls | string |
alertmanager.ingress.annotations."external-dns.alpha.kubernetes.io/target" (25) internal.${SECRET_DOMAIN} | string |
alertmanager.ingress.annotations."cert-manager.io/cluster-issuer" (13) letsencrypt-production | string |
alertmanager.ingress.annotations."hajimari.io/icon" (11) mdi:alert-decagram-outline | string |
string | |
string | |
string | |
alertmanager.ingress.annotations."gethomepage.dev/icon" (8) alertmanager.png | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
alertmanager.alertmanagerSpec.configSecret (44) alertmanager-secret | string |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
number | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
number | |
boolean | |
number | |
string | |
string | |
boolean | |
alertmanager.config.receivers[].name (27) null | string |
string | |
boolean | |
alertmanager.config.receivers[].slack_configs[].text (12) {{ range .Alerts -}}
**Alert:** {{ .Annotations.title }}{{ if .Labels.severity }} - `{{ .Labels.severity }}`{{ end }}
**Description:** {{ if ne .Annotations.description ""}}{{ .Annotations.description }}{{else}}N/A{{ end }}
**Details:**
{{ range .Labels.SortedPairs }} • *{{ .Name }}:* `{{ .Value }}`
{{ end }}
{{ end }} | string |
alertmanager.config.receivers[].slack_configs[].title (12) [{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ if ne .CommonAnnotations.summary ""}}{{ .CommonAnnotations.summary }} {{ else if ne .CommonAnnotations.message ""}}{{ .CommonAnnotations.message }} {{ else if ne .CommonAnnotations.description ""}}{{ .CommonAnnotations.description }} {{ else }}{{ .CommonLabels.alertname }}{{ end }} | string |
alertmanager.config.receivers[].slack_configs[].icon_url (11) https://avatars3.githubusercontent.com/u/3380462 | string |
string | |
string | |
string | |
string | |
string | |
alertmanager.config.receivers[].discord_configs[].title (6) [{{ .Status | toUpper }}:{{ if eq .Status "firing" }}{{ .Alerts.Firing | len }}{{ else }}{{ .Alerts.Resolved | len }}{{ end }}] | string |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
alertmanager.config.route.routes[].matchers[] (17) - alertname =~ "InfoInhibitor|Watchdog" | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
alertmanager.config.route.group_by[] (25) - alertname | string |
string | |
string | |
string | |
string | |
alertmanager.config.global.slack_api_url (9) ${SECRET_ALERT_MANAGER_DISCORD_WEBHOOK} | string |
alertmanager.config.inhibit_rules[].equal[] (20) - alertname | string |
alertmanager.config.inhibit_rules[].source_matchers[] (12) - severity = "critical" | string |
alertmanager.config.inhibit_rules[].target_matchers[] (12) - severity = "warning" | string |
string | |
string | |
string | |
alertmanager.config.templates[] (6) - /etc/alertmanager/config/*.tmpl | string |
number | |
string | |
string | |
boolean | |
string | |
string | |
string | |
alertmanager.fullnameOverride (4) alertmanager | string |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
number | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
number | |
string | |
string | |
string | |
number | |
number | |
number | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
prometheus-node-exporter.prometheus.monitor.relabelings[].sourceLabels[] (73) - __meta_kubernetes_pod_node_name | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
prometheus-node-exporter.fullnameOverride (74) node-exporter | string |
string | |
prometheus-node-exporter.tolerations[].effect (7) NoExecute | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
number | |
boolean | |
string | |
string | |
boolean | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
kubeStateMetrics.prometheus.monitor.relabelings[].sourceLabels[] (3) - __meta_kubernetes_pod_node_name | string |
string | |
string | |
boolean | |
string | |
string | |
nodeExporter.serviceMonitor.relabelings[].sourceLabels[] (7) - __meta_kubernetes_pod_node_name | string |
nodeExporter.serviceMonitor.relabelings[].targetLabel (7) kubernetes_node | string |
string | |
boolean | |
string | |
string, number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
number | |
string | |
string | |
boolean | |
prometheusOperator.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (3) node-role.kubernetes.io/control-plane | string |
string | |
prometheusOperator.fullnameOverride (3) prometheus-operator | string |
boolean | |
number | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
boolean | |
number | |
string | |
number | |
number | |
boolean | |
number | |
string | |
string | |
boolean | |
string | |
number | |
number | |
string | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
fullnameOverride (22) prometheus | string |
boolean | |
number | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
additionalPrometheusRulesMap.dockerhub-rules.groups[].rules[].alert (5) DockerhubRateLimitRisk | string |
additionalPrometheusRulesMap.dockerhub-rules.groups[].rules[].annotations.summary (5) Kubernetes cluster Dockerhub rate limit risk | string |
additionalPrometheusRulesMap.dockerhub-rules.groups[].rules[].expr (5) count(time() - container_last_seen{image=~"(docker.io).*",container!=""} < 30) > 100 | string |
string | |
string | |
string | |
additionalPrometheusRulesMap.oom-rules.groups[].rules[].annotations.summary (5) Container {{ $labels.container }} in pod {{ $labels.namespace }}/{{ $labels.pod }} has been OOMKilled {{ $value }} times in the last 10 minutes. | string |
additionalPrometheusRulesMap.oom-rules.groups[].rules[].expr (5) (kube_pod_container_status_restarts_total - kube_pod_container_status_restarts_total offset 10m >= 1) and ignoring (reason) min_over_time(kube_pod_container_status_last_terminated_reason{reason="OOMKilled"}[10m]) == 1 | string |
string | |
string | |
additionalPrometheusRulesMap.zfs-rules.groups[].rules[].alert (3) ZfsUnexpectedPoolState | string |
additionalPrometheusRulesMap.zfs-rules.groups[].rules[].annotations.summary (3) ZFS pool {{$labels.zpool}} on {{$labels.instance}} is in a unexpected state {{$labels.state}} | string |
additionalPrometheusRulesMap.zfs-rules.groups[].rules[].expr (3) node_zfs_zpool_state{state!="online"} > 0 | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
kubeDns.enabled (3) false | boolean |
number | |
number | |
number | |
number | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
number | |
string | |
boolean | |
number | |
number | |
boolean | |
number | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
number | |
string | |
string | |
string | |
number | |
number | |
number | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
number | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string |