Prometheus监控,生产可用告警规则(可获取主机名)

以下是生产环境中prometheus.rules.yml告警规则用例,在此记录一下,相关信息已做脱敏处理。

prometheus默认的instance是ip:port格式的,无法知道主机名。而主机名(nodename)在指标node_uname_info中,且node_uname_info的值恰巧为1,所以我们可以在PromQL中通过node_uname_info提取,只需要在原有PromQL后添加

* on(instance) group_left(nodename) (node_uname_info)

这样,在prometheus告警的labels中,就可以通过nodename获取主机名了

特别的,up==0的值是0,做乘法是不会得到结果的,目前还没想到这个指标得到主机名的办法

groups:
  - name: 成都服务器告警
    rules:
    - alert: 服务器宕机告警
      expr: up == 0
      for: 3m
      labels:
        region: 成都
      annotations:
        summary: "{{$labels.instance}}宕机!"
        description: "服务器{{$labels.instance}}已宕机!"
    - alert: cpu使用率过高告警
      expr: (100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)* 100))* on(instance) group_left(nodename) (node_uname_info) > 85
      for: 5m
      labels:
        region: 成都
      annotations:
        summary: "{{$labels.instance}}({{$labels.nodename}})CPU使用率过高!"
        description: '服务器{{$labels.instance}}({{$labels.nodename}})CPU使用率超过85%(目前使用:{{printf "%.2f" $value}}%)'
    - alert: 系统负载过高
      expr: (node_load1/count without (cpu, mode) (node_cpu_seconds_total{mode="system"}))* on(instance) group_left(nodename) (node_uname_info)>1.1
      for: 3m
      labels:
        region: 成都
      annotations:
        summary: "{{$labels.instance}}({{$labels.nodename}})系统负载过高!"
        description: '{{$labels.instance}}({{$labels.nodename}})当前负载超标率 {{printf "%.2f" $value}}'
    - alert: 内存不足告警
      expr: (100 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100)* on(instance) group_left(nodename) (node_uname_info) > 80
      for: 3m
      labels:
        region: 成都
      annotations:
        summary: "{{$labels.instance}}({{$labels.nodename}})内存使用率过高!"
        description: '服务器{{$labels.instance}}({{$labels.nodename}})内存使用率超过80%(目前使用:{{printf "%.2f" $value}}%)'
    - alert: 硬盘空间不足告警
      expr: (100-(node_filesystem_free_bytes{fstype=~"ext4|xfs"}/node_filesystem_size_bytes {fstype=~"ext4|xfs"}*100) )* on(instance) group_left(nodename) (node_uname_info)> 80
      for: 3m
      labels:
        region: 成都
      annotations:
        summary: "{{$labels.instance}}({{$labels.nodename}})硬盘使用率过高!"
        description: '服务器{{$labels.instance}}({{$labels.nodename}})硬盘使用率超过80%(目前使用:{{printf "%.2f" $value}}%)'

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据引用的内容,Elasticsearch_exporter_rules.yml是用来配置Elasticsearch集群告警规则的文件。这些规则是用来监控Elasticsearch服务的各种指标,并在满足某些条件时触发告警。具体的规则内容可以在该文件中找到。 另外,引用和引用提到了一些关于Prometheus监控服务的常见告警规则,其中也包括了Elasticsearch的监控规则。通过配置这些规则,可以监控Elasticsearch的各项指标,例如节点状态、文档数量、查询性能等,并在出现异常情况时及时发出告警通知。 综上所述,要了解更多关于Prometheus监控Elasticsearch的告警规则,可以参考Elasticsearch_exporter_rules.yml文件以及其他相关的监控规则配置文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [三、Prometheus常用告警规则rules.yml](https://blog.csdn.net/yeqinghanwu/article/details/126367493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [prometheus 监控es规则](https://download.csdn.net/download/guleng90/80981220)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值