背景
在使用 ocp 过程中可能会由于各种原因需要对当前页面的进行跟踪,当我们的环境只有一个ocp节点时,需要的日志自然就在这个节点上,但是当我们的环境里部署了多个节点的 ocp 后,在排查问题就不是很清楚需要在哪个 ocp 节点去过滤(获取)日志了。
示例
在租户的 sql 诊断查看 slowsql ,选择的查询时间范围触发了报错,如下图所示:
页面上提示的信息不足,如果我们想通过日志去进一步分析,此时需要知道在哪个 ocp server 上去查看日志:
1、在当前报错的页面打开F12,找到报错的接口,一般是红色且标记为❌。
2、在 response 里找到 server 和 traceId 字段,其中:
server字段: 对应的就是我们要去找的 ocp server 节点,这里可能是出于安全考虑 server 字段对应的是一个字符串,对应的真实 ocp server IP 需要在 ocp meta 租户的数据库查询 distributed_server 表,
根据 F12 获取的 server 字符串(对应的 distributed_server.name 字段)过滤,即可获取到 ocp_server_ip。
select substring_index(id,':',1) as ocp_server_ip from distributed_server where name='8a733d21ca';
根据以上步骤我们找到了报错时是在哪个ocp server 上执行的,当时的请求可以根据 traceId 字段关联(过滤)。