部署Alertmanager对prometheus监控检测飞书报警通知

news2024/11/15 17:46:23

告警效果

在这里插入图片描述

一、编写alertmanager.yml

创建个目录存放alertmanager.yml文件

mkdir -p /data/alertmanager
vi alertmanager.yml
route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 30s
  repeat_interval: 1m
  receiver: 'web.hook'
receivers:
  - name: 'web.hook'
    webhook_configs:
      - url: 'http://192.168.170.110:8080//alert/card'
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

挂载存放配置文件的目录
映射端口

docker run -d -p 9093:9093 --name=alertmanager --restart=always \
-v /data/alertmanager/:/etc/alertmanager/ \
prom/alertmanager

http://服务器地址:9093访问alertmanager web界面,默认首页就是显示是否检测到告警,可以查看状态和配置

在这里插入图片描述

二、修改prometheus配置

 vi /data/prometheus/prometheus.yml 

将注释去掉,启用Alertmanager
指定你部署的Alertmanager地址:端口
还有指定你存放的告警配置文件目录,这里指定rules下所有的yml配置文件

mkdir -p /data/prometheus/rules

注意:创建的rules目录是和prometheus.yml配置处于同一级,当然可以根据自身存放的位置修改rule_files指定即可。

在这里插入图片描述

三、飞书告警推送

编写告警规则
前面指定了告警目录位置,告警规则文件名称任意放在rules下的所有yml文件都会生效

vi /data/prometheus/rules/alert.yml

详细如下

# 相关的规则设置定义在一个group下。在每一个group中我们可以定义多个告警规则(rule)
groups:
  # 组名。报警规则组名称
- name: 内存预警
  rules:
  - alert: 内存使用率预警
    # expr:基于PromQL表达式告警触发条件,用于计算是否有时间序列满足该条件。
    expr: (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes )) / node_memory_MemTotal_bytes * 100 >= 80
    # for:评估等待时间,可选参数。用于表示只有当触发条件持续一段时间后才发送告警。在等待期间新产生告警的状态为pending。
    for: 40s # for语句会使 Prometheus 服务等待指定的时间, 然后执行查询表达式。(for 表示告警持续的时长,若持续时长小于该时间就不发给alertmanager了,大于该时间再发。for的值不要小于prometheus中的scrape_interval,例如scrape_interval为30s,for为15s,如果触发告警规则,则再经过for时长后也一定会告警,这是因为最新的度量指标还没有拉取,在15s时仍会用原来值进行计算。另外,要注意的是只有在第一次触发告警时才会等待(for)时长。)
    # labels:自定义标签,允许用户指定要附加到告警上的一组附加标签。
    labels:
      # severity: 指定告警级别。有三种等级,分别为 warning, critical 和 emergency 。严重等级依次递增。
      severity: critical
    # annotations: 附加信息,比如用于描述告警详细信息的文字等,annotations的内容在告警产生时会一同作为参数发送到Alertmanager。
    annotations:
      title: "内存使用率预警"
      serviceName: "{{ $labels.job }}"
      instance: "{{ $labels.instance }}"
      value: "{{ $value }}"
      btn: "点击查看详情 :撇嘴:"
      link: "http://escctv.hkeasyspeed.com/d/ov0oEgdik/linux?orgId=1&refresh=5s&var-host=192.168.170.110:9100&var-job=${serviceName}"
      template: "**${serviceName}**(${instance}) 内存使用率已经超过阈值 **80%**, 请及时处理!\n\n当前值: ${value}%"

- name: 磁盘预警
  rules:
  - alert: 磁盘使用率预警
    expr: (node_filesystem_size_bytes - node_filesystem_avail_bytes) / node_filesystem_size_bytes * 100 >= 80

    for: 1m

    labels:
      severity: critical

    annotations:
      title: "磁盘使用率预警"
      serviceName: "{{ $labels.job }}"
      instance: "{{ $labels.instance }}"
