检索分析日志

最近更新时间:2024-10-11 01:12:44

我的收藏

1. 接口描述

接口请求域名: cls.tencentcloudapi.com 。

本接口用于检索分析日志,使用该接口时请注意如下事项:

  1. 该接口除受默认接口请求频率限制外,针对单个日志主题,查询并发数不能超过15。
  2. 检索语法建议使用CQL语法规则,请使用SyntaxRule参数,将值设置为1。
  3. API返回数据包最大49MB,建议启用 gzip 压缩(HTTP Request Header Accept-Encoding:gzip)。

默认接口请求频率限制:10000次/秒。

此接口支持如下压缩格式返回:gzip

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:SearchLog。
Version String 公共参数,本接口取值:2020-10-16。
Region String 公共参数,详见产品支持的 地域列表
From Integer 要检索分析的日志的起始时间,Unix时间戳(毫秒)
示例值:1608794854000
To Integer 要检索分析的日志的结束时间,Unix时间戳(毫秒)
示例值:1608794855000
Query String 检索分析语句,最大长度为12KB
语句由 [检索条件] | [SQL语句]构成,无需对日志进行统计分析时,可省略其中的管道符 | 及SQL语句
使用*或空字符串可查询所有日志
示例值:http_status:200
SyntaxRule Integer 检索语法规则,默认值为0,推荐使用1 (CQL语法)。
0:Lucene语法,1:CQL语法。
详细说明参见检索条件语法规则
示例值:1
TopicId String - 要检索分析的日志主题ID,仅能指定一个日志主题。
- 如需同时检索多个日志主题,请使用Topics参数。
- TopicId 和 Topics 不能同时使用,在一次请求中有且只能选择一个。
示例值:682d0718-07bb-4ec0-9fda-f1e9a2767e0b
Topics.N Array of MultiTopicSearchInformation - 要检索分析的日志主题列表,最大支持20个日志主题。
- 检索单个日志主题时请使用TopicId。
- TopicId 和 Topics 不能同时使用,在一次请求中有且只能选择一个。
Sort String 原始日志是否按时间排序返回;可选值:asc(升序)、desc(降序),默认为 desc
注意:
* 仅当检索分析语句(Query)不包含SQL时有效
* SQL结果排序方式参考SQL ORDER BY语法
示例值:asc
Limit Integer 表示单次查询返回的原始日志条数,默认为100,最大值为1000。
注意:
* 仅当检索分析语句(Query)不包含SQL时有效
* SQL结果条数指定方式参考SQL LIMIT语法

可通过两种方式获取后续更多日志:
* Context:透传上次接口返回的Context值,获取后续更多日志,总计最多可获取1万条原始日志
* Offset:偏移量,表示从第几行开始返回原始日志,无日志条数限制
示例值:100
Offset Integer 查询原始日志的偏移量,表示从第几行开始返回原始日志,默认为0。
注意:
* 仅当检索分析语句(Query)不包含SQL时有效
* 不能与Context参数同时使用
* 仅适用于单日志主题检索
示例值:0
Context String 透传上次接口返回的Context值,可获取后续更多日志,总计最多可获取1万条原始日志,过期时间1小时。
注意:
* 透传该参数时,请勿修改除该参数外的其它参数
* 仅适用于单日志主题检索,检索多个日志主题时,请使用Topics中的Context
* 仅当检索分析语句(Query)不包含SQL时有效,SQL获取后续结果参考SQL LIMIT语法
示例值:Y29udGV4dC04MjMzNWRkMi01YmMxLTQ4NGYtYjQ4MS04MDg0NzAwYjQ1NDUxNjcy
SamplingRate Float 执行统计分析(Query中包含SQL)时,是否对原始日志先进行采样,再进行统计分析。
0:自动采样;
0~1:按指定采样率采样,例如0.02;
1:不采样,即精确分析
默认值为1
示例值:0.1
UseNewAnalysis Boolean 为true代表使用新的检索结果返回方式,输出参数AnalysisRecords和Columns有效
为false时代表使用老的检索结果返回方式, 输出AnalysisResults和ColNames有效
两种返回方式在编码格式上有少量区别,建议使用true
示例值:false

3. 输出参数

