更新时间:2026-01-12 GMT+08:00

查询日志

功能介绍

云搜索服务提供日志备份与日志查询功能,帮助用户高效定位问题。用户可通过日志备份定期将集群日志持久化存储至OBS对象存储桶,从而实现日志长期管理与按需下载,便于问题溯源与合规审计;同时支持通过接口直接查询集群日志信息,能够根据节点名称、日志级别等条件精准检索指定时间段的运行日志,快速定位异常或性能瓶颈。该接口通过指定节点名称、日志级别、日志类型,查询日志信息。

调用方法

请参见如何调用API

URI

POST /v1.0/{project_id}/clusters/{cluster_id}/logs/search

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

项目ID。获取方法请参见获取项目ID和名称

约束限制

不涉及

取值范围

账户的项目ID。

默认取值

不涉及

cluster_id

String

参数解释

指定查询集群ID。获取方法请参见获取集群ID

约束限制

不涉及

取值范围

集群ID。

默认取值

不涉及

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

instance_name

String

参数解释

节点名称。通过查询集群详情获取instances中的name属性。

约束限制

不涉及

取值范围

不涉及

默认取值

不涉及

level

String

参数解释

查询的日志级别。

约束限制

  • 当log_type为deprecation时,只支持ALL。

  • 当查询Logstash集群时,此参数无效。Logstash集群查询所有日志级别。

取值范围

  • DEBUG:查询DEBUG级别的日志。

  • INFO:查询INFO级别的日志。

  • WARN:查询WARN级别的日志。

  • ERROR:查询ERROR级别的日志。

  • ALL:所有日志级别,包含DEBUG、INFO、WARN、ERROR等级日志以及TRACE日志。

说明:
  • 多个日志级别可以使用“|”连接,如WARN|ERROR,表示查询WARN级别和ERROR级别的日志,不支持使用ALL进行连接。

  • 查询TRACE日志之前,需要打开TRACE日志的开关,然后通过ALL查询所有日志级别,找到TRACE级别的日志。

  • Elasticsearch集群使用Kibana操作,开启TRACE日志,参考如下命令:

PUT _cluster/settings

{

"transient": {

"logger.org.elasticsearch.transport.TransportService.tracer": "trace",

"transport.tracer.include": "", "http.tracer.include": "",

"logger.org.elasticsearch.http.HttpTracer": "trace"

}

}

  • OpenSearch集群使用Dashboards操作,开启TRACE日志,参考如下命令:

PUT _cluster/settings

{

"transient": {

"logger.org.opensearch.transport.TransportService.tracer": "trace",

"transport.tracer.include": "", "http.tracer.include": "",

"logger.org.opensearch.http.HttpTracer": "trace"

}

}

默认取值

ALL

log_type

String

参数解释

查询的日志类型。

约束限制

当查询Logstash集群时,此参数无效。

取值范围

  • deprecation:查询废弃操作日志。(只有当查询所有日志级别时,才能查询废弃操作日志。)

  • indexingSlow:查询慢索引日志。

  • searchSlow:查询慢查询日志。

  • instance:查询运行日志。

默认取值

不涉及

limit

Integer

参数解释

指定返回日志的条数,默认返回100条,最大返回10000条日志,且日志大小不超过1MB。

约束限制

不涉及

取值范围

1-10000

默认取值

100

time_index

String

参数解释

返回指定时间之前的日志。

约束限制

时间格式为yyyy-MM-ddTHH:mm:ss,SSS。

取值范围

不涉及

默认取值

不涉及

keyword

String

参数解释

基于日志内容字段值需要过滤的关键字,注意搜索到的日志包含关键字。

约束限制

不涉及

取值范围

只支持字母、数字、下划线、中划线、点号、空格及方括号,长度不能超过64个字符。

默认取值

不涉及

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

logList

Array of logList objects

参数解释

日志列表。

取值范围

不涉及

type

String

参数解释

查询日志的类型。

取值范围

  • deprecation:查询废弃操作日志。

  • indexingSlow:查询慢索引日志。

  • searchSlow:查询慢查询日志。

  • instance:查询运行日志。

表4 logList

参数

参数类型

描述

content

String

参数解释

日志内容。

取值范围

不涉及

date

String

参数解释

日志产生日期。

取值范围

不涉及

level

String

参数解释

查询的日志级别。

取值范围

  • DEBUG:查询DEBUG级别的日志。

  • INFO:查询INFO级别的日志。

  • WARN:查询WARN级别的日志。

  • ERROR:查询ERROR级别的日志。

  • TRACE:查询TRACE级别的日志。

  • ALL: 所有日志级别,包含DEBUG、INFO、WARN、ERROR等级日志以及TRACE日志。

说明:
  • 多个日志级别可以使用“|”连接,如WARN|ERROR,表示查询WARN级别和ERROR级别的日志,不支持使用ALL进行连接。

  • 查询TRACE日志之前,需要打开TRACE日志的开关,然后通过ALL查询所有日志级别,找到TRACE级别的日志。

  • Elasticsearch集群使用Kibana操作,开启TRACE日志,参考如下命令:

PUT _cluster/settings

{

"transient": {

"logger.org.elasticsearch.transport.TransportService.tracer": "trace",

"transport.tracer.include": "", "http.tracer.include": "",

"logger.org.elasticsearch.http.HttpTracer": "trace"

}

}

  • OpenSearch集群使用Dashboards操作,开启TRACE日志,参考如下命令:

PUT _cluster/settings

{

"transient": {

"logger.org.opensearch.transport.TransportService.tracer": "trace",

"transport.tracer.include": "", "http.tracer.include": "",

"logger.org.opensearch.http.HttpTracer": "trace"

}

}

请求示例

根据节点名称、日志级别和日志类型,查询日志信息。

POST https://{Endpoint}/v1.0/{project_id}/clusters/4f3deec3-efa8-4598-bf91-560aad1377a3/logs/search

{
  "instance_name" : "css-4312-ess-esn-1-1",
  "level" : "INFO",
  "log_type" : "instance",
  "limit" : 10,
  "time_index" : "2025-08-25T01:07:19,082",
  "keyword" : "received"
}

响应示例

状态码:200

请求已成功。

{
  "logList" : [ {
    "content" : "xxxxxx",
    "date" : "2021-10-08T03:55:54,718",
    "level" : "INFO"
  } ],
  "type" : "instance"
}

状态码

状态码

描述

200

请求已成功。

400

非法请求。

建议直接修改该请求,不要重试该请求。

409

服务器在完成请求时发生冲突。

返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。

412

未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。

错误码

请参见错误码