首页/云/可观测性速查/配置热重载:校验、单台验证、逐台推进
告警与响应50 条

配置热重载:校验、单台验证、逐台推进

改配置先校验,再对单实例 reload(POST /-/reload 需 --web.enable-lifecycle,或发 SIGHUP),观察日志无错后在集群内逐台推进。

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

为什么按这个顺序改配置

Alertmanager 的配置改动直接影响告警能不能送达,所以流程是固定的:先本地校验语法,再对单台实例触发重载并观察日志,确认无误后在集群内逐台推进。集群内各节点配置必须一致,逐台重载期间新旧路由短暂共存属于预期现象,但重要变更应避开值班高峰。

基本信息

校验命令amtool check-config,改完先跑一遍
重载接口POST /-/reload,需要启动参数 --web.enable-lifecycle
信号方式发送 SIGHUP 也可触发重载
失败表现重载失败时进程沿用旧配置继续运行

重载流程

重载流程
amtool check-config /etc/alertmanager/alertmanager.yml

# 触发热重载(需启动参数 --web.enable-lifecycle)
curl -sX POST http://127.0.0.1:9093/-/reload

# 查看重载日志确认无报错
journalctl -u alertmanager -n 20 --no-pager

# 无 lifecycle 时用信号方式
kill -HUP $(pidof alertmanager)

重载方式对比

方式条件适用
HTTP 接口启动时开启 lifecycle脚本化与自动化流程
SIGHUP 信号有进程管理权限未开启 lifecycle 的场景
重启进程可接受短暂中断配置结构大改后更稳妥

操作步骤

  • 改配置前备份当前文件,确认版本库里有对应的历史记录
  • 先跑 amtool check-config,语法错误在这一步就会被拦下
  • 单台触发重载并核对日志,确认没有配置解析或模板错误
  • 集群内逐台推进,每台重载后确认路由与抑制行为符合预期
  • 变更后在告警面板上确认通知量正常,再结束本次操作
未启用 lifecycle 时 /-/reload 不可用,别误判成配置错误;reload 失败时进程沿用旧配置继续跑,只看 HTTP 返回不够,必须核日志。

排查要点

  • 重载后行为没变化,先查日志里是否有解析错误,再确认文件路径与容器挂载一致
  • 模板语法错误只在渲染时暴露,改动消息模板后务必发一条测试告警验证
  • 集群中某台长期未重载,用各节点配置文件的校验和比对确认版本一致
  • 配置放进版本库,回退时用上一个提交的文件,而不是凭记忆改回去

易错点

  • 未启用 lifecycle 时 /-/reload 不可用,容易被误判成配置错误
  • reload 失败时进程沿用旧配置继续跑,只看 HTTP 返回不核日志会以为生效了
  • 集群内只改一台又没在窗口内补齐,各节点路由不一致导致通知重复或丢失
  • 改配置不做备份也不进版本库,出错时无法快速回退到上一个可用状态

数据来源与参考

  • Alertmanager 文档 · Management API
  • Alertmanager 文档 · Configuration
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