如何修改告警规则

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】tidb.4.0.8

【问题描述】alertmanager的global和receiver配置以及告警规则,在修改之后,执行tiup reload 就又变成默认设置了,这个怎么修改啊?


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

2 个赞

请问,你是如果修改配置的?

直接修改monitor/conf/tidb.rules.yml
image

tiup reload 会将文件覆盖为默认文件,所以你reload后,就会变为原始文件。

使用 tiup reload 重启 prometheus 的配置后,后重新生成 prometheus 的配置文件。
可以在 tiup reload 的结果中看到以下的结果:

  • Regenerate config prometheus -> 192.168.12.21:29090 … Done
    这个 prometheus 的配置文件是通过 /root/.tiup/storage/cluster/clusters/tidb-c2-v409/meta.yaml 文件生成的。
    meta.yaml 的文件是通过编辑的 TiDB Cluster 文件生成的。
    所以当 tiup 拓扑文件没有改变的时候,重新 reload 会根据拓扑文件里面的信息生成新的 prometheus 配置文件。导致覆盖了原有的修改。

如果需要在 Prometheus 上做定制化开发,建议您不要使用 tiup reload。
如果一定要使用 tiup reload 功能,您可以跳过 prometheus 组件,通过 tiup cluster -R 指定其他组件。
例如:
tiup cluster tidb-c2-v409 reload -R tidb,tikv,pd,grafana,alertmanager

好的,多谢老师:100:。我再试试

:+1:

Prometheus 不能跟alertmanager一样 映射配置文件吗

tiup 管理的 prometheus,可以指定自己的报警规则(rules) 配置, 其他的都是 tiup 管理的,可以通过拓扑文件指定,例如 remote_config, storage_retention, external_alertmanagers 等

通过 TiUP 部署 TiDB 集群的拓扑文件配置 | PingCAP Docs
我也有同样问题,最后找到官方文档中,有rule_dir这个参数,满足了我的需求。
将远端文件同步到本地后,修改本地的配置,在reload后,会更新到远端

  • rule_dir :该字段指定一个本地目录,该目录中应当含有完整的 *.rules.yml 文件,这些文件会在集群配置初始化阶段被传输到目标机器上,作为 Prometheus 的规则
1 个赞

rule_dir:这个参数貌似没有生效,tiup reload后还是会生成*.rules.yml

你指定的TiUP的目录,还是远程Prometheus的目录?

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。