• 08-prometheus监控的告警通知-alertmanager组件工具


    一、概述

            prometheus通过规则文件对比抓取到的数据,来判断是否触发告警,我们通过配置告警的工具altermanager进行告警通知;

            规则文件,写的就是,当我们获取到的PromeQL的值到达一个设置的规则后,触发告警;

            也就是说,规则文件,是出发告警的关键,而altermanager是告警的手段、工具。

    二、安装部署alertmanager工具

    1,软件包获取方式

    下载地址:

    wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz

    为了方便学习,我给大家也准备了百度云盘的安装包:

    链接:https://pan.baidu.com/s/1BgN8Lc5zrqakX8XNEwxh4Q?pwd=o5g7 
    提取码:o5g7

    2,上传解压软件包

    [root@prometheus-server32 ~]# rz -E
    [root@prometheus-server32 ~]# mkdir -pv /prometheus/softwares/

    [root@prometheus-server32 ~]# tar xf alertmanager-0.26.0.linux-amd64.tar.gz -C /prometheus/softwares/

    [root@prometheus-server32 ~]# ln -svf /prometheus/softwares/alertmanager-0.26.0.linux-amd64/ /prometheus/softwares/alertmanager

    [root@prometheus-server32 ~]# cd /prometheus/softwares/alertmanager/

    三、配置alertmanager邮件告警

    1,编辑alertmanager配置文件

    [root@prometheus-server32 ~]# cat /prometheus/softwares/alertmanager/alertmanager.yml 
    #一、发件人信息配置
    global:
      #解析失败超时时间;
      resolve_timeout: 5m
      #【发件人】邮箱
      smtp_from: '626080079@qq.com'
      #【邮箱官方主机】地址及端口
      smtp_smarthost: 'smtp.qq.com:465'
      #【发件人】邮箱
      smtp_auth_username: '626080079@qq.com'
      #【发件人】邮箱授权码
      smtp_auth_password: 'ubgotgvzrdgkbfcj'
      #发送信息是否tls加密
      smtp_require_tls: false
      smtp_hello: 'qq.com'
    #二、报警的间隔信息配置;
    route:
      group_by: ['alertname']
      group_wait: 5s
      group_interval: 5s
      #重复报警的间隔时间,如果报警问题没有解决,则会间隔指定的时间继续触发报警,比如5分钟;
      repeat_interval: 5m
      #采用什么报警方式?本次学习,我们使用邮箱;
      receiver: 'email'
    #三、接收告警的目标信息编辑;谁来接收告警?
    receivers:
    #定义接收者名称
    - name: 'email'
      email_configs:
      #【收件人】
      - to: '626080079@qq.com'
        send_resolved: true
    inhibit_rules:
      - source_match:
          #匹配的告警级别
          severity: 'critical'
        target_match:
          severity: 'warning'
        equal: ['alertname', 'dev', 'instance']

    2,启动alertmanager

    [root@prometheus-server32 ~]# ./prometheus/softwares/alertmanager/alertmanager

    3,浏览器访问9093端口

    至此,告警的中间件就配置完成了;

    四、配置prometheus报警规则

    1,编辑配置文件

    [root@prometheus-server31 ~]# vim /prometheus/softwares/prometheus-2.37.8.linux-amd64/prometheus.yml 

    global:
      scrape_interval: 3s
      evaluation_interval: 15s

    #####################################
    #告警的中间件地址(alertmanager的访问地址);
    alerting:
      alertmanagers:
        - static_configs:
            - targets:
                - 10.0.0.32:9093
    #规则文件在哪里?路径;
    rule_files:
      - "/prometheus/softwares/rules.yml"
    #####################################

    scrape_configs:
      - job_name: "prometheus-alert-rule"
        static_configs:
        - targets: ["10.0.0.41:9100"]

    2,编辑规则文件

            规则文件内容主要目的是:

            1,当监控数据,达到什么数值后。触发alertmanager的报警;

            2,报警的内容信息是什么?

    [root@prometheus-server31 ~]# vim /prometheus/softwares/rules.yml

    groups:
    - name: xinjizhiwa-alert
      rules:
      - alert: 41节点挂掉啦          
        #当promeQL这个语句=0时(节点挂掉),开始报警
        expr: up{instance="10.0.0.41:9100"} == 0
        #连续3s=0才触发报警;
        for: 3s
        labels:
          prometheus: xinjizhiwa
          #被监控节点ip
          node: 10.0.0.41
        annotations:
          summary: "{{ $lables.instance }} 已停止运行超过 3s!"

    3,prometheus的配置文件语法检查

    [root@prometheus-server31 prometheus-2.37.8.linux-amd64]# ./promtool check config prometheus.yml 

    4,重新加载prometheus服务

    curl -X POST http://10.0.0.31:9090/-/reload

    五、模拟被监控项挂掉

    [root@prometheus-node41 ~]# systemctl stop node-exporter.service

    等待几秒钟,收到告警邮件

    至此,alertmanager邮件告警就学习完毕了。

  • 相关阅读:
    ElasticSearch从入门到精通:常用操作
    最新ai创作系统CHATGPT系统源码+支持GPT4.0+支持ai绘画(Midjourney)
    【AI视野·今日NLP 自然语言处理论文速览 第五十四期】Fri, 13 Oct 2023
    第十五章 jQuery中的事件
    解决cscript打开excel时宏互不可见的问题
    MySQL在centos上的安装
    javascript二维数组按指定要求进行对象合并遍历的算法开发(2):计算数组中某元素出现的次数
    多个扇形元素绕圆旋转
    CSDN 编程竞赛第五期题解
    小型气象站浅谈使用说明
  • 原文地址:https://blog.csdn.net/2302_79199605/article/details/136494677