zoukankan      html  css  js  c++  java
  • Prometheus监控,生产可用告警规则(可获取主机名)

    以下是生产环境中prometheus.rules.yml告警规则用例

    prometheus默认的instance是ip:port格式的,无法知道主机名。

    方法一:node_uname_info获取

    参考链接:https://blog.csdn.net/CHEndorid/article/details/106820612

    主机名(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,做乘法是不会得到结果的


    示例:

        - 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}}%)'
    

    方法二:relabel_configs增加主机名标签

    此方法,可以适应所有报警的规则

    在 prometheus增加主机配置是,添加配置即可

      - job_name: 'hadoop-test-exporter'
        consul_sd_configs:
        - server: 'localhost:8500'
          services: [hadoop-test-exporter]
        relabel_configs: #把__meta_consul_service_id 映射主机名
        - source_labels: [__meta_consul_service_id]
          separator: ;
          regex: (.*)
          target_label: hostname
          replacement: $1
          action: replace
        - source_labels: [__meta_consul_service_address] #映射主机IP
          separator: ;
          regex: (.*)
          target_label: ip
          replacement: $1
          action: replace
        - source_labels: ['__meta_consul_tags'] #根据tag来匹配分组
          regex: '^.*,hadoop-test,.*$'
          action: keep
    

     

    人生得意须尽欢,莫使金樽空对月。 天生我材必有用,千金散尽还复来。
  • 相关阅读:
    Java日历表
    递归实现文件的大小计算
    将机器学习的个性化推荐与社会化机制相结合
    设计模式——抽象工厂模式
    从mysql到nosql
    设计模式——Adapter模式(变压器)
    Java 正则匹配
    对象集合转换为datatable
    sql1
    Oracle Index 相關知識
  • 原文地址:https://www.cnblogs.com/heian99/p/15257897.html
Copyright © 2011-2022 走看看