mirror of https://git.rancher.io/charts
152 lines
8.9 KiB
YAML
152 lines
8.9 KiB
YAML
{{- /*
|
|
Generated from 'kube-state-metrics' group from https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/a8ba97a150c75be42010c75d10b720c55e182f1a/manifests/kubeStateMetrics-prometheusRule.yaml
|
|
Do not change in-place! In order to change this file first read following link:
|
|
https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
|
|
*/ -}}
|
|
{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion .Values.kubeTargetVersionOverride }}
|
|
{{- if and (semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" $kubeTargetVersion) .Values.defaultRules.create .Values.defaultRules.rules.kubeStateMetrics }}
|
|
{{- $kubeStateMetricsJob := include "kube-prometheus-stack-kube-state-metrics.name" . }}
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: PrometheusRule
|
|
metadata:
|
|
name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" .) "kube-state-metrics" | trunc 63 | trimSuffix "-" }}
|
|
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
|
labels:
|
|
app: {{ template "kube-prometheus-stack.name" . }}
|
|
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
|
{{- if .Values.defaultRules.labels }}
|
|
{{ toYaml .Values.defaultRules.labels | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.defaultRules.annotations }}
|
|
annotations:
|
|
{{ toYaml .Values.defaultRules.annotations | indent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
groups:
|
|
- name: kube-state-metrics
|
|
rules:
|
|
{{- if not (.Values.defaultRules.disabled.KubeStateMetricsListErrors | default false) }}
|
|
- alert: KubeStateMetricsListErrors
|
|
annotations:
|
|
{{- if .Values.defaultRules.additionalRuleAnnotations }}
|
|
{{ toYaml .Values.defaultRules.additionalRuleAnnotations | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.defaultRules.additionalRuleGroupAnnotations.kubeStateMetrics }}
|
|
{{ toYaml .Values.defaultRules.additionalRuleGroupAnnotations.kubeStateMetrics | indent 8 }}
|
|
{{- end }}
|
|
description: kube-state-metrics is experiencing errors at an elevated rate in list operations. This is likely causing it to not be able to expose metrics about Kubernetes objects correctly or at all.
|
|
runbook_url: {{ .Values.defaultRules.runbookUrl }}/kube-state-metrics/kubestatemetricslisterrors
|
|
summary: kube-state-metrics is experiencing errors in list operations.
|
|
expr: |-
|
|
(sum(rate(kube_state_metrics_list_total{job="{{ $kubeStateMetricsJob }}",result="error"}[5m])) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster)
|
|
/
|
|
sum(rate(kube_state_metrics_list_total{job="{{ $kubeStateMetricsJob }}"}[5m])) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster))
|
|
> 0.01
|
|
for: {{ dig "KubeStateMetricsListErrors" "for" "15m" .Values.customRules }}
|
|
{{- with .Values.defaultRules.keepFiringFor }}
|
|
keep_firing_for: "{{ . }}"
|
|
{{- end }}
|
|
labels:
|
|
severity: {{ dig "KubeStateMetricsListErrors" "severity" "critical" .Values.customRules }}
|
|
{{- if or .Values.defaultRules.additionalRuleLabels .Values.defaultRules.additionalRuleGroupLabels.kubeStateMetrics }}
|
|
{{- with .Values.defaultRules.additionalRuleLabels }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.defaultRules.additionalRuleGroupLabels.kubeStateMetrics }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if not (.Values.defaultRules.disabled.KubeStateMetricsWatchErrors | default false) }}
|
|
- alert: KubeStateMetricsWatchErrors
|
|
annotations:
|
|
{{- if .Values.defaultRules.additionalRuleAnnotations }}
|
|
{{ toYaml .Values.defaultRules.additionalRuleAnnotations | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.defaultRules.additionalRuleGroupAnnotations.kubeStateMetrics }}
|
|
{{ toYaml .Values.defaultRules.additionalRuleGroupAnnotations.kubeStateMetrics | indent 8 }}
|
|
{{- end }}
|
|
description: kube-state-metrics is experiencing errors at an elevated rate in watch operations. This is likely causing it to not be able to expose metrics about Kubernetes objects correctly or at all.
|
|
runbook_url: {{ .Values.defaultRules.runbookUrl }}/kube-state-metrics/kubestatemetricswatcherrors
|
|
summary: kube-state-metrics is experiencing errors in watch operations.
|
|
expr: |-
|
|
(sum(rate(kube_state_metrics_watch_total{job="{{ $kubeStateMetricsJob }}",result="error"}[5m])) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster)
|
|
/
|
|
sum(rate(kube_state_metrics_watch_total{job="{{ $kubeStateMetricsJob }}"}[5m])) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster))
|
|
> 0.01
|
|
for: {{ dig "KubeStateMetricsWatchErrors" "for" "15m" .Values.customRules }}
|
|
{{- with .Values.defaultRules.keepFiringFor }}
|
|
keep_firing_for: "{{ . }}"
|
|
{{- end }}
|
|
labels:
|
|
severity: {{ dig "KubeStateMetricsWatchErrors" "severity" "critical" .Values.customRules }}
|
|
{{- if or .Values.defaultRules.additionalRuleLabels .Values.defaultRules.additionalRuleGroupLabels.kubeStateMetrics }}
|
|
{{- with .Values.defaultRules.additionalRuleLabels }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.defaultRules.additionalRuleGroupLabels.kubeStateMetrics }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if not (.Values.defaultRules.disabled.KubeStateMetricsShardingMismatch | default false) }}
|
|
- alert: KubeStateMetricsShardingMismatch
|
|
annotations:
|
|
{{- if .Values.defaultRules.additionalRuleAnnotations }}
|
|
{{ toYaml .Values.defaultRules.additionalRuleAnnotations | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.defaultRules.additionalRuleGroupAnnotations.kubeStateMetrics }}
|
|
{{ toYaml .Values.defaultRules.additionalRuleGroupAnnotations.kubeStateMetrics | indent 8 }}
|
|
{{- end }}
|
|
description: kube-state-metrics pods are running with different --total-shards configuration, some Kubernetes objects may be exposed multiple times or not exposed at all.
|
|
runbook_url: {{ .Values.defaultRules.runbookUrl }}/kube-state-metrics/kubestatemetricsshardingmismatch
|
|
summary: kube-state-metrics sharding is misconfigured.
|
|
expr: stdvar (kube_state_metrics_total_shards{job="{{ $kubeStateMetricsJob }}"}) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster) != 0
|
|
for: {{ dig "KubeStateMetricsShardingMismatch" "for" "15m" .Values.customRules }}
|
|
{{- with .Values.defaultRules.keepFiringFor }}
|
|
keep_firing_for: "{{ . }}"
|
|
{{- end }}
|
|
labels:
|
|
severity: {{ dig "KubeStateMetricsShardingMismatch" "severity" "critical" .Values.customRules }}
|
|
{{- if or .Values.defaultRules.additionalRuleLabels .Values.defaultRules.additionalRuleGroupLabels.kubeStateMetrics }}
|
|
{{- with .Values.defaultRules.additionalRuleLabels }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.defaultRules.additionalRuleGroupLabels.kubeStateMetrics }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if not (.Values.defaultRules.disabled.KubeStateMetricsShardsMissing | default false) }}
|
|
- alert: KubeStateMetricsShardsMissing
|
|
annotations:
|
|
{{- if .Values.defaultRules.additionalRuleAnnotations }}
|
|
{{ toYaml .Values.defaultRules.additionalRuleAnnotations | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.defaultRules.additionalRuleGroupAnnotations.kubeStateMetrics }}
|
|
{{ toYaml .Values.defaultRules.additionalRuleGroupAnnotations.kubeStateMetrics | indent 8 }}
|
|
{{- end }}
|
|
description: kube-state-metrics shards are missing, some Kubernetes objects are not being exposed.
|
|
runbook_url: {{ .Values.defaultRules.runbookUrl }}/kube-state-metrics/kubestatemetricsshardsmissing
|
|
summary: kube-state-metrics shards are missing.
|
|
expr: |-
|
|
2^max(kube_state_metrics_total_shards{job="{{ $kubeStateMetricsJob }}"}) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster) - 1
|
|
-
|
|
sum( 2 ^ max by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster, shard_ordinal) (kube_state_metrics_shard_ordinal{job="{{ $kubeStateMetricsJob }}"}) ) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster)
|
|
!= 0
|
|
for: {{ dig "KubeStateMetricsShardsMissing" "for" "15m" .Values.customRules }}
|
|
{{- with .Values.defaultRules.keepFiringFor }}
|
|
keep_firing_for: "{{ . }}"
|
|
{{- end }}
|
|
labels:
|
|
severity: {{ dig "KubeStateMetricsShardsMissing" "severity" "critical" .Values.customRules }}
|
|
{{- if or .Values.defaultRules.additionalRuleLabels .Values.defaultRules.additionalRuleGroupLabels.kubeStateMetrics }}
|
|
{{- with .Values.defaultRules.additionalRuleLabels }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.defaultRules.additionalRuleGroupLabels.kubeStateMetrics }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }} |