如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Alertmanager 是 Prometheus 生态系统中的核心组件,负责处理由客户端应用(如 Prometheus 服务器)发送的告警。它提供告警的 deduplication(去重)、grouping(分组)和 routing(路由)功能,可将告警分发至多种接收器(如电子邮件、PagerDuty、OpsGenie 等),同时支持告警的 silencing(静默)和 inhibition(抑制),是构建可靠监控告警系统的关键工具。
alertname、cluster)分组同类告警Alertmanager 镜像可从以下仓库获取:
使用以下命令启动 Alertmanager 容器进行测试:
bashdocker run --name alertmanager -d -p 127.0.0.1:9093:9093 quay.io/prometheus/alertmanager
容器启动后,可通过 http://localhost:9093/ 访问 Alertmanager Web 界面。
为持久化配置文件,建议挂载本地目录:
bashdocker run --name alertmanager -d \ -p 127.0.0.1:9093:9093 \ -v /path/to/alertmanager/config:/etc/alertmanager \ quay.io/prometheus/alertmanager \ --config.file=/etc/alertmanager/alertmanager.yml
yamlversion: '3' services: alertmanager: image: quay.io/prometheus/alertmanager container_name: alertmanager ports: - "9093:9093" volumes: - ./alertmanager/config:/etc/alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yml' restart: unless-stopped
Alertmanager 使用 YAML 格式配置文件,核心包括 global、route、inhibit_rules 和 receivers 四部分。
以下是涵盖主要配置项的示例(完整配置文档见 Prometheus 官方文档):
yamlglobal: # 邮件通知的 SMTP 服务器和发件人 smtp_smarthost: 'localhost:25' smtp_from: 'alertmanager@example.org' # 告警入口路由规则 route: # 未匹配子路由的告警默认接收器 receiver: 'team-X-mails' # 告警分组标签(相同标签的告警将被合并) group_by: ['alertname', 'cluster'] # 新告警组首次通知等待时间 group_wait: 30s # 告警组内新告警再次通知等待时间 group_interval: 5m # 重复告警通知间隔 repeat_interval: 3h # 子路由规则 routes: # 匹配 service 为 foo1/foo2/baz 的告警 - matchers: - service=~"^(foo1|foo2|baz)$" receiver: 'team-X-mails' # 子路由:匹配 severity=critical 的告警 routes: - matchers: - severity="critical" receiver: 'team-X-pager' # 匹配 service=files 的告警 - matchers: - service="files" receiver: 'team-Y-mails' routes: - matchers: - severity="critical" receiver: 'team-Y-pager' # 告警抑制规则(当高优先级告警触发时抑制低优先级告警) inhibit_rules: - source_matchers: - severity="critical" # 源告警匹配规则 target_matchers: - severity="warning" # 目标告警匹配规则 equal: ['alertname'] # 告警名称相同才应用抑制 # 接收器定义 receivers: - name: 'team-X-mails' email_configs: - to: 'team-X+alerts@example.org, team-Y+alerts@example.org' - name: 'team-X-pager' email_configs: - to: 'team-X+alerts-critical@example.org' pagerduty_configs: - routing_key: <team-X-key> # PagerDuty 路由密钥 - name: 'team-Y-mails' email_configs: - to: 'team-Y+alerts@example.org' - name: 'team-Y-pager' pagerduty_configs: - routing_key: <team-Y-key> - name: 'team-DB-pager' pagerduty_configs: - routing_key: <team-DB-key>
amtool 是 Alertmanager 配套的命令行工具,用于管理告警和静默规则。
通过 go install 安装:
bashgo install github.com/prometheus/alertmanager/cmd/amtool@latest
查看告警
bash# 简单输出 amtool alert # 详细输出 amtool -o extended alert # 按标签查询 amtool -o extended alert query alertname="Test_Alert"
静默告警
bash# 添加静默规则 amtool silence add alertname=Test_Alert # 查看静默规则 amtool silence query # 过期静默规则 amtool silence expire <silence-id>
测试路由规则
bash# 测试告警标签匹配的接收器 amtool config routes test --config.file=alertmanager.yml service=database owner=team-X
Alertmanager 支持通过集群实现高可用,需配置 --cluster.* 系列参数(UDP 和 TCP 协议均需启用)。
bash# 节点 1 docker run --name alertmanager-1 -d \ -p 9093:9093 \ -p 9094:9094 \ quay.io/prometheus/alertmanager \ --cluster.listen-address=0.0.0.0:9094 \ --cluster.peer=alertmanager-2:9094 \ --cluster.peer=alertmanager-3:9094 # 节点 2(类似节点 1,调整 peer 为其他节点) # 节点 3(类似节点 1,调整 peer 为其他节点)
在 Prometheus 配置中指定所有 Alertmanager 实例:
yamlalerting: alertmanagers: - static_configs: - targets: - alertmanager-1:9093 - alertmanager-2:9093 - alertmanager-3:9093
注意:不要在 Prometheus 与 Alertmanager 之间使用负载均衡,需直接配置所有节点地址以确保告警高可用。
Apache License 2.0,详见 https://github.com/prometheus/alertmanager/blob/main/LICENSE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务