当前位置: 首页 > news >正文

Prometheus中部署Alertmanager

部署Alertmanager 是 Prometheus 生态系统中的一个重要步骤,用于管理和处理 Prometheus生成的告警。Alertmanager和Prometheus Server一样均采用Golang实现,并且没有第三方依赖。一般来说我们可以通过以下几种方式来部署Alertmanager:二进制包、容器以及源码方式安装。

二进制部署法

1)获取并安装软件包

Alertmanager最新版本的下载地址可以从Prometheus官方网站
https://prometheus.io/download/获取

export VERSION=0.15.2
curl -LO
https://github.com/prometheus/alertmanager/releases/download/v$VERSION/alertmana
ger-$VERSION.darwin-amd64.tar.gz
tar xvf alertmanager-$VERSION.darwin-amd64.tar.gz

2)创建alertmanager配置文件

Alertmanager解压后会包含一个默认的alertmanager.yml配置文件,内容如下所示:

global:
resolve_timeout: 5m
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 1h
receiver: 'web.hook'
receivers:
- name: 'web.hook'
webhook_configs:
- url: 'http://127.0.0.1:5001/'
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']

Alertmanager的配置主要包含两个部分:路由(route)以及接收器(receivers)。

所有的告警信息都会从配置中的顶级路由(route)进入路由树,根据路由规则将告警信息发送给相应的接收器。

在Alertmanager中可以定义一组接收器,比如可以按照角色(比如系统运维,数据库管理员)来划分多个接收器。接收器可以关联邮件,Slack以及其它方式接收告警信息。

当前配置文件中定义了一个默认的接收者default-receiver由于这里没有设置接收方式,目前只相当于一个占位符。关于接收器的详细介绍会在后续章节介绍。

在配置文件中使用route定义了顶级的路由,路由是一个基于标签匹配规则的树状结构。所有的告警信息从顶级路由开始,根据标签匹配规则进入到不同的子路由,并且根据子路由设置的接收器发送告警。目前配置文件中只设置了一个顶级路由route并且定义的接收器为default-receiver。因此,所有的告警都会发送给default-receiver。

3)启动Alertmanager

Alermanager会将数据保存到本地中,默认的存储路径为data/ 。因此,在启动Alertmanager之前需要创建相应的目录:


./alertmanager

用户也在启动Alertmanager时使用参数修改相关配置。–config.file 用于指定alertmanager配置文件路径, --storage.path 用于指定数据存储路径。

4)查看运行状态

Alertmanager启动后可以通过9093端口访问http://192.168.33.10:9093
在这里插入图片描述
5)关联Prometheus与Alertmanager

在Prometheus的架构中被划分成两个独立的部分。Prometheus负责产生告警,而Alertmanager负责告警产生后的后续处理。因此Alertmanager部署完成后,需要在Prometheus中设置Alertmanager相关的信息。

编辑Prometheus配置文件prometheus.yml,并添加以下内容

alerting:
alertmanagers:
- static_configs:
- targets: ['localhost:9093']

重启Prometheus服务,成功后,可以从http://192.168.33.10:9090/config查看alerting配置是否生效。

此时,再次尝试手动拉高系统CPU使用率:

cat /dev/zero>/dev/null

等待Prometheus告警进行触发状态:
在这里插入图片描述
查看Alertmanager UI此时可以看到Alertmanager接收到的告警信息。
在这里插入图片描述

二、定义告警规则

在 alert.rules.yml 文件中定义告警规则,例如:

groups:
- name: examplerules:- alert: HighRequestLatencyexpr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5for: 10mlabels:severity: pageannotations:summary: High request latency

目前为止,我们已经成功安装部署了Alertmanager并且与Prometheus关联,能够正常接收来自Prometheus的告警信息。
在这里插入图片描述

http://www.xdnf.cn/news/150265.html

相关文章:

  • 全面解析 Spring 依赖注入:@Autowired、@Inject 与 @Resource 深度剖析
  • CRI、CSI 和 CNI 是三大核心接口标准
  • 多层pcb工厂哪家好?
  • Java 后端开发环境安装
  • 【EDA】Placement(布局)
  • 安全性测试常规测试点全解析:从基础到高级的实战指南
  • AI智能SEO关键词优化策略
  • 人工智能(AI)对网络管理的影响
  • 13.ArkUI Navigation的介绍和使用
  • 队列基础和例题
  • Linux-05 半个月崩了三次 ubuntu 系统记录
  • Linux网络编程
  • 2025智能营销平台发展趋势
  • 消息唯一ID算法参考
  • DbCreateHelper数据库创建指南
  • 建筑节能成发展焦点,楼宇自控应用范围持续扩大
  • 文件IO(Java)
  • Python MCP客户端SDK实现
  • AIDL进程间通信
  • node.js 实战——从0开始做一个餐厅预订(express+node+ejs+bootstrap)
  • js的作用域,作用域链,执行上下文,变量对象,活动对象
  • 谷歌AI眼镜:你的第二大脑,未来人机共生从这里开始
  • 前端如何获取文件的 Hash 值?多种方式详解、对比与实践指南
  • 列表与字典应用
  • 动态规划算法详解(C++)
  • EFL格式|动态库加载 | 重谈地址空间(2)
  • 复合材料高置信度 DIC 测量与高级实验技术研讨会邀请函
  • 达梦数据库压力测试报错超出全局hash join空间,适当增加HJ_BUF_GLOBAL_SIZE解决
  • 【计算机视觉】CV实战项目 - 基于YOLOv5的人脸检测与关键点定位系统深度解析
  • mysql 安装