导入数据库之后,通过监控页面tikv-details页面发现存贮为空

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v.3.0.8
  • 【问题描述】: 导入数据库完成之后,监控上为空

通过查看服务器的tikv节点,确实有数据库进入磁盘

1.集群是否是从 2.x 版本升级到 3.0 的版本?2.x 和 3.x 版本的监控有些不一样。

2.首先需要看下 每个节点上 node_exporter 是否都正常运行。

监控中查看的数据流程大概是这样:

3.0 版本的:prometheus 会从 tidb/tikv/pd 抓取数据,存放到 prometheus 里面,之后 grafana 再去 prometheus 里面查询并将结果显示到 grafana 监控面板上。

如出现上图中监控项看不到数据,可以从两个方向排查

1.检查下 prometheus 中是否存在数据,如不存在,排查下 prometheus 抓取数据时有问题

2.如 prometheus 中存在数据,而 grafana 中去查询时,没有数据显示,可能是 json 配置有问题,可以检查下

怎么检测prometheus是否存在数据,在哪里看

  1. 查看此文档,在edit里会有具体的表达式,复制到prometheus,点击execute就可以看到值了. https://pingcap.com/docs-cn/stable/reference/best-practices/grafana-monitor/#使用-grafana-监控-tidb-的最佳实践
  2. 类似这样
  3. 另外查看其他监控项是否有数据
  4. Prometheus是工具,可以查看官网 https://prometheus.io/

那我看那个参数才能知道prometheus是否抓取到数据,我的tikv节点是挂载在数据盘上,不是系统盘,上面的可选项太多了,我试了几个都没有找到我想知道的结果,另外我不是升级的,是全新部署的,直接用的最新的V3.0.8

  1. grafana 找到 “no data" 的监控,通过 “edit” 编辑确认对应的 metric ,例如 store size 是 ”no data“ ,在 edit 可以看到下面的 pquery ”tikv_engine_size_bytes“

  1. promtheus 里面找到这个 metric 是否有值。如果有值需要判断是否是 grafana 和 prometheus 配置问题? 如果没有值,需要判断 prometheus 是否可以成功抓取到对应的 tikv 的监控。

通过 promethues 的 log 和 监控配置,确认是否成功能获取 tikv 监控数据信息,如果对 prometheus 不太数据,可以看看楼上同学发的我们的最佳实践的相关文档。

你把我都绕糊涂了,我已经看了相关的文档,关键是没有你说的那些信息,还是我没有理解,能不能帮忙提供一下,具体操作流程,因为我之前部署的时候没有碰到这些问题,我现在是生产环境,急需解决

按照这个流程检查相关的日志、配置、以及 timezone 确认目前是哪里数据有问题 ? 目前看已经到 prometheus 到 tikv 这里,所以要看 prometheus 的 log 和 配置。

  1. 和pd高的是一个集群吗? 2. 所有的tikv都没有监控信息? 3. 现在就只看没有的里面的一个监控就行,比如cpu,从edit去Prometheus看一下有没有值. 4. ps -ef | grep tidb 反馈下进程
  1. 麻烦反馈下当前的inventory.ini文件 2. 在tikv节点执行ps -ef | grep tidb

(1)从172.31.10.122 尝试telnet 10.198这个tikv. 测试以下命令:使用root用户 telnet 172.31.10.198 20160; telnet 172.31.10.198 20180; telnet 172.31.10.198 9100; telnet 172.31.10.198 9115; 返回以下信息代表成功. image

(2) 在172.31.10.198上执行curl http://172.31.10.198:20180/metrics 反馈下结果

1 除了20180这个端口不行,其他的都正常

你确定是在172.31.10.198上执行吗

  1. 这个端口是要拉取tikv监控的,所以把中控机到tikv的这个端口放开
  2. 我确认,10.198是tikv实例,就是验证tikv自己本身有没有产生监控数据. 再执行下curl http://172.31.10.198:20180/metrics 验证一下

是不是端口不通

是的,端口没有放通