IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> AlertManager实现Email告警(使用Postman测试) -> 正文阅读

[开发测试]AlertManager实现Email告警(使用Postman测试)

🍅程序员小王的博客:程序员小王的博客
🍅 欢迎点赞 👍 收藏 ?留言 📝
🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
🍅java自学的学习路线:java自学的学习路线

🍋相关学习资料及其参考文章:prometheus手册邮件和微信告警Alertmanager篇

🍊 可以去个人博客网站查看本博客排版更清晰:AlertManager实现Email告警

一、前言

AlertManager实现Email告警会使用到:AlertManager的安装部署,postman测试的使用都可以参考我以前的博客:

🍅AlertManager的安装部署:AlertManager的安装部署
🌲postman测试的使用:postman测试的使用

二、??Email 接收告警配置

1、邮箱配置模板

#1.?global:全局配置,主要配置告警方式,如邮件、webhook等。
global:
??resolve_timeout:?5m??#?超时,默认5min
??##?这里为qq邮箱?SMTP?服务地址,官方地址为?smtp.qq.com?端口为?465?或?587,同时要设置开启?POP3/SMTP?服务。
??smtp_smarthost:?'smtp.qq.com:465'
??smtp_from:?'xxxxxx@qq.com'
??smtp_auth_username:?'xxxxxx@qq.com'
??#?这里为第三方登录?QQ?邮箱的授权码,非?QQ?账户登录密码,否则会报错,获取方式在?QQ?邮箱服务端设置开启?POP3/SMTP?服务时会提示。
??smtp_auth_password:?''
??#?是否使用?tls,根据环境不同,来选择开启和关闭。
??#?如果提示报错?email.loginAuth?failed:?530?Must?issue?a?STARTTLS?command?first,那么就需要设置为?true。
??#?着重说明一下,如果开启了?tls,提示报错?starttls?failed:?x509:?certificate?signed?by?unknown?authority
??#?需要在?email_configs?下配置?insecure_skip_verify:?true?来跳过?tls?验证。
??smtp_require_tls:?false??
??
??#?2.模板,email、企业微信的模板配置存放位置,钉钉的模板会单独配置。
??templates:??
??'/usr/apps/alertmanager/templates/alert.tmpl'

route:
??group_by:?['alertname']
??group_wait:?10s
??group_interval:?10s
??repeat_interval:?1h
??receiver:?'email'
##?配置报警信息接收者信息。
receivers:
-?name:?'email'
??email_configs:
??-?to:?'{{?template?"email.to"}}'???##?接收警报的email(这里是引用模板文件中定义的变量)
???html:?'{{?template?"email.to.html"?.}}'?#?发送邮件的内容(调用模板文件中的)
???send_resolved:?true????#?故障恢复后通知
???#?邮件标题,不设定使用默认的即可
???#?headers:?{?Subject:?"?{{?.CommonLabels.instance?}}?{{?.CommonAnnotations.summary?}}"?}??
???
???#?抑制规则配置,当存在与另一组匹配的警报(源)时,抑制规则将禁用与一组匹配的警报(目标)。
???inhibit_rules:????
??-?source_match:
??????severity:?'critical'
????target_match:
??????severity:?'warning'
????equal:?['alertname',?'dev',?'instance']

  • 注意配置文件中的templates最初是没有的,可以自己在alertManager文件下单独创建

[root@localhost?alertmanager]#?mkdir?templates

  • qq的授权码,自己配置自己QQ的

2、创建alert.tmpl 邮件发送的模板

  • 模板文件配置了email.from、email.to、email.to.html三种模板变量,可以在 alertmanager.yml 文件中直接配置引用。这里 email.to.html 就是要发送的邮件内容,支持 Html 和 Text 格式,这里为了显示好看,采用 Html 格式简单显示信息。下边 {{ range .Alerts }} 是个循环语法,用于循环获取匹配的 Alerts 的信息。

{{?define?"email.from"?}}1078993387@qq.com{{?end?}}
{{?define?"email.to"?}}1078993387@qq.com{{?end?}}
{{?define?"email.to.html"?}}
{{-?if?gt?(len?.Alerts.Firing)?0?-}}{{?range?.Alerts?}}
<h2>@告警通知</h2>
告警程序:?prometheus_alert?<br>
告警级别:?{{?.Labels.severity?}}?级?<br>
告警类型:?{{?.Labels.alertname?}}?<br>
故障主机:?{{?.Labels.instance?}}?<br>
告警主题:?{{?.Annotations.summary?}}?<br>
告警详情:?{{?.Annotations.description?}}?<br>
触发时间:?{{?.StartsAt.Local.Format?"2006-01-02?15:04:05"?}}?<br>
{{?end?}}{{?end?-}}
{{-?if?gt?(len?.Alerts.Resolved)?0?-}}{{?range?.Alerts?}}
<h2>@告警恢复</h2>
告警程序:?prometheus_alert?<br>
故障主机:?{{?.Labels.instance?}}<br>
故障主题:?{{?.Annotations.summary?}}<br>
告警详情:?{{?.Annotations.description?}}<br>
告警时间:?{{?.StartsAt.Local.Format?"2022-03-19?15:04:05"?}}<br>
恢复时间:?{{?.EndsAt.Local.Format?"2022-03-19?15:04:05"?}}<br>
{{?end?}}{{?end?-}}
{{-?end?}}

