prometheus+alertmanager+webhook实现自定义监控报警系统

文章目录

  • 1.概述
  • 2.prometheus配置报警规则
  • 3.alertmanager配置及部署
    • 3.1.alertmanager配置
    • 3.2.alertmanager部署
  • 4.prometheus关联alertmanager
  • 5.配置报警通知方式
    • 5.1.alertmanager邮箱报警demo
    • 5.2.alertmanager使用webhook(java)报警demo
  • 6.总结

1.概述

上一篇文章prometheus+grafana+mtail+node_exporter实现机器负载及业务监控介绍了使用mtail和node_exporter实现的prometheus无埋点监控机器负载和业务的监控系统,本文是在其基础上实现自定义报警功能。
Prometheus+Alertmanager 的警报分为两个部分:

Alertmanager 发送通知有多种方式,其内部集成了邮箱、Slack、企业微信等三种方式,也提供了webhook的方式来扩展报警通知方式,网上也有大量例子实现对第三方软件的集成,如钉钉等。本文介绍邮件报警方式和通过使用java来搭建webhook自定义通知报警的方式。

本文内容主要分为四块:

  • prometheus报警规则配置
  • alertmanager配置及部署
  • 关联prometheus和alertmanager
  • 配置报警通知方式

2.prometheus配置报警规则

prometheus.yml属性配置

属性 描述
scrape_interval 样本采集周期,默认为1分钟采集一次
evaluation_interval 告警规则计算周期,默认为1分钟计算一次
rule_files 指定告警规则的文件
scrape_configs job的配置项,里面可配多组job任务
job_name 任务名称,需要唯一性
static_configs 的配置选项,一般使用file_sd_configs 热加载配置
file_sd_configs 的动态配置选项,使用此配置可以实现配置文件的
files: 配置的服务发现的文件路径列表,支持.json,.yml或.yaml,路径最后一层支持通配符*
refresh_interval 中的重新加载的周期,默认5分钟

此处我们使用属性来设置告警文件

设置报警规则,rules/host_rules.yml

采集任务job配置config_exporter.json配置如下(其他job配置文件类似):

配置完报警规则重启prometheus,访问http://ip:9090/,点击alerts就能看到配置的报警信息了,如下:

prometheus+alertmanager+webhook实现自定义监控报警系统

3.2.alertmanager部署

建议下载最新版本,最新版下载地址请戳此处(可能需要翻墙),我使用的版本为alertmanager-0.20.0.linux-amd64.tar.gz,我的版本csdn下载地址请戳。
将其解压到/usr/local后,进入目录/usr/local/alertmanager-0.20.0.linux-amd64,会有个默认配置文件:alertmanager.yml,内容如下:

使用默认配置在后台启动:

查看是否启动成功:

启动后访问http://ip:9093/查看是否启动成功,点击status查看alertmanager及其配置,访问如下(我的配置有改动,请以自己页面展示为准):

prometheus+alertmanager+webhook实现自定义监控报警系统

来源:昵称2021

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年2月4日
下一篇 2020年2月5日

相关推荐