github.com/verrazzano/verrazzano@v1.7.0/platform-operator/thirdparty/charts/prometheus-community/kube-prometheus-stack/templates/prometheus/rules-1.14/kube-apiserver-slos.yaml (about)

     1  {{- /*
     2  Generated from 'kube-apiserver-slos' group from https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/main/manifests/kubernetesControlPlane-prometheusRule.yaml
     3  Do not change in-place! In order to change this file first read following link:
     4  https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
     5  */ -}}
     6  {{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion .Values.kubeTargetVersionOverride }}
     7  {{- if and (semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" $kubeTargetVersion) .Values.defaultRules.create .Values.kubeApiServer.enabled .Values.defaultRules.rules.kubeApiserverSlos }}
     8  apiVersion: monitoring.coreos.com/v1
     9  kind: PrometheusRule
    10  metadata:
    11    name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" .) "kube-apiserver-slos" | trunc 63 | trimSuffix "-" }}
    12    namespace: {{ template "kube-prometheus-stack.namespace" . }}
    13    labels:
    14      app: {{ template "kube-prometheus-stack.name" . }}
    15  {{ include "kube-prometheus-stack.labels" . | indent 4 }}
    16  {{- if .Values.defaultRules.labels }}
    17  {{ toYaml .Values.defaultRules.labels | indent 4 }}
    18  {{- end }}
    19  {{- if .Values.defaultRules.annotations }}
    20    annotations:
    21  {{ toYaml .Values.defaultRules.annotations | indent 4 }}
    22  {{- end }}
    23  spec:
    24    groups:
    25    - name: kube-apiserver-slos
    26      rules:
    27  {{- if not (.Values.defaultRules.disabled.KubeAPIErrorBudgetBurn | default false) }}
    28      - alert: KubeAPIErrorBudgetBurn
    29        annotations:
    30  {{- if .Values.defaultRules.additionalRuleAnnotations }}
    31  {{ toYaml .Values.defaultRules.additionalRuleAnnotations | indent 8 }}
    32  {{- end }}
    33          description: The API server is burning too much error budget.
    34          runbook_url: {{ .Values.defaultRules.runbookUrl }}/kubernetes/kubeapierrorbudgetburn
    35          summary: The API server is burning too much error budget.
    36        expr: |-
    37          sum(apiserver_request:burnrate1h) > (14.40 * 0.01000)
    38          and
    39          sum(apiserver_request:burnrate5m) > (14.40 * 0.01000)
    40        for: 2m
    41        labels:
    42          long: 1h
    43          severity: critical
    44          short: 5m
    45  {{- if .Values.defaultRules.additionalRuleLabels }}
    46  {{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
    47  {{- end }}
    48  {{- end }}
    49  {{- if not (.Values.defaultRules.disabled.KubeAPIErrorBudgetBurn | default false) }}
    50      - alert: KubeAPIErrorBudgetBurn
    51        annotations:
    52  {{- if .Values.defaultRules.additionalRuleAnnotations }}
    53  {{ toYaml .Values.defaultRules.additionalRuleAnnotations | indent 8 }}
    54  {{- end }}
    55          description: The API server is burning too much error budget.
    56          runbook_url: {{ .Values.defaultRules.runbookUrl }}/kubernetes/kubeapierrorbudgetburn
    57          summary: The API server is burning too much error budget.
    58        expr: |-
    59          sum(apiserver_request:burnrate6h) > (6.00 * 0.01000)
    60          and
    61          sum(apiserver_request:burnrate30m) > (6.00 * 0.01000)
    62        for: 15m
    63        labels:
    64          long: 6h
    65          severity: critical
    66          short: 30m
    67  {{- if .Values.defaultRules.additionalRuleLabels }}
    68  {{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
    69  {{- end }}
    70  {{- end }}
    71  {{- if not (.Values.defaultRules.disabled.KubeAPIErrorBudgetBurn | default false) }}
    72      - alert: KubeAPIErrorBudgetBurn
    73        annotations:
    74  {{- if .Values.defaultRules.additionalRuleAnnotations }}
    75  {{ toYaml .Values.defaultRules.additionalRuleAnnotations | indent 8 }}
    76  {{- end }}
    77          description: The API server is burning too much error budget.
    78          runbook_url: {{ .Values.defaultRules.runbookUrl }}/kubernetes/kubeapierrorbudgetburn
    79          summary: The API server is burning too much error budget.
    80        expr: |-
    81          sum(apiserver_request:burnrate1d) > (3.00 * 0.01000)
    82          and
    83          sum(apiserver_request:burnrate2h) > (3.00 * 0.01000)
    84        for: 1h
    85        labels:
    86          long: 1d
    87          severity: warning
    88          short: 2h
    89  {{- if .Values.defaultRules.additionalRuleLabels }}
    90  {{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
    91  {{- end }}
    92  {{- end }}
    93  {{- if not (.Values.defaultRules.disabled.KubeAPIErrorBudgetBurn | default false) }}
    94      - alert: KubeAPIErrorBudgetBurn
    95        annotations:
    96  {{- if .Values.defaultRules.additionalRuleAnnotations }}
    97  {{ toYaml .Values.defaultRules.additionalRuleAnnotations | indent 8 }}
    98  {{- end }}
    99          description: The API server is burning too much error budget.
   100          runbook_url: {{ .Values.defaultRules.runbookUrl }}/kubernetes/kubeapierrorbudgetburn
   101          summary: The API server is burning too much error budget.
   102        expr: |-
   103          sum(apiserver_request:burnrate3d) > (1.00 * 0.01000)
   104          and
   105          sum(apiserver_request:burnrate6h) > (1.00 * 0.01000)
   106        for: 3h
   107        labels:
   108          long: 3d
   109          severity: warning
   110          short: 6h
   111  {{- if .Values.defaultRules.additionalRuleLabels }}
   112  {{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
   113  {{- end }}
   114  {{- end }}
   115  {{- end }}