3、完整版配置文件

global:
????resolve_timeout:?5m
??##?这里为qq邮箱?SMTP?服务地址,官方地址为?smtp.qq.com?端口为?465?或?587,同时要设置开启?POP3/SMTP?服务。
???smtp_smarthost:?'smtp.qq.com:465'
???smtp_from:?'1078993387@qq.com'
???smtp_auth_username:?'1078993387@qq.com'
???#授权码,不是密码,在?QQ?邮箱服务端设置开启?POP3/SMTP?服务时会提示
???smtp_auth_password:?'rmxvkzbwyizyjecg'
???smtp_require_tls:?false

#1、模板
templates:??'/usr/apps/alertmanager/templates/alert.tmpl'
?
#2、路由
route:
???group_by:?['alertname']
???group_wait:?10s
???group_interval:?10s
???repeat_interval:?1h
???#邮箱
??receiver:?'email'
??
receivers:
-?name:?'email'
??email_configs:
??##?接收警报的email(这里是引用模板文件中定义的变量)
??-?to:?'{{?template?"email.to"}}'
???##?发送邮件的内容(调用模板文件中的)
?????html:?'{{?template?"email.to.html"?.}}'
?????send_resolved:?true
?????
inhibit_rules:
???-?source_match:
?????severity:?'critical'
?????target_match:
?????severity:?'warning'
?????equal:?['alertname',?'dev',?'instance']

4、修改好配置文件后,可以使用amtool工具检查配置

[root@localhost?alertmanager]#?/usr/apps/alertmanager/amtool?check-config?/usr/apps/alertmanager/alertmanager.yml
  • 如果出错,会提示在第几行(在线检查yml文件格式的工具,格式错误会给出对应提示)

  • 格式成功

[root@localhost?alertmanager]#?/usr/apps/alertmanager/amtool?check-config?/usr/apps/alertmanager/alertmanager.yml
Checking?'/usr/apps/alertmanager/alertmanager.yml'??SUCCESS
Found:
?-?global?config
?-?route
?-?1?inhibit?rules
?-?1?receivers
?-?1?templates
??SUCCESS

5、启动项目

[root@localhost?alertmanager]#?/usr/apps/alertmanager/alertmanager?--config.file?/usr/apps/alertmanager/alertmanager.yml

  • 测试是否启动成功

[root@localhost?~]#?ss?-aulntp?|?grep?9093

  • 查看AlertManager的WEB UI页面

三、使用postman进行测试

1、使用postman测试

2、在body中输入的json格式

[
??{
????"labels":?{
???????"alertname":?"系统连续崩溃,已经出现雪崩状况!",
???????"dev":?"sda1",
???????"instance":?"实例1",
???????"msgtype":?"testing"
?????},
?????"annotations":?{
????????"info":?"程序员小王提示您:这个系统雪崩了,快处理!",
????????"summary":?"请检查实例示例1"
??????}
??},
??{
????"labels":?{
???????"alertname":?"管理系统损坏",
???????"dev":?"sda2",
???????"instance":?"实例1",
???????"msgtype":?"testing"
?????},
?????"annotations":?{
????????"info":?"程序员小王提示您:电子商务管理系统中订单,仓库模块已经雪崩,快处理!",
????????"summary":?"请检查实例示例1",
????????"runbook":?"以下链接http://192.168.5.128:9093/api/v2/alerts应该是可点击的"
??????}
??}
]

3、前端页面查看测试结果

4、在自己的QQ邮箱查看测试结果

  • 我选择的是邮箱,一般企业会选择自己的公司内部的邮箱,配置的时候,注意一下

四,最后的话

  • 写这篇博客码字不易,因为alertmanager目前在网上资料较少,这这篇博客花了不少的时间,如果您感觉这篇文章对您有帮助,需要你帮我点个一键三连💞,也算是对我小小的鼓励!??

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:22:01  更:2022-03-21 21:24:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/2 14:02:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码