70 lines
3.0 KiB
YAML
70 lines
3.0 KiB
YAML
{{- $Values := (.helm).Values | default .Values }}
|
|
{{- $runbookUrl := ($Values.defaultRules).runbookUrl | default "https://runbooks.prometheus-operator.dev/runbooks" }}
|
|
{{- $clusterLabel := ($Values.global).clusterLabel | default "cluster" }}
|
|
{{- $additionalGroupByLabels := append $Values.defaultRules.additionalGroupByLabels $clusterLabel }}
|
|
{{- $groupLabels := join "," $additionalGroupByLabels }}
|
|
{{- $grafanaHost := ternary (index (($Values.grafana).ingress).hosts 0) (($Values.external).grafana).host ($Values.grafana).enabled }}
|
|
condition: '{{ ($Values.kubeApiServer).enabled }}'
|
|
name: kube-apiserver-slos
|
|
rules:
|
|
- alert: KubeAPIErrorBudgetBurn
|
|
annotations:
|
|
description: 'The API server is burning too much error budget on cluster {{`{{`}} $labels.{{ $clusterLabel }} {{`}}`}}.'
|
|
runbook_url: '{{ $runbookUrl }}/kubernetes/kubeapierrorbudgetburn'
|
|
summary: 'The API server is burning too much error budget.'
|
|
condition: '{{ true }}'
|
|
expr: |-
|
|
sum by ({{ $groupLabels }}) (apiserver_request:burnrate1h) > (14.40 * 0.01000)
|
|
and on ({{ $groupLabels }})
|
|
sum by ({{ $groupLabels }}) (apiserver_request:burnrate5m) > (14.40 * 0.01000)
|
|
for: 2m
|
|
labels:
|
|
long: 1h
|
|
severity: critical
|
|
short: 5m
|
|
- alert: KubeAPIErrorBudgetBurn
|
|
annotations:
|
|
description: 'The API server is burning too much error budget on cluster {{`{{`}} $labels.{{ $clusterLabel }} {{`}}`}}.'
|
|
runbook_url: '{{ $runbookUrl }}/kubernetes/kubeapierrorbudgetburn'
|
|
summary: 'The API server is burning too much error budget.'
|
|
condition: '{{ true }}'
|
|
expr: |-
|
|
sum by ({{ $groupLabels }}) (apiserver_request:burnrate6h) > (6.00 * 0.01000)
|
|
and on ({{ $groupLabels }})
|
|
sum by ({{ $groupLabels }}) (apiserver_request:burnrate30m) > (6.00 * 0.01000)
|
|
for: 15m
|
|
labels:
|
|
long: 6h
|
|
severity: critical
|
|
short: 30m
|
|
- alert: KubeAPIErrorBudgetBurn
|
|
annotations:
|
|
description: 'The API server is burning too much error budget on cluster {{`{{`}} $labels.{{ $clusterLabel }} {{`}}`}}.'
|
|
runbook_url: '{{ $runbookUrl }}/kubernetes/kubeapierrorbudgetburn'
|
|
summary: 'The API server is burning too much error budget.'
|
|
condition: '{{ true }}'
|
|
expr: |-
|
|
sum by ({{ $groupLabels }}) (apiserver_request:burnrate1d) > (3.00 * 0.01000)
|
|
and on ({{ $groupLabels }})
|
|
sum by ({{ $groupLabels }}) (apiserver_request:burnrate2h) > (3.00 * 0.01000)
|
|
for: 1h
|
|
labels:
|
|
long: 1d
|
|
severity: warning
|
|
short: 2h
|
|
- alert: KubeAPIErrorBudgetBurn
|
|
annotations:
|
|
description: 'The API server is burning too much error budget on cluster {{`{{`}} $labels.{{ $clusterLabel }} {{`}}`}}.'
|
|
runbook_url: '{{ $runbookUrl }}/kubernetes/kubeapierrorbudgetburn'
|
|
summary: 'The API server is burning too much error budget.'
|
|
condition: '{{ true }}'
|
|
expr: |-
|
|
sum by ({{ $groupLabels }}) (apiserver_request:burnrate3d) > (1.00 * 0.01000)
|
|
and on ({{ $groupLabels }})
|
|
sum by ({{ $groupLabels }}) (apiserver_request:burnrate6h) > (1.00 * 0.01000)
|
|
for: 3h
|
|
labels:
|
|
long: 3d
|
|
severity: warning
|
|
short: 6h
|