プロメテウスでノードのメモリ使用量のアラートを構成しました。私のアラート テンプレートは次のとおりです。
- 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
次のように、1 つのノード (ここでのノード名は nodes-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)
問題を理解するのを手伝ってくれる人はいますか?