zabbix报警,tidb监控机内存吃紧,查了一下基本上全被prometheus占了,然后prometheus就报错了。通过tidb dashboard查看时,error.api.metrics.prometheus query failed: failed to query Prometheus。tidb用的是4.0.8
1,查日志
# tail -f tidb-deploy/prometheus-9090/log/prometheus.log
prometheus repair.go:48 component=tsdb msg="found healthy block"
网上找了一圈,没有解决办法。猜测是内存被吃完后,导致prometheus进程挂掉,写入文件不全,导致错误。
2,解决办法
# tiup cluster stop tidb_ziwei -R prometheus //只停止prometheus # mv prometheus-9090 prometheus-9090-old //备份 # mkdir prometheus-9090 # tiup cluster edit-config tidb_ziwei //修改配置 monitoring_servers: - host: 10.0.10.11 ssh_port: 22 port: 9090 deploy_dir: /home/tidb/tidb-deploy/prometheus-9090 data_dir: /home/tidb/tidb-data/prometheus-9090 storage_retention: 2d //新增这一行,默认是30天 arch: amd64 os: linux # tiup cluster reload tidb_ziwei -R prometheus //重新加载配置,并重启prometheus
注意:改scripts下的run_prometheus.sh,是不起作用的,重启prometheus这个脚本就会被还原。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/tidb/2514.html
文章不错