【云原生监控】Prometheus之Alertmanager报警

news2024/12/24 5:11:01

Prometheus之Alertmanager报警

文章目录

  • Prometheus之Alertmanager报警
    • 概述
    • 资源列表
    • 基础环境
    • 一、部署Prometheus服务
      • 1.1、解压
      • 1.2、配置systemctl启动
      • 1.3、监控端口
    • 二、部署Node-Exporter
      • 2.1、解压
      • 2.2、配置systemctl启动
      • 2.3、监听端口
    • 三、配置Prometheus收集Exporter采集的数据
      • 3.1、编辑Prometheus配置文件
      • 3.2、重新加载Prometheus服务
      • 3.3、访问Prometheus仪表盘
    • 四、部署Alertmanager报警工具
      • 4.1、下载软件包
      • 4.2、解压软件包
    • 五、配置Alertmanager邮件报警
      • 5.1、编辑Alertmanager配置文件
      • 5.2、启动Alertmanager
      • 5.3、监听端口
    • 六、配置Prometheus报警规则
      • 6.1、编辑配置文件
      • 6.2、编辑规则文件
      • 6.3、Prometheus的配置文件语法检查
      • 6.4、重新加载Prometheus服务
    • 七、模拟被监控端挂掉

概述

  • Prometheus通过 规则文件对比抓取到的数据,来判断是否触发告警,我们通过配置告警的工具Alertmanager进行告警通知。
  • 规则文件,写的就是,当我们获取到PromeSQL的值到达一个设置的规则后,触发告警,也就是说,规则文件,是触发告警的关键,而Alertmanager是告警的手段、工具。

资源列表

操作系统配置主机名IP所需软件
CentOS 7.92C4Gprometheus192.168.93.101prometheus-2.37.8.linux-amd64.tar.gz
CentOS 7.92C4Galertmanager192.168.93.102node_exporter-1.6.1.linux-amd64.tar.gz
alertmanager-0.26.0.linux-amd64.tar.gz

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname prometheus
hostnamectl set-hostname alertmanager

一、部署Prometheus服务

  • 作用:收集数据和展示数据

1.1、解压

[root@prometheus ~]# tar -zxvf prometheus-2.37.8.linux-amd64.tar.gz
  • 移动至指定目录
[root@prometheus ~]# mv prometheus-2.37.8.linux-amd64 /usr/local/prometheus

1.2、配置systemctl启动

[root@prometheus ~]# cat >> /etc/systemd/system/prometheus.service << EOF
[Unit]
Description=xinjizhiwa Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target
[Service]
Restart=on-failure
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--web.enable-lifecycle
ExecReload=/bin/kill -HUP \$MAINPID
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
  • 加载并启动服务
[root@prometheus ~]# systemctl enable prometheus.service --now

1.3、监控端口

  • Prometheus默认监听9090端口
[root@prometheus ~]# netstat -anpt | grep 9090
tcp6       0      0 :::9090                 :::*                    LISTEN      8311/prometheus     
tcp6       0      0 ::1:9090                ::1:35776               ESTABLISHED 8311/prometheus     
tcp6       0      0 ::1:35776               ::1:9090                ESTABLISHED 8311/prometheus 

二、部署Node-Exporter

  • 作用:用来收集节点上的数据

2.1、解压

[root@alertmanager ~]# tar -zxvf node_exporter-1.6.1.linux-amd64.tar.gz
  • 移动至指定目录
[root@alertmanager ~]# mv node_exporter-1.6.1.linux-amd64 /usr/local/node_exporter

2.2、配置systemctl启动

[root@alertmanager ~]# cat > /etc/systemd/system/node-exporter.service << EOF
[Unit]
Description=xinjizhiwa node-exporter
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target

[Service]
Restart=on-failure
ExecStart=/usr/local/node_exporter/node_exporter
ExecReload=/bin/kill -HUP \$MAINPID
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
  • 加载并启动服务
[root@alertmanager ~]# systemctl daemon-reload 
[root@alertmanager ~]# systemctl enable node-exporter.service --now

2.3、监听端口

  • node-exporter默认监听9100端口
[root@alertmanager ~]# netstat -anpt | grep 9100
tcp6       0      0 :::9100                 :::*                    LISTEN      8320/node_exporter