参数名称 类型 描述
Context String 透传本次接口返回的Context值,可获取后续更多日志,过期时间1小时。
注意:
* 仅适用于单日志主题检索,检索多个日志主题时,请使用Topics中的Context
示例值:Y29udGV4dC04MjMzNWRkMi01YmMxLTQ4NGYtYjQ4MS04MDg0NzAwYjQ1NDUxNjcy
ListOver Boolean 符合检索条件的日志是否已全部返回,如未全部返回可使用Context参数获取后续更多日志
注意:仅当检索分析语句(Query)不包含SQL时有效
示例值:false
Analysis Boolean 返回的是否为统计分析(即SQL)结果
示例值:false
Results Array of LogInfo 匹配检索条件的原始日志
注意:此字段可能返回 null,表示取不到有效值。
ColNames Array of String 日志统计分析结果的列名
当UseNewAnalysis为false时生效
注意:此字段可能返回 null,表示取不到有效值。
示例值:[]
AnalysisResults Array of LogItems 日志统计分析结果
当UseNewAnalysis为false时生效
注意:此字段可能返回 null,表示取不到有效值。
AnalysisRecords Array of String 日志统计分析结果
当UseNewAnalysis为true时生效
注意:此字段可能返回 null,表示取不到有效值。
示例值:["xxx","yy"]
Columns Array of Column 日志统计分析结果的列属性
当UseNewAnalysis为true时生效
注意:此字段可能返回 null,表示取不到有效值。
SamplingRate Float 本次统计分析使用的采样率
注意:此字段可能返回 null,表示取不到有效值。
示例值:0.1
Topics SearchLogTopics 使用多日志主题检索时,各个日志主题的基本信息,例如报错信息。
注意:此字段可能返回 null,表示取不到有效值。
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 查询日志

查询http响应状态码(http_code)为200的日志

输入示例

POST / HTTP/1.1
Host: cls.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: SearchLog
<公共请求参数>

{
    "TopicId": "601c2a87-ca8e-49c9-xxxx-27286a970db5",
    "From": 1679901909686,
    "To": 1679902809686,
    "Query": "http_code:\"200\"",
    "Limit": 1,
    "Sort": "desc",
    "UseNewAnalysis": true,
    "SyntaxRule": 1
}

输出示例

{
    "Response": {
        "Context": "Y29udGV4dC0zZDVmZGI2NC1jNDZkLTQ2NzktYWM2OC1jYzg2NjUxYmVlMWExNjc5OTAyODEwNDM0",
        "ListOver": false,
        "Analysis": false,
        "ColNames": [],
        "Columns": null,
        "Results": [
            {
                "Time": 1679902806070,
                "TopicId": "601c2a87-ca8e-49c9-xxxx-27286a970db5",
                "TopicName": "CDN Demo访问日志日志主题_10000100xxxx",
                "Source": "",
                "FileName": "",
                "HostName": "",
                "PkgId": "",
                "PkgLogId": "",
                "LogJson": "{\"referer\":\"http://qwunsag.2022.qq.com/prizes?activity_code=AVGCHaQFX02Eb\",\"method\":\"GET\",\"isp\":\"中国联通\",\"remote_port\":\"45088\",\"ua\":\"Mozilla/5.0 (Linux; Android 9; INE-AL00 Build/HUAWEIINE-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/3211 MMWEBSDK/20210601 Mobile Safari/537.36 MMWEBID/6389 MicroMessenger/8.0.11.1980(0x28000B5B) Process/toolsmp WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64\",\"uuid\":\"acf1010c853f4a24bb3e92cc34e283e2\",\"version\":\"1\",\"file_size\":\"186358\",\"url\":\"/loxtxt/979884858.png\",\"request_range\":\"-\",\"rsp_size\":\"186830\",\"hit\":\"hit\",\"request_time\":\"2808\",\"http_code\":\"200\",\"param\":\"-\",\"sys_address\":\"9.130.154.208\",\"proto\":\"HTTPS\",\"host\":\"test.2022.cls.cn\",\"sys_datasource\":\"cq.3.4.v1.2.17\",\"client_ip\":\"116.116.247.167\",\"time\":\"1679902806070\",\"app_id\":\"1302700768\",\"prov\":\"内蒙古自治区\",\"timestamp\":\"2023-03-27T15:40:06+08:00\"}",
                "RawLog": "",
                "IndexStatus": ""
            }
        ],
        "AnalysisResults": [],
        "AnalysisRecords": null,
        "RequestId": "79f593e5-1374-4463-xxxx-c49d0b3c5290",
        "SamplingRate": 0,
        "Topics": null
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation 操作失败。
FailedOperation.InvalidContext 检索游标已失效或不存在。
FailedOperation.QueryError 查询语句运行失败。
FailedOperation.SearchTimeout 查询超时。
FailedOperation.SyntaxError 查询语句解析错误。
FailedOperation.Timeout 操作超时
FailedOperation.TopicIsolated 日志主题已隔离。
InternalError 内部错误。
InternalError.SearchError 检索错误
InternalError.SearchFailed 检索失败
InternalError.ServerBusy 内部错误服务器繁忙
InvalidParameter 参数错误。
LimitExceeded.LogSearch 并发查询超过限制,单topic并发最大值15。
LimitExceeded.SearchResources 检索内存超限。
LimitExceeded.SearchResultTooLarge 检索接口返回的日志量太大, 超过20MB限制。
MissingParameter 缺少参数错误。
OperationDenied 操作被拒绝。
OperationDenied.AccountDestroy 账户已销毁。
OperationDenied.AccountIsolate 账户欠费。
OperationDenied.AccountNotExists 账户不存在。
OperationDenied.NewSyntaxNotSupported 不支持新语法。
OperationDenied.OperationNotSupportInSearchLow 操作低频检索不支持。
ResourceNotFound.TopicNotExist 日志主题不存在。