CPU 负载平均规则 5 分钟

Tek*_*gar 0 prometheus prometheus-alertmanager

我们正在使用 Prometheus-Grafana。现在我们要为 5 分钟的 CPU 平均负载设置警报。

我们有 60 台服务器,它们具有不同的 CPU 内核,例如很少有机器有 1 核、2 核、6 核、8 核等。

下面的规则将给出加载 5 分钟的结果。但它不会区分机器是单核还是多核。

- name: alerting_rules
    rules:
      - alert: LoadAverage15m
        expr: node_load5 >= 0.75
        labels:
          severity: major
        annotations:
          summary: "Instance {{ $labels.instance }} - high load average"
          description: "{{ $labels.instance  }} (measured by {{ $labels.job }}) has high load average ({{ $value }}) over 5 minutes."
Run Code Online (Sandbox Code Playgroud)

我已经尝试过以下规则,但它也不起作用:

- alert: LoadAverage5minutes
    expr: node_load5/count(node_cpu{mode="idle"}) without (cpu,mode) >= 0.95
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "Load average is high for 5 minutes (instance {{ $labels.instance }})"
      description: "Load is high \n  VALUE = {{ $value }}\n  LABELS: {{ $labels }}"
Run Code Online (Sandbox Code Playgroud)

你能帮我看看我的规则需要做哪些改变才能让它发挥作用。

谢谢。

Mar*_*ira 5

以下表达式应该有效:

expr: node_load5 / count by (instance, job) (node_cpu_seconds_total{mode="idle"}) >= 0.95
Run Code Online (Sandbox Code Playgroud)