三、配置Prometheus收集Exporter采集的数据

  • node-exporter会把数据统一收集,等待Prometheus进行收集数据展示

3.1、编辑Prometheus配置文件

[root@prometheus ~]# grep -v "#" /usr/local/prometheus/prometheus.yml
global:

alerting:
  alertmanagers:
    - static_configs:
        - targets:

rule_files:

scrape_configs:
  - job_name: "prometheus"


    static_configs:
      - targets: ["localhost:9090"]
####################################################
  - job_name: "alertmanager"
    static_configs:
      - targets: ["192.168.93.102:9100"]
####################################################

3.2、重新加载Prometheus服务

  • 此次的加载方式不适用systemctl进行加载的
[root@prometheus ~]# curl -X POST http://192.168.93.101:9090/-/reload

3.3、访问Prometheus仪表盘

  • 访问地址:http://192.168.93.101:9090

  • 依次点击Status>Targets

  • 此时,就会看到,新配置的被监控项主体的指标列表
    在这里插入图片描述

四、部署Alertmanager报警工具

  • 作用:用于集成邮件报警

4.1、下载软件包

[root@alertmanager ~]# wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz

4.2、解压软件包

[root@alertmanager ~]# tar -zxvf alertmanager-0.26.0.linux-amd64.tar.gz

[root@alertmanager ~]# mv alertmanager-0.26.0.linux-amd64 /usr/local/alertmanager

五、配置Alertmanager邮件报警

5.1、编辑Alertmanager配置文件

[root@alertmanager ~]# cat /usr/local/alertmanager/alertmanager.yml 
#一、发件人信息配置
global:
  #解析失败超时时间;
  resolve_timeout: 5m
  #【发件人】邮箱
  smtp_from: '2516786946@qq.com'
  #【邮箱官方主机】地址及端口
  smtp_smarthost: 'smtp.qq.com:465'
  #【发件人名称】邮箱
  smtp_auth_username: 'wzh@qq.com'
  #【发件人】邮箱授权码
  smtp_auth_password: 'sqwmtjbnsbrlebie'
  #发送信息是否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: '2516786946@qq.com'
    send_resolved: true
inhibit_rules:
  - source_match:
      #匹配的告警级别
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

5.2、启动Alertmanager

# 此命令是前台启动命令
[root@alertmanager ~]# /usr/local/alertmanager/alertmanager

5.3、监听端口

  • Alertmanager默认监听9093端口
[root@alertmanager ~]# netstat -anpt | grep 9093
tcp6       0      0 :::9093                 :::*                    LISTEN      8393/alertmanager

六、配置Prometheus报警规则

6.1、编辑配置文件

[root@prometheus ~]# cat /usr/local/prometheus/prometheus.yml 
global:
  scrape_interval: 3s 
  evaluation_interval: 15s 

alerting:
  alertmanagers:
    - static_configs:
        - targets:
           - 192.168.93.102:9093  ### 报警的中间件地址(Alertmanager的访问地址)

rule_files:
  - "/usr/local/prometheus/rules.yml"  ### 规则文件地址

scrape_configs:
  - job_name: "prometheus"

    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "alertmanager"
    static_configs:
      - targets: ["192.168.93.102:9100"]

6.2、编辑规则文件

  • 规则文件内容:当监控数据,到达什么数值后,触发Alertmanager的报警
[root@prometheus ~]# cat /usr/local/prometheus/rules.yml
groups:
- name: wzh-alert
  rules:
  - alert: 102节点挂掉啦          
    #当promeQL这个语句=0时(节点挂掉),开始报警
    expr: up{instance="192.168.93.102:9100"} == 0  # PromeSQL语言(up{instance="192.168.93.102:9100"})
    #连续3s=0才触发报警;
    for: 3s
    labels:
      prometheus: wzh
      #被监控节点ip
      node: 192.168.93.102
    annotations:
      summary: "{{ $lables.instance }} 已停止运行超过 3s!"

6.3、Prometheus的配置文件语法检查

[root@prometheus ~]# cd /usr/local/prometheus/
[root@prometheus prometheus]# ./promtool check config prometheus.yml 
Checking prometheus.yml
  SUCCESS: 1 rule files found
 SUCCESS: prometheus.yml is valid prometheus config file syntax

