为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【概述】场景+问题概述
我们要将部分应用的后端由MySQL 8.0切换到TiDB 5.0,同时需要在监控平台自定义一些 TiDB 5.0 的监控,但是 metrics-schema 库下的数据依赖于 prometheus 组件,如果我们没有安装 prometheus,监控数据则无法查询
所以我们希望直接通过tidb获取原始的数据,但是我在查看prometheus的数据源配置时,发现全部是通过原生API方式获取的
比如,当我需要查看连接数的时候,我需要使用 tidb_server_connections{$LABEL_CONDITIONS}
对应于命令行操作,应该是 curl 192.168.11.242:10080/metrics 2> /dev/null | grep tidb_server_connections
【问题】:当前遇到的问题
我想问下:
- 这些监控的原始数据,如连接数,是否可以通过SQL查询到,而不是通过API的方式,因为我没有找到类似mysql的一些查询方法
- 这个方式查询的连接数,应该只是当前节点的,如果我要查找所有tidb节点的连接数,只能挨个查询吗?有没有集群级别?
除了上面的监控以外,我们还有一个其他的问题:
- 我们需要实时获取带有锁的SQL,以方便kill掉部分有锁SQL,类似mysql里面的
innodb_trx
,performance_schema.data_locks
,但是我们没有在tidb里面找到实时的查询方式,tidb_trx 这张表似乎可以,但是只有 dev 版本才有