Skip to main content
版本:Next(1.7.0)

接口错误排查

针对接口错误,如何快速定位接口,快速查询日志,进行介绍

如何定位

1. 前端F12 接口报错

错误信息排查 发现错误信息,按F12--network--过滤请求信息Fetch/XHR--对单次请求进行检查--priview--定位报错请求

查找url 点击单次请求的Headers,就会看到general 这里将会看到请求地址:

Request URL :XXXXX /api/rest_j/v1/data-source-manager/op/connect/json

2. 找到应用名

某个接口请求报错,URL规范进行定位应用名。 Linkis接口URL遵循设计规范:

/api/rest_j/v1/{applicationName}/.

applicationName是应用名,通过应用名查找归属的微服务,去对应的微服务下查看log日志。

应用名和微服务的对应关系

ApplicationName(应用名)Microservice(微服务)
linkismanagercg-linkismanager
engineplugincg-engineplugin
cg-engineconnmanagercg-engineconnmanager
entrancecg-entrance
bmlps-bml
contextserviceps-cs
datasourceps-datasource
configuration
microservice
jobhistoryps-publicservice
variable
udf

3. 找到日志路径

用户服务地址存在不一样的情况,我们需先定位日志地址

ps -ef | grep ps-datasource

  • cg-linkismanager:

    GC日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-linkismanager-gc.log

    服务日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-linkismanager.log

    服务的System.out日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-linkismanager.out

  • cg-engineplugin:

    GC日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-engineplugin-gc.log

    服务日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-engineplugin.log

    服务的System.out日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-engineplugin.out

  • cg-engineconnmanager:

    GC日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-engineconnmanager-gc.log

    服务日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-engineconnmanager.log

    服务的System.out日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-engineconnmanager.out

  • cg-entrance:

    GC日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-entrance-gc.log

    服务日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-entrance.log

    服务的System.out日志: /${LINKIS_HOME}/logs/linkis/linkis-cg-entrance.out

  • ps-bml:

    GC日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-bml-gc.log

    服务日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-bml.log

    服务的System.out日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-bml.out

  • ps-cs:

    GC日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-cs-gc.log

    服务日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-cs.log

    服务的System.out日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-cs.out

  • ps-datasource:

    GC日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-datasource-gc.log

    服务日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-datasource.log

    服务的System.out日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-datasource.out

  • ps-publicservice:

    GC日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-publicservice-gc.log

    服务日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-publicservice.log

    服务的System.out日志: /${LINKIS_HOME}/logs/linkis/linkis-ps-publicservice.out

4. 查看日志

展示接口对应的报错信息

找到请求日志,日志中会展示出服务调用的其他服务,或者展示自己服务中处理的逻辑日志

tail -fn200 linkis-ps-data-source-manager.log

上图展示的是服务调用其他服务的日志,可根据此信息查询另外服务的日志

下图展示的是真正报错的服务日志

tail -fn200 linkis-ps-metadataquery.log

前端报错展示

5. 异常定位

ECMResourceClear failed, ecm current resource:bdpuje s110003:9102{"instance":0,"memory":"0.0 B","cpu":0} org.apache.linkis.manager.exception.PersistenceErrorException: errCode: 210001 ,desc: label not found, this label may be removed a lready. , ip: localhost110003 ,port: 9101 ,serviceKind: linkis-cg-linkismanager

其中IP和端口是对应的服务地址,serviceKind是对应的服务名称,如果是RPC调用的日志失败,可以通过这个信息找到对应的服务