Dashboard TopSql 模块提示502

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
Top SQL 模块点开就报 502 错误,看了下是 /top/instance 这个接口直接 502 了。同时也想问一下 DashBoard 日志目录在哪里,一直没有找到
【资源配置】
【附件:截图/日志/监控】

你点击一下设置看看,

相关的文档可见:

https://docs.pingcap.com/zh/tidb/stable/top-sql

要使用 Top SQL,你需要使用 TiUP(v1.9.0 及以上版本)或 TiDB Operator(v1.3.0 及以上版本)部署或升级集群。如果你已经使用旧版本 TiUP 或 TiDB Operator 进行了集群升级,请参见 FAQ 进行处理。

Top SQL 开启后会对集群性能产生轻微的影响(平均 3% 以内),因此该功能默认关闭。你可以通过以下方法启用 Top SQL:

  1. 访问 Top SQL 页面
  2. 点击打开设置 (Open Settings)。在右侧设置 (Settings) 页面,将启用特性 (Enable Feature) 下方的开关打开。
  3. 点击保存 (Save)。

你仅能看到开启功能之后的 CPU 负载细节情况,在开启功能之前的 CPU 负载细节无法在界面上呈现。另外,数据有至多 1 分钟左右的延迟,因此你可能需要等待片刻才能看到数据。

除了通过图形化界面以外,你也可以配置 TiDB 系统变量 tidb_enable_top_sql 来启用 Top SQL 功能:

SET GLOBAL tidb_enable_top_sql = 1;

cluster 和 components 版本均为最新版本,现在是点进 Top SQL 模块就报错,没有其他的操作

该功能默认关闭。你可以通过以下方法启用 Top SQL:

  1. 访问 Top SQL 页面
  2. 点击打开设置 (Open Settings)。在右侧设置 (Settings) 页面,将启用特性 (Enable Feature) 下方的开关打开。
  3. 点击保存 (Save)。

启用之后也是报的相同错误

看下prom的部署节点里面 ngm 是否正常启动了~

是正常启动的,但是 ng-monitoring-server 状态是 sleep。我另一个Top SQL 功能正常的集群,这个进程也是 sleep 状态

重启一下 Dashboard所在pd试试

单个pd重启,集群reload、restart,destroy 之后重装都不能解决这个问题。开始我觉得可能是服务器通信的某个端口出现问题了,但是安装的时候也没有任何报错。通过 postmasn 直接访问 Top SQL 报 502 的接口,不加 bearer token 的情况下也能返回 401,又证明了请求是能正常打到对应服务器的。 :sleepy:

重启下 prom 节点试试看

能看下 您访问的PD 节点的报错日志吗 ??? PD的日志。您点击下 看看
我这从6.1升级到6.5测试了下,没问题。6.5的PD可以使用


我这模拟了一下您的错误。dashboard这个地址 没有实现负载均衡能力,仅仅一个PD节点提供这个能力。
表现是:您访问 21 22 23IP的地址都会被 转发到 一个PD节点上。 top SQL 下面使用的是sqllite数据库。可能这个数据库出现问题了

监控机节点重启,pd节点重启目前都没用 :sob:

我也是从6.1升到6.5的,这个报错依旧没解决

可能是这个文件出的错。 您 的机器是测试机器吧 ??? 不是生产

错误还不太一样,你这个删除文件之后是通信失败,我这个是通信成功。因为通过 postman 模拟请求,不带 bearer token 的情况下,会提示 401,所以错误应该出现在接口请求后面的逻辑里,(比如某个服务挂掉,但是日志并没有对应的 ERROR 错误)我看看 dashboard 的源码逻辑吧,感谢回答 :hand_with_index_finger_and_thumb_crossed:

生产环境,只不过是虚拟机模拟的多台机器。测试集群都是实体机倒是没出现过这种问题。

我的意思是dashboard的功能仅仅就是个监控。 何不干掉重新搞下呢。 这种分布式数据库架构都实现了高可用。

  1. 删掉dashboard的数据文件,我删除的是PD数据目录下的所有文件。 数据文件只会存在一个pd节点上.
    不同pd的访问节点都会 转到这个包含dashboard的数据文件的PD上
    image

  2. 查看集群状态

  3. 检查dashboard:此时各种报错

  4. 移除错误的节点
    tiup cluster scale-in tpln_qa --node 192.168.2.21:2379

5.等待切换

6.此时dasbord的所有内容都切换到 192.168.2.22节点上了

  1. 添加一个新的pd节点

谨慎:先测试环境无误在操作。

您当时destroy的是 tidb集群吗 ??

试了下,还是报502。嗯呢,是destroy的集群,虽然是生成环境,但是还没有接入项目,在部署运维阶段