已存在的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 天后被自动关闭。不再允许新回复。