#      mountpoint: "{{ $labels.mountpoint }}"
      value: "{{ $value }}"
      btn: "点击查看详情 :撇嘴:"
      link: "http://escctv.hkeasyspeed.com/d/ov0oEgdik/linux?orgId=1&refresh=5s&var-host=192.168.170.110:9100&var-job=${serviceName}"
      template: "**${serviceName}**(${instance}) 服务器磁盘设备使用率超过 **70%**, 请及时处理!\n\n当前值: ${value}%!"

- name: 实例存活报警
  rules:
  - alert: 实例存活报警
    expr: up == 0
    for: 30s

    labels:
      severity: emergency

    annotations:
      title: "节点宕机报警"
      serviceName: "{{ $labels.job }}"
      instance: "{{ $labels.instance }}"
      btn: "点击查看详情 :撇嘴:"
      link: "http://192.168.170.110:9090/targets"
      template: "节点 **${serviceName}**(${instance}) 断联, 请及时处理!"

启用飞书告警容器
使用javafamily在docker公共仓库开源分享的prometheus-webhook-feishu
FEISHU_TOKEN:token是webhook最后那一段值

docker run -d --name prom-alert-feishu -p 8080:8080 --restart=always \
-e FEISHU_TOKEN=xxxxxxxxxxxxxx \
javafamily/prometheus-webhook-feishu:2.3.2-SNAPSHOT

注意:确认你的alertmanager配置的webhook地址是你部署prometheus-webhook-feishu的地址和端口(/data/alertmanager/alertmanager.yml)

在这里插入图片描述

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

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

相关文章

独立站买家必知的支付方式优缺点_FP独立站卖家必知的安全收款方式

做独立站该怎么收款是卖家首要考虑,除去衡量费用是否有潜在费用,更重要的能否符合消费者的付款习惯,销售的产品不同市场不同,所用到的收款方式也不相同。那么独立站的支付方式都有哪些呢?他们各有什么优缺点&#xff1…

HarmonyOS学习路之开发篇—Java UI框架(StackLayout)

StackLayout StackLayout直接在屏幕上开辟出一块空白的区域,添加到这个布局中的视图都是以层叠的方式显示,而它会把这些视图默认放到这块区域的左上角,第一个添加到布局中的视图显示在最底层,最后一个被放在最顶层。上一层的视图…

硅晶片的清洗技术

引言 高质量的晶圆在晶体精度、成型质量和表面质量方面都很优越,所以增加LSIs(大规模集成电路)的集成密度需要更高质量的硅晶片,但我们必须考虑芯片尺寸和制造成本增加的问题。它们会导致互连故障和晶体缺陷,退化设备…

可视化分析碳化硅产业,我国2022年碳化硅功率器件应用规模达近百亿元

碳化硅(SiC),又叫金刚砂,它是第三代化合物的半导体原材料。在新能源市场行业发展的推动下,能源的高效率利用转化,带动了碳化硅(SiC)产业市场的快速发展。 下面我们来利用可视化图表…

DSDP140B 57160001-ACX

​ DSDP140B 57160001-ACX DSDP140B 57160001-ACX 单相漏电保护器可以接在三相四线制电路中使用 单相漏电维护器不可以接在三相四线制电路中使用。术有专攻,单相漏电开关在漏电维护器内部装置的零序电流互感器检测的是一根相线(前方)和一…

GitHub如何申请学生包(Student Developer Pack),多次被拒绝总结的经验。

申请地址点这里: 说一下我的背景,我是有学校的教育邮箱的。但是现在申请用不用教育邮箱都可以了,所有邮箱都可以了。但是有教育邮箱最好还是用教育邮箱吧。 我先后申请了20多次,最后终于通过了。 申请失败的邮件表情是那个无语的…

011 - STM32学习笔记 - 串口通讯

011 - STM32学习笔记 - 串口通讯 关于串口的相关概念各位可以在网上查一下相关介绍,这里直接开始学习STM32上的串口配置和通讯测试了 在学习相关寄存器之前,先看一下USART的功能框图 1、USART引脚 引脚名称引脚功能TX数据发送端RX数据接收端SW_RX单线…

VMWare中Centos7部署K8S集群

关于我们要搭建的K8S: Docker版本:docker-ce-19.03.9;K8S版本:1.20.2;三个节点:master、node1、node2(固定IP);容器运行时:仍然使用Docker而非Containerd&am…

