查询指定Project下某个Logstore中的日志数据。已废弃,请使用 GetLogsV2 接口替代。
接口说明
接口说明
日志服务支持创建定时 SQL 任务。具体操作,请参见创建定时 SQL 任务。
请求语法中 Host 由 Project 名称和日志服务 Endpoint 构成,您需要在 Host 中指定 Project。
已创建并获取 AccessKey。更多信息,请参见访问密钥。
阿里云账号 AccessKey 拥有所有 API 的访问权限,风险很高。强烈建议您创建并使用 RAM 用户进行 API 访问或日常运维。RAM 用户需具备操作日志服务资源的权限。具体操作,请参见创建 RAM 用户及授权。
-
已明确您查询日志所属的 Project 名称、所属地域、Logstore 名称等。如何查询,请参见管理 Project和管理 Logstore。
-
日志服务查询日志时存在使用限制。请设计合理查询与分析语句、设置合理查询区间等。更多信息,请参见查询日志使用限制和分析日志使用限制。
-
查询日志前,已配置索引。具体操作,请参见创建索引。
-
当查询涉及的日志数量变化非常大时,日志服务 API 无法预测需要调用多少次该接口来获取完整结果。所以需要您查看每次请求返回结果中的 x-log-progress 状态值,根据状态值来确定是否需要重复调用该接口来获取最终完整结果。每次重复调用该接口都会重新消耗相同数量的查询 CU。
-
当日志写入到 Logstore 中,日志服务的查询接口(GetHistograms 和 GetLogs)能够查到该日志的延时因写入日志类型不同而异。日志服务按日志时间戳把日志分为如下两类:
实时数据:日志中时间点为服务器当前时间点(-180 秒,900 秒]。例如,日志时间为 UTC 2014-09-25 12:03:00,服务器收到时为 UTC 2014-09-25 12:05:00,则该日志被作为实时数据处理,一般出现在正常场景下。
历史数据:日志中时间点为服务器当前时间点[-7*86400 秒,-180 秒)。例如,日志时间为 UTC 2014-09-25 12:00:00,服务器收到时为 UTC 2014-09-25 12:05:00,则该日志被作为历史数据处理,一般出现在补数据场景下。 其中,实时数据写入至可查询的延时为 3 秒左右。
日志服务将日志时间(字段名称为__time__)和服务器收到时间(字段名称为__tag__:receive_time)做差,若其差值位于(-180 秒,900 秒]范围,则为实时数据,若其差位于[-7x86400 秒,-180 秒),则为历史数据。
日志服务提供 Java 和 Python SDK 的 GetLogs 查询使用示例。更多信息,请参见Java GetLogs 使用示例和Python GetLogs 使用示例。
鉴权资源
下表列出了 API 对应的授权信息。您可以在 RAM 权限策略语句的 Action 元素中添加该信息,用于为 RAM 用户或 RAM 角色授予调用此 API 的权限。
| 动作(Action) | 授权策略中的资源描述方式(Resource) |
log:GetLogStoreLogs | acs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName} |
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
请求语法
POST /logstores/{logstore}/logs HTTP/1.1
路径参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| logstore |
string |
是 |
查询 Logstore 中的数据。 |
example-logstore |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| project |
string |
是 |
Project 名称。 |
ali-test-project |
| Accept-Encoding |
string |
否 |
lz4 |
|
| body |
object |
否 |
||
| from |
integer |
是 |
1627268185 |
|
| to |
integer |
是 |
1627268185 |
|
| line |
integer |
否 |
100 |
|
| offset |
integer |
否 |
0 |
|
| reverse |
boolean |
否 |
||
| powerSql |
boolean |
否 |
||
| session |
string |
否 |
||
| topic |
string |
否 |
topic |
|
| query |
string |
否 |
status: 401 | SELECT remote_addr,COUNT(*) as pv GROUP by remote_addr ORDER by pv desc limit 5 |
|
| forward |
boolean |
否 |
||
| highlight |
boolean |
否 |
||
| isAccurate |
boolean |
否 |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
日志数组 Logs。其每个元素就是一条 Log。 |
||
| meta |
object |
||
| progress |
string |
||
| aggQuery |
string |
||
| whereQuery |
string |
||
| hasSQL |
boolean |
||
| processedRows |
integer |
||
| elapsedMillisecond |
integer |
||
| cpuSec |
number |
||
| cpuCores |
integer |
||
| keys |
array |
||
|
string |
|||
| terms |
array<object> |
||
|
object |
|||
| limited |
integer |
||
| mode |
integer |
||
| phraseQueryInfo |
object |
||
| scanAll |
boolean |
||
| beginOffset |
integer |
||
| endOffset |
integer |
||
| endTime |
integer |
||
| scanBytes |
integer |
||
| highlights |
array<object> |
||
|
object |
|||
| count |
integer |
||
| processedBytes |
integer |
||
| isAccurate |
boolean |
||
| columnTypes |
array |
||
|
string |
|||
| telementryType |
string |
||
| data |
array<object> |
||
|
object |
|||
|
string |
示例
正常返回示例
JSON格式
{
"meta": {
"progress": "",
"aggQuery": "",
"whereQuery": "",
"hasSQL": true,
"processedRows": 0,
"elapsedMillisecond": 0,
"cpuSec": 0,
"cpuCores": 0,
"keys": [
""
],
"terms": [
{
"test": "test",
"test2": 1
}
],
"limited": 0,
"mode": 0,
"phraseQueryInfo": {
"scanAll": true,
"beginOffset": 0,
"endOffset": 0,
"endTime": 0
},
"scanBytes": 0,
"highlights": [
{
"test": "test",
"test2": 1
}
],
"count": 0,
"processedBytes": 0,
"isAccurate": true,
"columnTypes": [
""
],
"telementryType": ""
},
"data": [
{
"key": ""
}
]
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。