1. 接口描述
接口请求域名: cls.tencentcloudapi.com 。
本接口用于检索分析日志,使用该接口时请注意如下事项:
- 该接口除受默认接口请求频率限制外,针对单个日志主题,查询并发数不能超过15。
- 检索语法建议使用CQL语法规则,请使用SyntaxRule参数,将值设置为1。
- 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。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
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 | 日志主题不存在。 |