ed4a83c61960e1d513ca0574cde8c0c49a6a836b
[demo.git] / vnfs / DAaaS / operator / charts / prometheus-operator / templates / prometheus / rules / kubernetes-resources.yaml
1 # Generated from 'kubernetes-resources' group from https://raw.githubusercontent.com/coreos/prometheus-operator/master/contrib/kube-prometheus/manifests/prometheus-rules.yaml
2 # Do not change in-place! In order to change this file first read following link:
3 # https://github.com/helm/charts/tree/master/stable/prometheus-operator/hack
4 {{- if and .Values.defaultRules.create .Values.defaultRules.rules.kubernetesResources }}
5 apiVersion: {{ printf "%s/v1" (.Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com") }}
6 kind: PrometheusRule
7 metadata:
8   name: {{ printf "%s-%s" (include "prometheus-operator.fullname" .) "kubernetes-resources" | trunc 63 | trimSuffix "-" }}
9   labels:
10     app: {{ template "prometheus-operator.name" . }}
11 {{ include "prometheus-operator.labels" . | indent 4 }}
12 {{- if .Values.defaultRules.labels }}
13 {{ toYaml .Values.defaultRules.labels | indent 4 }}
14 {{- end }}
15 {{- if .Values.defaultRules.annotations }}
16   annotations:
17 {{ toYaml .Values.defaultRules.annotations | indent 4 }}
18 {{- end }}
19 spec:
20   groups:
21   - name: kubernetes-resources
22     rules:
23     - alert: KubeCPUOvercommit
24       annotations:
25         message: Cluster has overcommitted CPU resource requests for Pods and cannot tolerate node failure.
26         runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecpuovercommit
27       expr: |-
28         sum(namespace_name:kube_pod_container_resource_requests_cpu_cores:sum)
29           /
30         sum(node:node_num_cpu:sum)
31           >
32         (count(node:node_num_cpu:sum)-1) / count(node:node_num_cpu:sum)
33       for: 5m
34       labels:
35         severity: warning
36     - alert: KubeMemOvercommit
37       annotations:
38         message: Cluster has overcommitted memory resource requests for Pods and cannot tolerate node failure.
39         runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubememovercommit
40       expr: |-
41         sum(namespace_name:kube_pod_container_resource_requests_memory_bytes:sum)
42           /
43         sum(node_memory_MemTotal_bytes)
44           >
45         (count(node:node_num_cpu:sum)-1)
46           /
47         count(node:node_num_cpu:sum)
48       for: 5m
49       labels:
50         severity: warning
51     - alert: KubeCPUOvercommit
52       annotations:
53         message: Cluster has overcommitted CPU resource requests for Namespaces.
54         runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecpuovercommit
55       expr: |-
56         sum(kube_resourcequota{job="kube-state-metrics", type="hard", resource="requests.cpu"})
57           /
58         sum(node:node_num_cpu:sum)
59           > 1.5
60       for: 5m
61       labels:
62         severity: warning
63     - alert: KubeMemOvercommit
64       annotations:
65         message: Cluster has overcommitted memory resource requests for Namespaces.
66         runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubememovercommit
67       expr: |-
68         sum(kube_resourcequota{job="kube-state-metrics", type="hard", resource="requests.memory"})
69           /
70         sum(node_memory_MemTotal_bytes{job="node-exporter"})
71           > 1.5
72       for: 5m
73       labels:
74         severity: warning
75     - alert: KubeQuotaExceeded
76       annotations:
77         message: Namespace {{`{{ $labels.namespace }}`}} is using {{`{{ printf "%0.0f" $value }}`}}% of its {{`{{ $labels.resource }}`}} quota.
78         runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubequotaexceeded
79       expr: |-
80         100 * kube_resourcequota{job="kube-state-metrics", type="used"}
81           / ignoring(instance, job, type)
82         (kube_resourcequota{job="kube-state-metrics", type="hard"} > 0)
83           > 90
84       for: 15m
85       labels:
86         severity: warning
87     - alert: CPUThrottlingHigh
88       annotations:
89         message: '{{`{{ printf "%0.0f" $value }}`}}% throttling of CPU in namespace {{`{{ $labels.namespace }}`}} for container {{`{{ $labels.container_name }}`}} in pod {{`{{ $labels.pod_name }}`}}.'
90         runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-cputhrottlinghigh
91       expr: |-
92         100 * sum(increase(container_cpu_cfs_throttled_periods_total{container_name!="", }[5m])) by (container_name, pod_name, namespace)
93           /
94         sum(increase(container_cpu_cfs_periods_total{}[5m])) by (container_name, pod_name, namespace)
95           > 25
96       for: 15m
97       labels:
98         severity: warning
99 {{- end }}