因tidb监控ng-monitoring存在bug,触发bug耗尽监控服务器资源,论坛有解决办法,修改/app/tidbsoft/prometheus-9090/conf/ngmonitoring.toml配置,在[storage]下新加
docdb-backend = “sqlite”
sqlite-use-wal = true
meta-retention-secs = 1296000
即改监控存储为sqlite,这样改,tiup cluster reload tidb-acloud -R prometheus,reload后改配置文件被重置了,即修改配置丢失,请教大佬们,有永久生效修改配置方法吗,即reload后配置不丢失?
应该不能直接修改本地文件吧?
tiup cluster edit-config ,修改monitoring_servers这里的内容吧?
改本地 reload 得加–skip-restart,要不一重启就被覆盖了。
关注中,遇到了同样的问题,不定期出现异常,一旦出现异常,重启无效,只能通过scale-in和scale-out暂时解决, 疯狂IO和占用内存
关注中,遇到了同样的问题,不定期出现异常,一旦出现异常,重启无效,只能通过scale-in和scale-out暂时解决, 疯狂IO和占用内存
这个bug碰到的几率还是比较大的,我3套集群,一套测试、2套生产(主从),从集群就碰到了,监控服务器内存、IO资源耗尽,ssh远程都登录不了,只有重启服务器,关闭监控,监控服务器才正常,一般监控服务器都与tiup一起部署,不关闭监控,tiup管理工具用不了
Do you want to continue editing? [Y/n]: (default=Y)
New topology could not be saved: Failed to parse topology file: yaml: unmarshal errors:
line 116: field ng_monitoring_additional_args not found in type spec.PrometheusSpec
奇怪,我也是从集群有问题,主集群没事
server_configs:
ng_monitoring:
storage.docdb-backend: "sqlite"
storage.sqlite-use-wal: true
storage.meta-retention-secs: 1296000
配置文件这些试试呢,这个没有官方文档,只能在 ng-monitoring 仓库 config/config.go 里 Storage 结构体 里面看到有这么个写法
如果要不覆盖旧配置 直接缩掉监控扩容新配置文件
只说参数,如下配置,语法上是对的。没有实际reload。
monitoring_servers:
- host: 1.2.3.4
ssh_port: 22
port: 9090
ng_port: 12020
deploy_dir: /tidb/tidb-deploy/prometheus-9090
data_dir: /tidb/tidb-data/prometheus-9090
log_dir: /tidb/tidb-deploy/prometheus-9090/log
external_alertmanagers:
- host: 1.2.4.5
web_port: 9093
arch: amd64
os: linux
rule_dir: /home/tidb/prometheus_rule
ng_monitoring_config:
storage:
docdb-backend: sqlite
meta-retention-secs: 1296000
sqlite-use-wal: true
升级版本看看能否解决
field not found 报的是 tiup 的 PrometheusSpec 里没这个字段,tiup 版本和写法对不上。换成 ng_monitoring_config 块写 storage,走 edit-config 再 reload,本地文件就不会被覆盖。
是软件bug导致的吧
我记得删除哪个文件就好了
改错位置了
改本地文件reload必被覆盖,得走edit-config