Checking /usr/local/prometheus/rules.yml
  SUCCESS: 1 rules found

6.4、重新加载Prometheus服务

[root@prometheus prometheus]# curl -X POST http://192.168.93.101:9090/-/reload

七、模拟被监控端挂掉

  • 如果一直没有发送报警,可以选择多次重启Prometheus服务和Alertmanager服务
[root@alertmanager ~]# systemctl stop node-exporter.service

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2143824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

旧衣回收小程序:开启旧衣回收新体验

随着社会的大众对环保的关注度越来越高&#xff0c;旧衣物回收市场迎来了快速发展时期。在数字化发展当下&#xff0c;旧衣回收行业也迎来了新的模式----互联网旧衣回收小程序&#xff0c;旨在为大众提供更加便捷、简单、透明的旧衣物回收方式&#xff0c;通过手机直接下单&…

关于1688跨境官方接口的接入||跨境卖家必知的1688跨境要点

1688跨境是什么&#xff1f; 1688是国内领先的货源平台&#xff0c;每年服务超过6500万B类买家&#xff0c;其中很大一部分是跨境商家。这些跨境商家采购中国高性价比的商品到海外销售。 为什么要入驻跨境专供&#xff1f; 据统计&#xff0c;2028年跨境市场规模将实现翻三番&…

RabbitMQ(高阶使用)延时任务

文章内容是学习过程中的知识总结&#xff0c;如有纰漏&#xff0c;欢迎指正 文章目录 1. 什么是延时任务&#xff1f; 1.1 和定时任务区别 2. 延时队列使用场景 3. 常见方案 3.1 数据库轮询 优点 缺点 3.2 JDK的延迟队列 优点 缺点 3.3 netty时间轮算法 优点 缺点 3.4 使用消息…

HTML5好看的水果蔬菜在线商城网站源码系列模板2

文章目录 1.设计来源1.1 主界面1.2 商品列表界面1.3 商品详情界面1.4 其他界面效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/142059220 HTML5好看的水果蔬菜在线商城…

MATLAB系列06:复数数据、字符数据和附加画图类

MATLAB系列06&#xff1a;复数数据、字符数据和附加画图类 6. 复数数据、字符数据和附加画图类6.1 复数数据6.1.1 复变量&#xff08; complex variables&#xff09;6.1.2 带有关系运算符的复数的应用6.1.3 复函数&#xff08; complex function&#xff09;6.1.4 复数数据的作…

通信工程学习:什么是ONU光网络单元

ONU&#xff1a;光网络单元 ONU&#xff08;Optical Network Unit&#xff0c;光网络单元&#xff09;是光纤接入网中的用户侧设备&#xff0c;它位于光分配网络&#xff08;ODN&#xff09;与用户设备之间&#xff0c;是光纤通信系统的关键组成部分。以下是关于ONU光网络单元的…

Web后端开发技术:RESTful 架构详解

RESTful 是一种基于 REST&#xff08;表述性状态转移&#xff0c;Representational State Transfer&#xff09;架构风格的 API 设计方式&#xff0c;通常用于构建分布式系统&#xff0c;特别是在 Web 应用开发中广泛应用。REST 是一种轻量级的架构模式&#xff0c;利用标准的 …

构建响应式API:FastAPI Webhooks如何改变你的应用程序

FastAPI&#xff0c;作为一个现代、快速&#xff08;高性能&#xff09;的Web框架&#xff0c;为Python开发者提供了构建API的卓越工具。特别是&#xff0c;它的app.webhooks.post装饰器为处理实时Webhooks提供了一种简洁而强大的方法。在本文中&#xff0c;我们将探讨如何使用…

Git使用教程-将idea本地文件配置到gitte上的保姆级别步骤

&#x1f939;‍♀️潜意识起点&#xff1a;个人主页 &#x1f399;座右铭&#xff1a;得之坦然&#xff0c;失之淡然。 &#x1f48e;擅长领域&#xff1a;前端 是的&#xff0c;我需要您的&#xff1a; &#x1f9e1;点赞❤️关注&#x1f499;收藏&#x1f49b; 是我持…

剖析Spark Shuffle原理(图文详解)