软考A计划-2023系统架构师-知识点集锦(1/4)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

Haproxy搭建负载均衡

Haproxy搭建负载均衡 一、常见的Web集群调度器二、Haproxy介绍1、Haproxy应用分析2、Haproxy的主要特性3、Haproxy负载均衡策略 三、LVS、Nginx、Haproxy之间的区别四、Haproxy搭建Web群集1、Haproxy服务器部署2、节点服务器部署3、测试Web群集 五、日志定义1、方法一2、方法二…

DVWA-XSS (Reflected)

大约 “跨站点脚本 (XSS)”攻击是一种注入问题,其中恶意脚本被注入到原本良性和受信任的网站上。 当攻击者使用 Web 应用程序发送恶意代码(通常以浏览器端脚本的形式)时,就会发生 XSS 攻击, 给…

企业数字化转型,想要易部署、低成本、高安全,看这里

随着数字化转型成为国家战略,不同行业的组织都在极力实行数字化转型战略。近几年企业工作方式的转型中,越来越多的传统本地办公模式向云上演进,远程办公、在线协作成为企业高效办公的重要支撑。 赞奇科技联合华为,基于华为云桌面W…

【实战】Chatglm微调指引和部署(MNN)

一. Chatglm 相对简单,而且微调之后性能比较奇怪,可以参考ChatGLM-6B 的部署与微调教程 1.1 MNN部署 https://github.com/wangzhaode/ChatGLM-MNN 1.1.1 Linux部署 git clone https://github.com/wangzhaode/ChatGLM-MNN.git(1&#xff…

一、枚举类型——枚举类型的基本特性

enum关键字用于创建一个新类型,其中包含一组数量有限的命名变量,并视这些变量为常规程序组件。实践表明这是一种非常有用的类型 你可以调用枚举类型中的 values() 方法来遍历枚举常量列表。values() 方法生成一个由枚举常量组成的数组,其中常…

机器视觉 橘子分级模型(含有交互页面)

文章目录 1. 使用Alexnet进行数据特征提取,并使用SVM进行分类(含有交互页面)1.1 数据集数据来源 1. 2 数据预处理,并提取特征导入包导入alexnet模型预处理提取特征的方法 1.3 对数据集进行遍历并提取特征1.4 进行训练1.5 进行交互…

从小白到大神之路之学习运维第38天---第三阶段---Redis数据存储技术(登录、设置密码、简单操作)

Redis数据存储技术 目录 一、主要信息 二、Redis 设置密码步骤 三、登录 Redis 四、Redis 常用操作示例及说明 一、主要信息 Redis 简介: 是一种开源的数据存储技术,它提供了一个高性能的键值对存储系统,支持多种数据结构&#xff0c…

功能测试+自动化测试代码覆盖率统计

Jacoco 是一个开源的覆盖率工具。Jacoco 可以嵌入到 Ant 、Maven 中,并提供了 EclEmma Eclipse 插件,也可以使用 Java Agent 技术监控 Java 程序。很多第三方的工具提供了对 Jacoco 的集成,如 sonar、Jenkins、IDEA。 Jacoco 包含了多种尺度的覆盖率计数…

复数计算器(C/C++)

源码地址:复数计算器复数计算器复数计算器资源-CSDN文库

5.多线程之JUC并发编程2

1.CompletableFuture异步回调 像ajax,未来再得到执行结果,想服务器不分先后顺序执行,可以用异步回调 //调用的函数没有返回值的CompletableFuture<Void> futureCompletableFuture.runAsync(()->{TimeUnit.SECONDS.sleep(2);sout(Thread.currentThread.getName"as…

内网安全:内网穿透详解

目录 内网穿透技术 内网穿透原理 实验环境 内网穿透项目 内网穿透&#xff1a;Ngrok 配置服务端 客户端配置 客户端生成后门&#xff0c;等待目标上线 内网穿透&#xff1a;Frp 客户端服务端建立连接 MSF生成后门&#xff0c;等待上线 内网穿透&#xff1a;Nps 服…