tidb 副本的数目及状态进行巡检

【TiDB 使用环境】生产环境
【TiDB 版本】7.5.6
【操作系统】centos7.9
【部署方式】云上部署(什么云)/机器部署(什么机器配置、什么硬盘)
【集群数据量】
【集群节点数】
【问题复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】

巡检打算增加一下tidb 副本的数目及状态,想问下有没有什么简单的方法,最好能一条SQL或者一条命令就能搞定

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

tiup status?


这三个表联合查

1 个赞

查询tidb相关系统表。

命令:tiup cluster display
sql的话,我记得odwn掉的节点不显示

:thinking: 如果说的是tikv数据副本,那就是二楼说的那三个表。
https://docs.pingcap.com/zh/tidb/stable/information-schema-tikv-region-peers/#tikv_region_peers

是不是这样查就可以了
SELECT status, count(distinct p.region_id), count(distinct p.peer_id) FROM information_schema.TIKV_REGION_STATUS s JOIN information_schema.TIKV_REGION_PEERS p ON s.region_id = p.region_id JOIN information_schema.TIKV_STORE_STATUS m ON m.store_id = p.store_id group by status;

副本应该是peer_id,可以参考这个智慧合集看看。

1 个赞

SELECT
‘TOTAL_REGIONS’ AS METRIC,
COUNT() AS COUNT
FROM INFORMATION_SCHEMA.TIKV_REGION_STATUS
WHERE REGION_ID IN (
SELECT REGION_ID FROM INFORMATION_SCHEMA.TIKV_STORE_STATUS
WHERE STORE_ID IN (SELECT STORE_ID FROM INFORMATION_SCHEMA.TIKV_STORE_STATUS)
)
UNION ALL
SELECT
‘REPLICA_COUNT_’ || REPLICA_COUNT,
COUNT(
)
FROM INFORMATION_SCHEMA.TIKV_REGION_STATUS
WHERE REPLICA_COUNT IS NOT NULL
GROUP BY REPLICA_COUNT
UNION ALL
SELECT
‘ABNORMAL_REPLICA_COUNT’,
COUNT(*)
FROM INFORMATION_SCHEMA.TIKV_REGION_STATUS
WHERE REPLICA_COUNT != 3; – 假设你期望是 3 副本