Spark Shuffle 1.逻辑层面 从逻辑层面来看&#xff0c;Shuffle 是指数据从一个节点重新分布到其他节点的过程&#xff0c;主要发生在需要重新组织数据以完成某些操作时。 RDD血统 Shuffle 触发条件&#xff1a; reduceByKey、groupByKey、join 等操作需要对数据进行分组…

制作OpenLinkSaas发行版

发行版配置 作为软件研发效能一站式解决方案&#xff0c;OpenLinkSaas提供了众多的功能。再不同的场景中&#xff0c;所需要的软件功能是有差异的。OpenLinkSaas提供了发行版配置功能&#xff0c;以便在不同场景下组合所有的功能。 修改代码下面的src-tauri/src/vendor_cfg.rs…

软考高级:嵌入式-嵌入式实时操作系统调度算法 AI 解读

讲解 嵌入式实时操作系统中的调度算法主要用于管理任务的执行顺序&#xff0c;以确保任务能够在规定时间内完成。针对你提到的几种调度算法&#xff0c;我会逐一进行通俗解释。 生活化例子 假设你在家里举办一个家庭聚会&#xff0c;家里人轮流使用一个游戏机玩游戏。你作为…

springboot+redis+缓存

整合 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 连接redis&#xff0c;配置yml文件 主机 端口号 数据库是哪一个 密码 配置类 p…

嵌入式最常用的接口之一:SDIO 介绍

SDIO简介 SDIO(Secure Digital Input Output)是一种基于SD卡技术的扩展接口标准,允许外部设备通过标准的SD卡槽连接并通信。与传统的SD卡仅限于存储数据不同,SDIO设备通过该接口进行多种功能扩展,如网络连接、GPS、蓝牙、摄像头等。这使得SDIO成为一种广泛应用于移动设备…

html实现好看的多种风格手风琴折叠菜单效果合集(附源码)

文章目录 1.设计来源1.1 风格1 -图文结合手风琴1.2 风格2 - 纯图片手风琴1.3 风格3 - 导航手风琴1.4 风格4 - 双图手风琴1.5 风格5 - 综合手风琴1.6 风格6 - 简描手风琴1.7 风格7 - 功能手风琴1.8 风格8 - 全屏手风琴1.9 风格9 - 全屏灵活手风琴 2.效果和源码2.1 动态效果2.2 源…

等保测评中的个人信息保护:重点与策略

在信息安全等级保护&#xff08;等保&#xff09;测评过程中&#xff0c;个人信息保护成为企业必须重视的关键环节。随着《个人信息保护法》等法规的出台&#xff0c;个人信息保护不仅是企业通过等保测评的重要指标&#xff0c;更是企业社会责任和用户信任的基础。将探讨等保测…

Leetcode 每日一题:Evaluate Division

写在前面 今天依旧是一道来自图论的题目&#xff0c;而今天这道题目的难度也是相对于前面分享过的题目中难度最大的一种。题主在第一次做这道题的时候根本没有反应过来这道题目可以转化为 图 来解决。而这道题目将一个 二维数组的乘除 运算转化为 图论 的过程需要一定的数学思…

如何在Android上实现RTSP服务器

技术背景 在Android上实现RTSP服务器确实是一个不太常见的需求&#xff0c;因为Android平台主要是为客户端应用设计的。在一些内网场景下&#xff0c;我们更希望把安卓终端或开发板&#xff0c;作为一个IPC&#xff08;网络摄像机&#xff09;一样&#xff0c;对外提供个拉流的…

rhat Linux虚拟机桥接网络配置

本文物理机安装Windows10系统&#xff0c;虚拟机安装redhat7.7。 0、基本概念 VMware中的桥接模式&#xff08;Bridged Mode&#xff09;是一种虚拟机网络配置方式&#xff0c;它允许虚拟机直接连接到宿主机的物理网络&#xff0c;使得虚拟机能够像物理机一样访问外部网络。 在…

高颜值,实力派丨捷顺科技旗舰级人脸识别门禁、速通摆闸新品发布

9月12日&#xff0c;捷顺科技成功举办以“全新进化&#xff0c;定义非凡”为主题的2024智慧人行线上新品发布会&#xff0c;正式推出两款全新一代的智慧人行领域旗舰级产品——人脸识别门禁Y20、速通摆闸3910A。 作为国内最早进入出入口控制管理行业的企业之一&#xff0c;捷顺…