调用 SearchLogs 接口检索日志。
检索相关的接口(SearchLogs、DescribeLogContext 和 DescribeHistogram)共用一个调用频率和并发限制的额度,具体限制如下:
说明
SearchLogs 接口的请求头中,“X-Tls-Apiversion” 应指定为“0.3.0”。其他请求头参数说明请参考公共参数。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
TopicId | String | 是 | 4a******** | 要检索的日志主题 ID。 |
Query | String | 是 |
| 查询分析语句,语句长度最大为 4 KiB。 |
StartTime | Integer | 是 | 1346457600000 | 查询开始时间点,精确到毫秒。Unix 时间戳格式,表示从 1970-1-1 00:00:00 UTC 开始计算的毫秒数。如果指定为秒级别,服务端会自动转换精度为毫秒。 |
EndTime | Integer | 是 | 1630454400000 | 查询结束时间点,精确到毫秒。Unix 时间戳格式,表示从 1970-1-1 00:00:00 UTC 开始计算的毫秒数。如果指定为秒级别,服务端会自动转换精度为毫秒。 |
Limit | Integer | 否 |
| 查询结果分页展示时,此参数用于表示每页的数据量。最大值为 1000,单次最多返回 20MiB 日志数据,通过分页最多返回 100,000 条。 注意
|
Context | String | 否 |
| 用于在二次查询时指定继续查询的位点,通常在上下文查询等场景中使用。每次调用 SearchLogs 时,此接口会同时返回数据结尾位点 Context,如果需要查看后续的日志信息,可以再次调用 SearchLogs 接口,并在请求中传入上次响应中获取的 Context。 说明 此参数在仅检索时生效,即参数 Query 中只有检索语句,没有分析语句时此参数生效。同时检索分析时,暂不支持分页。 |
Sort | String | 否 |
| 按日志时间戳顺序返回日志,精确到毫秒。
说明 仅当 Query 中只有检索语句,没有分析语句时生效。 |
HighLight | Boolean | 否 |
| 搜索的关键字在查询结果中是否高亮显示。 |
AccurateQuery | Boolean | 否 |
| 是否使用纳秒精度查询日志。
|
下表仅列出本接口特有的返回参数。更多信息请参见返回结构。
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
ResultStatus | String |
| 查询的状态。
|
HitCount | Integer |
|
|
ListOver | Boolean |
| 是否已返回全部结果。
说明 仅当 Query 参数中只有检索语句,没有分析语句时,该参数有效。 |
Analysis | Boolean |
| 返回结果的类型。
|
Count | Integer | 0 | 分析请求命中的条目数。 |
Limit | Integer |
| 请求中指定返回的 Limit 条目数。默认为 100。
|
Context | String | [1650349469000,130,9,null] | 用于在二次查询时指定继续查询的位点,通常在上下文查询等场景中使用。每次调用 SearchLogs 时,此接口会同时返回数据结尾位点 Context,如果需要查看后续的日志信息,可以再次调用 SearchLogs 接口,并在请求中传入上次响应中获取的 Context。 |
Logs | Array of JSON Map |
| 返回的日志条目列表。其中:
|
AnalysisResult | Object of AnalysisResult | / | 分析结果。 |
HighLight | Array of JSON Map | / | 高亮显示的关键字。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Data | Array of JSON Map | [{ "KeyInfo": "key:000000000940", "KeyType": "string", "ValueLen": "1", }] | 分析结果返回的键值对。 |
Type | JSON Map | { "KeyInfo": "text", "KeyType": "text", "ValueLen": "long", } | 日志分析列对应的属性。 |
Schema | Array of String | ["KeyType","ValueLen","KeyInfo"] | 日志分析列的名称。 |
全文检索
{ "TopicId":"c1***********", "Query":"error", "StartTime":1346457600000, "EndTime":1630454400000, "Limit":30, "Sort":"desc" }
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 0 { "ResultStatus": "complete", "HitCount": 20, // 搜索匹配的总条目数 "Count": 0, // sql检索的结果命中行数 "Limit": 0, // sql检索的limit条数 "ListOver":false, "Analysis":false, "Context":"[1650349469000,130,9,null]", "Logs": [ { "__path__": "/root/my_script/tls-conf-master/input_logs/log/hashkey.log", "__source__": "10.17.0.2", "__time__": "1655788239654", "__content__": "", "__context_flow__":"e61050c909dcccc3-f7b3a4bfaf6af941-2", "__package_offset__":"3" }, ... ], "AnalysisResult": { "Schema": [], "Type": {}, "Data": [] } }
键值检索
POST https://tls-{Region}.ivolces.com/SearchLogs HTTP/1.1 Content-Type: application/json { "TopicId":"c1**********", "Query":"name:xiaoming", "StartTime":1346457600000, "EndTime":1630454400000, "Limit":30, "Sort":"desc" }
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 0 { "ResultStatus": "complete", "HitCount": 20, // 搜索匹配的总条目数 "Count": 0, // sql检索的结果命中行数 "Limit": 0, // sql检索的limit条数 "ListOver": false, "Analysis": false, "Context": "[1650349469000,130,9,null]", "Logs": [ [ { "__path__": "/root/my_script/tls-conf-master/input_logs/log/hashkey.log", "__source__": "10.17.0.2", "__time__": "1655788239654", "__context_flow__": "e61050c909dcccc3-f7b3a4bfaf6af941-2", "__package_offset__": "3", "age": "xxx", "class": "xxx" }, ], "AnalysisResult": { "Schema": [], "Type": {}, "Data": [] } }
SQL分析
POST https://tls-{Region}.ivolces.com/SearchLogs HTTP/1.1 Content-Type: application/json { "TopicId":"c1***********", "Query":"* | select name, age, address", "StartTime":1346457600000, "EndTime":1630454400000, "Limit":30, "Sort":"desc" }
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 0 { "ResultStatus": "complete", "Analysis": true, "ListOver": true, "HitCount": 5924, "Count": 1, // sql检索的结果命中行数 "Limit": 1, // sql检索的limit条数 "Logs": [], "AnalysisResult": { "Schema": [ "name", "age", "address" ], "Type": { "name": "text", "age": "long", "address": "text" }, "Data": [ { "name": "zhangsan", "age": "29", "address": "zhengjiang" } ] }, "Context": "" }
下表为您列举了该接口与业务逻辑相关的错误码。公共错误码请参见公共错误码文档。
HTTP 状态码 | 错误码 | 错误信息 | 说明 |
---|---|---|---|
400 | InvalidArgument | Invalid argument key %s, value %s, please check argument. | 参数不合法。 |
400 | SqlSyntaxError | Sql syntax Error,details: Function [%s] cannot work with [%s]. Usage: SUM(NUMBER T) -\u003e T | SQL 格式或语法错误。 |
404 | TopicNotExist | Topic does not exist. | 日志主题不存在。 |
500 | InternalServerError | We encountered an unexpected server error, please try again later. | 服务器内部错误。 |
400 | SearchSyntaxError | The key-value index for field (%s) is not configured. | 未对查询字段配置键值索引。 |