已存在的tidb集群是否可以修改集群的prometheus的rules文件规则

已存在的tidb集群是否可以修改集群的prometheus的rules文件规则。
看了文档: *rule_dir :该字段指定一个本地目录,该目录中应当含有完整的 *.rules.yml 文件,这些文件会在集群配置初始化阶段被传输到目标机器上,作为 Prometheus 的规则。测试确实也不能修改。
是不是只有新建集群才能修改rules,已存在集群没法修改。

或者说如何废弃tidb自身的默认rules,

已找到答案:
cmds := []string{
“mkdir -p %[1]s/conf”,
find %[1]s/conf -type f -name "*.rules.yml" -delete,
find %[1]s/bin/prometheus -maxdepth 1 -type f -name "*.rules.yml" -exec cp {} %[1]s/conf/ \;,
find %[1]s/conf -maxdepth 1 -type f -name "*.rules.yml" -exec sed -i -e 's/ENV_LABELS_ENV/%[2]s/g' {} \;,
}

看了代码,只要集群的bin/prometheus目录下的rules文件拷贝走,另外在edit-config中添加monitor-servers部分的rule_dir添加自己的rules目录,就能只用自己的rules。

另外,升级版本之后应该要再做一次。

tiup/pkg/cluster/spec/monitoring.go

应该是支持自定义rules

嗯,是的,我主要是想废弃自带的rules,用我自己的。代码里正好看到他rules的拷贝逻辑,可以绕过去。

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