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

news/2024/10/22 14:26:17/

告警效果

在这里插入图片描述

一、编写alertmanager.yml

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

mkdir -p /data/alertmanager
vi alertmanager.yml
route:group_by: ['alertname']group_wait: 30sgroup_interval: 30srepeat_interval: 1mreceiver: '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 >= 80for: 1mlabels:severity: criticalannotations: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 == 0for: 30slabels:severity: emergencyannotations: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.ppmy.cn/news/345089.html

相关文章

微信红包软件可测试,微信抢红包神器测试g2020

微信抢红包神器测试g是一款在2020年全新升级推出的可以辅助微信抢红包的神器。微信抢红包神器测试g支持自动抢红包的功能,自动开启,即使手机锁屏,后台依然可以自动帮你抢红包,而且还可以自动回复哦,自定义开启&#xf…

JavaScript字符串常用方法

关注“大前端私房菜”微信公众号,输入暗号【面试宝典】即可免费领取107页前端面试题。 字符串的常用方法 我们操作字符串,也有一堆的方法来帮助我们操作,字符串和数组有一个一样的地方,也是按照索引来排列的 注意:所有…

MAC系统使用

查看端口占用情况 //如查看8080端口的占用情况 sudo lsof -i tcp:9901//比如我们想要释放Java占用的9901端口 PID 是 12420 kill -9 12420

《低代码指南》低代码开发平台Noodl即将开源

Noodl 是一个低代码开发平台,让设计师、开发者能够用低代码的可视化编程方法构建强大的 Web 应用。目前 Noodl 已被亚马逊、三星、沃尔玛等财富 500 强企业应用于原型设计到生产环境中。 日前,Noodl 官方发出公告表示,将从现有的付费订阅模式向开源模式过渡。 Noodl 目前的…

<Linux>《OpenSSH 守护进程配置文件sshd_config详解》

《OpenSSH 守护进程配置文件sshd_config详解》 1 描述2 关键字2.1 AcceptEnv2.2 AddressFamily2.3 AllowAgentForwarding2.4 AllowGroups2.5 AllowStreamLocalForwarding2.6 AllowTcpForwarding2.7 AllowUsers2.8 AuthenticationMethods2.9 AuthorizedKeysCommand2.AuthorizedK…

跑步耳机哪个牌子好?推荐几款专业跑步耳机

作为一名跑步爱好者,在不同距离的奔跑过程中我会佩戴蓝牙运动耳机并选择选择一些合适的音乐来帮助我熟悉节奏。对跑步这种出汗很多,步伐频繁的运动来讲对耳机的要求更高。舒适度,防水性,续航能力,重量等等都是需靠考量…

哪个品牌的运动耳机比较好、最好用的运动耳机推荐

我们都知道运动与音乐是天生绝配,音乐可以激发人们的运动热情,增强运动的乐趣性和吸引力。像健身、跑步这些枯燥的运动,运动者可以通过听音乐来调整自己的情绪和节奏,从而更好地享受运动的过程。但是,现在市面上的运动…

运动耳机什么牌子好,跑步耳机排名推荐

至于运动,很少有人会在开始时感受到乐趣。因此,在锻炼的初始条件下,坚持自然会增加如何赶走无聊和无聊的难度?许多人首先想到音乐。是的,音乐和运动真的是对的,但是如何选择一副合适自己的耳机也是需要一定…