Я настроил оповещение об использовании памяти узла в Prometheus. Мой шаблон оповещения выглядит следующим образом:
- alert: NodeMemory Usage(development)
annotations:
description: '{{$labels.instance}} Memory usage is critical (current value is: {{ $value }})'
summary: High Memory usage detected
expr: |
1 - sum by(node) ((node_memory_MemFree{job="node-exporter"} + node_memory_Cached{job="node-exporter"} + node_memory_Buffers{job="node-exporter"}) * on(namespace, pod) group_left(node) node_namespace_pod:kube_pod_info:) / sum by(node) (node_memory_MemTotal{job="node-exporter"}* on(namespace, pod) group_left(node) node_namespace_pod:kube_pod_info:) > 0.70
for: 1s
labels:
severity: warning
Я получаю имя узла в предупреждении, когда пороговое значение превышает для одного узла (здесь имя узла - node-3z4c), как показано ниже:
[FIRING:1] (NodeMemory Usage(development) nodes-3z4c monitoring/k8s warning)
Memory usage is critical (current value is: 0.7148033249432908)
Но проблема в том, что, когда несколько узлов превышают пороговое значение, имя нескольких узлов не указывается в уведомлении о предупреждении и получает уведомление следующим образом:
[FIRING:4] NodeMemory Usage (monitoring/k8s)
Memory usage is critical (current value is: 0.7319404231240473)
Memory usage is critical (current value is: 0.7856648253333621)
Может ли кто-нибудь помочь мне разобраться в проблеме?