Docker中部署Alertmanager

在 Docker 中部署 Alertmanager(通常与 Prometheus 告警系统配合使用)的步骤如下:

一、拉取镜像prom/alertmanager

csharp 复制代码
docker pull prom/alertmanager

二、 创建 Alertmanager 配置文件

首先准备Alertmanager的配置文件 alertmanager.yml(如存放在 ./alertmanager/ 目录下):

csharp 复制代码
# ./alertmanager/alertmanager.yml
global:
  resolve_timeout: 5m
  smtp_smarthost: 'smtp.example.com:25'
  smtp_from: 'alertmanager@example.com'
route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 5m
  repeat_interval: 3h
  receiver: 'email-notifications'
receivers:
- name: 'email-notifications'
  email_configs:
  - to: 'team@example.com'

三、创建 Docker 运行命令

使用以下命令启动 Alertmanager 容器:

csharp 复制代码
docker run -d \
  --name alertmanager \
  --network prometheus-net \  # 可选:与 Prometheus 同一网络
  -p 9093:9093 \             # 暴露 Alertmanager 默认端口
  -v $(pwd)/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml \
  -v $(pwd)/alertmanager/data:/alertmanager \  # 持久化数据(如静默规则)
  prom/alertmanager:latest \
  --config.file=/etc/alertmanager/alertmanager.yml \
  --storage.path=/alertmanager/data

参数说明:

--network:如果与 Prometheus 容器互通,建议使用同一 Docker 网络。

-v:挂载配置文件和数据目录(确保本地目录存在)。

--config.file:指定配置文件路径(容器内路径)。

--storage.path:持久化数据存储路径。

四、验证部署

检查容器状态:

csharp 复制代码
docker ps | grep alertmanager

访问 Web 界面:

打开浏览器访问 http://<服务器IP>:9093,应看到 Alertmanager 的 Web UI。

五、集成 Prometheus

在 Prometheus 的配置文件 prometheus.yml 中添加 Alertmanager 的地址:

csharp 复制代码
alerting:
  alertmanagers:
  - static_configs:
    - targets: ["alertmanager:9093"]  # 若在同一 Docker 网络,可直接用容器名

重启 Prometheus 容器使配置生效。

六、使用 Docker Compose

创建 docker-compose.yml 文件简化管理:

csharp 复制代码
version: '3'
services:
  alertmanager:
    image: prom/alertmanager:latest
    container_name: alertmanager
    ports:
      - "9093:9093"
    volumes:
      - ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml
      - ./alertmanager/data:/alertmanager
    command:
      - '--config.file=/etc/alertmanager/alertmanager.yml'
      - '--storage.path=/alertmanager/data'
    restart: unless-stopped

启动服务:

csharp 复制代码
docker-compose up -d

通过以上步骤,Alertmanager 即可在 Docker 中运行并接收 Prometheus 的告警通知。根据实际需求调整配置文件中的路由规则和接收器(如 Webhook、Slack 等)。

常见问题

1)配置文件错误:

使用 --log.level=debug 参数启动容器,查看日志排查配置错误:

csharp 复制代码
docker logs alertmanager

2)持久化数据:

确保 data 目录挂载正确,否则重启后静默规则等数据会丢失。

3)网络互通:

若 Prometheus 无法连接 Alertmanager,检查两者是否在同一 Docker 网络

PS:需要笔记资料可以联系老师获取

VX:chuansinfo_sz

相关推荐
abigriver8 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
charlie1145141919 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
Agent手记9 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
cen__y10 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
dapeng-大鹏12 小时前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展
乐维_lwops12 小时前
案例解读|运维监控助力某大型卷烟厂构建高效运维监控体系
运维·运维案例
JiaWen技术圈12 小时前
网站用户注册行为验证码方案
运维·安全
仙柒41512 小时前
Docker存储原理
运维·docker·容器
DolphinDB12 小时前
漫长人工,耗费存储?用 BackupRestore 模块一站式解决跨环境数据同步难题
运维·后端·架构
神奇椰子15 小时前
[特殊字符] 服务器搭建网站完整教程
运维·服务器