千家信息网

Prometheus如何整合AlertManager

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍Prometheus如何整合AlertManager,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!简介Alertmanager 主要用于接收 Prometheu
千家信息网最后更新 2026年11月02日Prometheus如何整合AlertManager

这篇文章主要介绍Prometheus如何整合AlertManager,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

简介

Alertmanager 主要用于接收 Prometheus 发送的告警信息,它很容易做到告警信息的去重,降噪,分组,策略路由,是一款前卫的告警通知系统。它支持丰富的告警通知渠道,可以将告警信息转发到邮箱、企业微信、钉钉等。

实验

准备

启动 http-simulator 度量模拟器:

docker run --name http-simulator -d -p 8080:8080 pierrevincent/prom-http-simulator:0.1

启动 Prometheus,为了方便更新配置,使用挂载配置文件的方式:

docker run --name prometheus -d -p 9090:9090 -v /Users/huanchu/Documents/prometheus-data:/prometheus-data \       prom/prometheus --web.enable-lifecycle --config.file=/prometheus-data/prometheus.yml

启动添加了参数 -web.enable-lifecycle,让Prometheus支持通过web端点动态更新配置。

访问 http://127.0.0.1:9090/targets ,Prometheus 自身的 metrics 和 http-simulator 的 metrics 处于up 状态 ,那么准备工作就做好了。

实验

实验1

告警配置

在prometheus-data文件夹下,创建告警配置文件 simulator_alert_rules.yml:

groups:- name: simulator-alert-rule  rules:  - alert: HttpSimulatorDown    expr: sum(up{job="http-simulator"}) == 0    for: 1m    labels:      severity: critical

配置文件的意思是 http-simulator 服务up状态为 0 ,并且持续1分钟时,产生告警 ,级别为 "严重的"。

修改prometheus.yml,引用simulator_alert_rules.yml文件,prometheus.yml 内容如下:

global:  scrape_interval: 5s  evaluation_interval: 5s  scrape_timeout: 5srule_files:  - "simulator_alert_rules.yml"scrape_configs:  - job_name: 'prometheus'    static_configs:    - targets: ['localhost:9090']  - job_name: 'http-simulator'    metrics_path: /metrics    static_configs:    - targets: ['192.168.43.121:8080']

更新Prometheus配置:

curl -X POST http://localhost:9090/-/reload

访问 http://127.0.0.1:9090/config,可以看到已经为更新了配置:

访问 http://127.0.0.1:9090/rules,Rules 下出现了新添加的告警规则:

验证

访问 http://127.0.0.1:9090/alerts ,Alerts 下 HttpSimulatorDown 为绿色,处于INACTIVE 状态,表示什么都没有发生。

关闭 http-simulator 服务:

docker stop http-simulator

访问 http://127.0.0.1:9090/alerts,HttpSimulatorDown 变成黄色,处于 PENDING 状态,表示报警即将被激活。

一分钟后,HttpSimulatorDown 变成红色,处于 FIRING 状态,表示报警已经被激活了。

实验2

告警配置

在simulator_alert_rules.yml文件中增加告警配置:

- alert: ErrorRateHigh    expr: sum(rate(http_requests_total{job="http-simulator", status="500"}[5m])) / sum(rate(http_requests_total{job="http-simulator"}[5m])) > 0.02    for: 1m    labels:      severity: major    annotations:      summary: "High Error Rate detected"      description: "Error Rate is above 2% (current value is: {{ $value }}"

配置文件的意思是 http-simulator 请求的错误率对2% ,并且持续1分钟时,产生告警 ,级别为 "非常严重的"

更新Prometheus配置:

curl -X POST http://localhost:9090/-/reload
验证

访问 http://127.0.0.1:9090/alerts,ErrorRateHigh 为绿色的 INACTIVE 状态。

把 http-simulator 的错误率调到 10%

curl -H 'Content-Type: application/json' -X PUT -d '{"error_rate": 10}' http://localhost:8080/error_rate

稍等一会后,访问 http://127.0.0.1:9090/alerts, 可以看到错误率已经大2%,ErrorRateHigh 为红色的 FIRING 状态,报警已经被激活了。

安装和配置AlertManager

通过docker 挂载文件的方式安装AlertManager,在本地创建文件夹 alertmanager-data 文件夹,在其中创建 alertmanager.yml,内容如下:

global:  smtp_smarthost: 'smtp.163.com:25'  smtp_from: 'xxxxx@163.com'  smtp_auth_username: 'xxxxx@163.com'  smtp_auth_password: 'xxxxx'route:  group_interval: 1m   #当第一个报警发送后,等待'group_interval'时间来发送新的一组报警信息  repeat_interval: 1m   # 如果一个报警信息已经发送成功了,等待'repeat_interval'时间来重新发送他们  receiver: 'mail-receiver'receivers:- name: 'mail-receiver'  email_configs:    - to: 'xxxxxx@163.com'

启动 AlertManager:

docker run --name alertmanager -d -p 9093:9093 -v /Users/huanchu/Documents/alertmanager-data:/alertmanager-data \       prom/alertmanager --config.file=/alertmanager-data/alertmanager.yml

在Prometheus目录下,修改prometheus.yml配置Alertmanager地址:

# Alertmanager configurationalerting:  alertmanagers:  - static_configs:    - targets:      - 192.168.43.121:9093

更新Prometheus配置:

curl -X POST http://localhost:9090/-/reload

访问 http://127.0.0.1:9093,访问Alertmanager UI界面,可以看到接收到ErrorRateHigh告警:

邮箱会收到告警信息:

以上是"Prometheus如何整合AlertManager"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

配置 文件 状态 信息 报警 更新 内容 实验 文件夹 激活 错误 错误率 整合 意思 方式 时间 篇文章 红色 级别 绿色 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州万易互联网科技有限公司 唐信互联网科技 安徽鑫晟辉互联网科技 鑫亿盛互联网科技 唐信互联网科技 大连 互联网科技大会案例 广州慧亚互联网科技怎么样 字节跳动和互联网科技 互联网企业和科技型企业 贵州叶脉互联网科技有限公司所属行业 佳云科技和互联网广告 江阴互联网智能科技产品进口 深圳育鹏互联网科技有限公司招聘 科技类公司包括互联网吗 朱啸虎曾投资哪些互联网科技企业 萌小萌互联网科技河南有限公司 美国五大互联网科技公司市值多少 恒生科技指数 中概互联网 山东蛋芒互联网科技有限公司 网互联网络科技 互联网黑科技 互联网科技公司排名 百单互联网科技有限公司 顺网科技2021年互联网排名 汽车互联网创新科技园 世界互联网科技公司市值排名 互联网与医疗科技 乌鲁木齐新华智原互联网科技学校 东营紫格互联网科技 保山浩联互联网科技有限公司
0