Skip to content

Commit d01b0df

Browse files
fix(observability): virtualization virt metrics state (#1291)
Remove alert D8InternalVirtualizationVirtHandlerTargetAbsent and D8InternalVirtualizationVirtHandlerTargetDown Add new metrics fo virtualization virt metrics state: - D8InternalVirtualizationVirtMetricsTargetAbsent - D8InternalVirtualizationVirtMetricsTargetDown --------- Signed-off-by: Nikita Korolev <[email protected]> Co-authored-by: Ivan Mikheykin <[email protected]>
1 parent 714a95d commit d01b0df

File tree

2 files changed

+36
-36
lines changed

2 files changed

+36
-36
lines changed

monitoring/prometheus-rules/internal-virtualization-virt-hander.yaml

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,5 @@
11
- name: kubernetes.internal.virtualization.virt_handler_state
22
rules:
3-
- alert: D8InternalVirtualizationVirtHandlerTargetDown
4-
expr: max by (job) (up{job="internal-virtualization-kubevirt-prometheus-metrics"}) == 0
5-
for: 1m
6-
labels:
7-
severity_level: "6"
8-
tier: cluster
9-
annotations:
10-
plk_markup_format: "markdown"
11-
plk_protocol_version: "1"
12-
plk_create_group_if_not_exists__d8_internal_virtualization_virt_handler_health: "D8InternalVirtualizationVirtHandlerlHealth,tier=~tier,prometheus=deckhouse,kubernetes=~kubernetes"
13-
plk_grouped_by__d8_internal_virtualization_virt_handler_health: "D8InternalVirtualizationVirtHandlerlHealth,tier=~tier,prometheus=deckhouse,kubernetes=~kubernetes"
14-
plk_ignore_labels: "job"
15-
summary: Prometheus cannot scrape the virtualization-controller metrics.
16-
description: |
17-
The recommended course of action:
18-
1. Check the Pod status: `kubectl -n d8-virtualization get pod -l kubevirt.internal.virtualization.deckhouse.io=virt-handler`
19-
2. Or check the Pod logs: `kubectl -n d8-virtualization logs daemonsets/virt-handler`
20-
21-
- alert: D8InternalVirtualizationVirtHandlerTargetAbsent
22-
expr: absent(up{job="internal-virtualization-kubevirt-prometheus-metrics"}) == 1
23-
labels:
24-
severity_level: "6"
25-
tier: cluster
26-
for: 15m
27-
annotations:
28-
plk_protocol_version: "1"
29-
plk_markup_format: "markdown"
30-
plk_ignore_labels: "job"
31-
plk_create_group_if_not_exists__d8_internal_virtualization_virt_handler_health: "D8InternalVirtualizationVirtHandlerHealth,tier=~tier,prometheus=deckhouse,kubernetes=~kubernetes"
32-
plk_grouped_by__d8_internal_virtualization_virt_handler_health: "D8InternalVirtualizationVirtHandlerHealth,tier=~tier,prometheus=deckhouse,kubernetes=~kubernetes"
33-
summary: There is no `virtualization-controller` target in Prometheus.
34-
description: |
35-
The recommended course of action:
36-
1. Check the Pod status: `kubectl -n d8-virtualization get pod -l kubevirt.internal.virtualization.deckhouse.io=virt-handler`
37-
2. Or check the Pod logs: `kubectl -n d8-virtualization logs daemonsets/virt-handler`
38-
393
- alert: D8InternalVirtualizationVirtHandlerPodIsNotReady
404
expr: min by (pod) (avg by(node,pod,namespace)(kube_pod_info{}) * on(pod, namespace) group_right(node) kube_pod_status_ready{condition="true", namespace="d8-virtualization", pod=~"virt-handler-.*"}) != 1
415
for: 10m
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
- name: kubernetes.internal.virtualization.virt_metrics_state
2+
rules:
3+
- alert: D8InternalVirtualizationVirtMetricsTargetDown
4+
expr: max by (job) (up{job="kubevirt-prometheus-metrics"}) == 0
5+
for: 1m
6+
labels:
7+
severity_level: "6"
8+
tier: cluster
9+
annotations:
10+
plk_markup_format: "markdown"
11+
plk_protocol_version: "1"
12+
plk_create_group_if_not_exists__d8_internal_virtualization_virt_metrics_health: "D8InternalVirtualizationVirtMetricslHealth,tier=~tier,prometheus=deckhouse,kubernetes=~kubernetes"
13+
plk_grouped_by__d8_internal_virtualization_virt_handler_health: "D8InternalVirtualizationVirtMetricslHealth,tier=~tier,prometheus=deckhouse,kubernetes=~kubernetes"
14+
plk_ignore_labels: "job"
15+
summary: Prometheus cannot scrape the virt-handler, virt-api, and virt-controller metrics.
16+
description: |
17+
The recommended course of action:
18+
1. Check the service: `kubectl -n d8-virtualization get service kubevirt-prometheus-metrics`
19+
20+
- alert: D8InternalVirtualizationVirtMetricsTargetAbsent
21+
expr: absent(up{job="kubevirt-prometheus-metrics"}) == 1
22+
labels:
23+
severity_level: "6"
24+
tier: cluster
25+
for: 1m
26+
annotations:
27+
plk_protocol_version: "1"
28+
plk_markup_format: "markdown"
29+
plk_ignore_labels: "job"
30+
plk_create_group_if_not_exists__d8_internal_virtualization_virt_metrics_health: "D8InternalVirtualizationVirtMetricsHealth,tier=~tier,prometheus=deckhouse,kubernetes=~kubernetes"
31+
plk_grouped_by__d8_internal_virtualization_virt_handler_health: "D8InternalVirtualizationVirtMetricsHealth,tier=~tier,prometheus=deckhouse,kubernetes=~kubernetes"
32+
summary: Prometheus can't discover targets for virt-handler, virt-api, and virt-controller metrics.
33+
description: |
34+
The recommended course of action:
35+
1. Check that service exists `kubectl -n d8-virtualization get service kubevirt-prometheus-metrics`
36+
2. Check that virt-handler, virt-api, and virt-controller exist: `kubectl -n d8-virtualization get po -l prometheus.kubevirt.internal.virtualization.deckhouse.io=true`

0 commit comments

Comments
 (0)