美文网首页
prometheus+alertmanager

prometheus+alertmanager

作者: 比巴卜超软泡泡糖 | 来源:发表于2024-01-01 11:22 被阅读0次

    部署 alertmanager
    官网下载:
    https://prometheus.io
    上传解压

    tar xzvf alertmanager-0.26.0.linux-amd64.tar.gz -C /usr/local/
    mv /usr/local/alertmanager-0.26.0.linux-amd64 /usr/local/alertmanager
    

    启动方式:

    直接启动
    # ./alertmanager 
    
    可以放后台启动 
    # nohup ./alertmanager &
    
    

    配置文件:
    alertmanager.yml

    在配置alertmanager.yml前需要先在prometheus上创建rules
    
    # vim prometheus.yml
    
    rule_files:
      - "./rules/ops.yml"  #添加rules路径
    
    # vim ./rules/ops.yml
    
    groups:    #告警分组
      - name: test   #rules名称
        rules:
          - alert: high_rate_of_cpu_usage   #告警名称
            expr: avg by(instance)(1-rate(node_cpu_second_total{mode=“idle”}[5m]))*100 >= 85   #PromQL表达式
            for: 10s   #持续时间
            labels:     #分组标签,需要和alertmanager.yml上路由匹配
              status: high_rate
              team: test
            annotations:     #注释信息
              summary: "test!!!"
              description: "test!!!"
    
    以上配置仅为测试,生产配置以具体需求为准。
    

    重启prometheus

    可以在prometheus_IP:9090的UI界面导航栏上 Alerts中看到high_rate_of_cpu_usage

    配置alertmanager.yml:
    # vim /usr/local/alertmanager/alertmanager.yml
    
    global:
      resolve_timeout: 5m   #如果5m没有发送告警则声明为已恢复
      smtp_smarthost: 'smtp.163.com:25'
      smtp_from: '邮箱@163.com'
      smtp_auth_username: '邮箱@163.com'
      smtp_auth_password: '授权码'
      #smtp相关配置,如果需要发送邮件告警,就需要配置smtp信息。
    
    route:    #告警路由策略,分配告警到接收人
      group_by: ['alertname']     #告警分组
      group_wait: 30s     #同一组告警等待时间,30s内同一组告警只发一次
      group_interval: 10s     #同一组告警信息重发间隔时间
      repeat_interval: 10s     #定义告警信息重发间隔时间
      receiver: 'dingding_robot'     #指定一个默认接收人
      routes:     #定义路由规则
        - match:     #匹配标签,与prometheus的rules的标签对应
            status: high_rate
            team: test
          receiver: 'dingding_robot'     #指定这条告警接收人
    receivers:     #接收人信息配置
      - name: 'to_email'
        email_configs:
          - to: '邮箱2@163.com'
      - name: 'dingding_robot'
        webhook_configs:
          - url: 'webhook地址'       #如果想通过钉钉机器人发送到群里,不能直接填机器人的webhook,可以跑个flask,接收并处理json数据,再发送给钉钉机器人的webhook。
    
    以上配置仅为测试,生产配置以具体需求为准。
    
    alertmanager.yml还有一些很有用的配置,这里没用到就没写,如抑制规则...
    

    修改好配置后,保存退出,后台启动alertmanager

    手动触发告警:告警规则是5分钟内cpu平均使用率到达85%以上,那么对node_exporter那台机器进行压力测试# stress -c 4 ,可以观察graph图表的趋势,直到收到告警。

    相关文章

      网友评论

          本文标题:prometheus+alertmanager

          本文链接:https://www.haomeiwen.com/subject/rfblndtx.html