首页/云/可观测性速查/amtool:告警、静默与配置校验的命令行
告警与响应50 条

amtool:告警、静默与配置校验的命令行

amtool 覆盖日常运维:check-config 校验配置、alert query 查询告警、silence 管理静默、config routes test 预演路由匹配;脚本中固定 URL 与版本。

可观测性速查云更新于 2026-10-13

amtool 是什么

amtool 是 Alertmanager 自带的命令行工具,覆盖日常运维的几件高频事:校验配置文件、查询当前触发的告警、创建与查询静默、预演一组标签会命中哪条路由。它的价值在于把「改完配置上线才发现路由错了」这类问题提前到本地校验阶段——尤其是路由预演,一次命令就能打印出匹配链路,成本极低。

基本信息

适用平台Alertmanager 发行包自带,版本需与告警服务一致
常用子命令check-config、alert query、silence、config routes test
连接参数通过 --alertmanager.url 指定服务地址
输出控制支持 --output 指定格式,便于脚本消费

典型使用场景

  • 上线前校验:提交配置前跑一次 check-config,拦住语法与引用错误
  • 路由回归:改了路由树后用 routes test 预演关键标签组合
  • 值班查询:当前有哪些告警在触发、由谁负责
  • 演练准备:提前创建静默,演练结束后统一过期
  • CI 门禁:把校验命令写进流水线,禁止未校验的配置合并

常用命令

常用命令
# 配置与路由校验
amtool check-config alertmanager.yml
amtool config routes test --config.file=alertmanager.yml severity=critical service=order-svc

# 当前告警查询
amtool alert query --alertmanager.url=http://127.0.0.1:9093
amtool alert query --alertmanager.url=http://127.0.0.1:9093 'alertname="HighErrorRate"'

# 静默管理(演练前创建,结束后可手动过期)
amtool silence add --alertmanager.url=http://127.0.0.1:9093 --comment="演练" --duration=1h 'service="order-svc"'
amtool silence query --alertmanager.url=http://127.0.0.1:9093

子命令与用途

子命令作用使用要点
check-config校验配置文件语法与引用不需要连接服务,可离线跑
config routes test预演标签命中哪条路由改路由后必跑
alert query查询当前告警需要指定服务地址
silence add/query/expire静默的增查改静默都带创建人与注释,便于追溯
cluster show查看集群成员状态多副本部署时确认节点互通
静默是临时手段而不是长期治理方式:长期静默会积累成无人复核的盲区,建议定期审视静默清单并把常见误报转化为规则调整。
不同版本的子命令参数存在差异,值班脚本与流水线里固定工具版本,避免升级后脚本静默失效。

易错点

  • 漏写服务地址时默认连本机端口,连不上容易误判成告警服务故障,脚本里应显式传入地址
  • 只跑 check-config 而不做路由预演,语法正确但路由落在错误接收器的情况照样上线
  • 不同版本的子命令参数有差异,跨版本复制的脚本可能失效,需固定版本
  • 长期静默无人复核会形成监控盲区,静默应带注释与到期时间并定期清理

数据来源与参考

  • Alertmanager 文档 · amtool
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