
portworx/alertmanagerPrometheus Alertmanager是Prometheus监控生态系统的核心组件,专门用于处理Prometheus服务器生成的告警。它接收来自Prometheus的告警信息,通过去重、分组、路由等机制,将告警准确、高效地分发到指定的通知接收端(如邮件、Slack、PagerDuty等),是构建企业级监控告警系统的关键组件。
从quay.io仓库拉取官方镜像:
bashdocker pull quay.io/prometheus/alertmanager:latest
bashdocker run -d --name alertmanager -p 9093:9093 quay.io/prometheus/alertmanager:latest
默认监听9093端口,可通过
http://localhost:9093访问Web UI,使用内置默认配置文件。
Alertmanager核心配置通过alertmanager.yml文件定义,需挂载自定义配置文件到容器:
alertmanager.yml(示例配置):yamlglobal: resolve_timeout: 5m # 告警从firing转为resolved状态后的超时时间 route: group_by: ['alertname'] # 按alertname分组 group_wait: 10s # 组内首个告警触发后等待10s再发送(聚合同组告警) group_interval: 10s # 同组告警再次发送的间隔 repeat_interval: 1h # 重复发送相同告警的间隔 receiver: 'default-receiver' # 默认接收者 receivers: - name: 'default-receiver' email_configs: # 邮件接收配置示例 - to: '***' send_resolved: true # 告警恢复时发送通知 smtp_from: '***' smtp_smarthost: 'smtp.example.com:587' smtp_auth_username: '***' smtp_auth_password: 'your-smtp-password' smtp_require_tls: true inhibit_rules: # 抑制规则(可选) - source_match: severity: 'critical' target_match: severity: 'warning' equal: ['alertname', 'dev', 'instance'] # critical告警触发时抑制同标签的warning告警
bashdocker run -d --name alertmanager \ -p 9093:9093 \ -v /path/to/alertmanager.yml:/etc/alertmanager/alertmanager.yml \ quay.io/prometheus/alertmanager:latest
alertmanager.yml包含以下核心配置段:
支持通过环境变量覆盖部分配置:
ALERTMANAGER_CONFIG_FILE:指定配置文件路径(默认:/etc/alertmanager/alertmanager.yml)ALERTMANAGER_STORAGE_PATH:告警状态数据存储路径(默认:/alertmanager)WEB_LISTEN_ADDRESS:Web服务监听地址(默认::9093)示例(修改监听端口):
bashdocker run -d --name alertmanager \ -p 9094:9094 \ -e WEB_LISTEN_ADDRESS=":9094" \ quay.io/prometheus/alertmanager:latest
Alertmanager状态数据(如静默规则、告警状态)默认存储在/alertmanager目录,建议挂载本地目录持久化数据:
bashdocker run -d --name alertmanager \ -p 9093:9093 \ -v /path/to/alertmanager.yml:/etc/alertmanager/alertmanager.yml \ -v /path/to/alertmanager-data:/alertmanager \ quay.io/prometheus/alertmanager:latest
需在Prometheus配置文件prometheus.yml中指定Alertmanager地址,使Prometheus将告警发送至Alertmanager:
yamlalerting: alertmanagers: - static_configs: - targets: - 'alertmanager:9093' # Alertmanager容器地址(需在同一网络或使用IP)
提供健康检查接口:
http://localhost:9093/-/healthyhttp://localhost:9093/-/readyPrometheus Alertmanager通过灵活的配置和丰富的功能,实现了监控告警的分组、去重、路由和分发,适用于企业监控系统、云原生应用监控、IT基础设施监控等场景。通过Docker部署可快速搭建服务,配合自定义配置文件满足个性化告警策略需求。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务