rules规则文件的描述如何使用prometheusalertmanager监控中node_exporter的数据

问题描述 投票:0回答:1

当我发送警报时,我希望在触发警报时发送推送 我想在描述中添加更多信息,例如node_filesystem_files_free&node_cpu_seconds_total&node_cpu_guest_seconds_total

groups:
  - name: test
    rules:
      - alert: test
        expr: (node_filesystem_free_bytes{job="big-data"} / 1024^3) < 10
        for: 1m
        labels:       
          name: instance
          severity: Critical
          level: Warning
          job: big-data
        annotations:
          summary: "test - {{ $labels.appname }}"
          description: "{{ $labels.device }} 10GB! \n last: {{ $value | printf \"%.1f\" }} GB"
          value: "{{ $value}}%"

当我尝试使用时

描述:“{{node_filesystem_free_bytes}}”

错误:函数“node_filesystem_free_bytes”未定义

kubernetes prometheus monitoring prometheus-alertmanager
1个回答
0
投票

Prometheus 可以轻松定义警报规则,警报规则允许您基于 Prometheus 表达式、语言表达式定义警报条件,并向外部服务发送有关触发警报的通知。

可能存在 Prometheus 模板中函数语法使用不正确的问题。从这个grafana文档你可以找到各种prometheus警报规则。检查文档中的以下部分

alert: HostDiskWillFillIn24Hours
    expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10 and ON (instance, device, mountpoint) predict_linear(node_filesystem_avail_bytes{fstype!~"tmpfs"}[1h], 24 * 3600) < 0 and ON (instance, device, mountpoint) node_filesystem_readonly == 0
    for: 2m
    labels:
      severity: warning
    annotations:
      summary: Host disk will fill in 24 hours (instance {{ $labels.instance }})

      description: Filesystem is predicted to run out of space within the next 24 hours at current write rate\n  VALUE = {{ $value }}

当磁盘填满非root用户时,使用“node_filesystem_free_bytes”的相同规则将触发,并且在github中也类似。

看看这个Prometheus风格的UI,用于您的警报、记录规则和Alertmanager。

© www.soinside.com 2019 - 2024. All rights reserved.