Queries logs in a project by executing an SQL statement.
Description
- You can use the query parameter to specify a standard SQL statement.
- You must specify a project in the domain name of the request.
- You must specify a Logstore in the FROM clause of the SQL statement. A Logstore can be used as an SQL table.
- You must specify a time range in the SQL statement by using the __date__ parameter or __time__ parameter. The value of the __date__ parameter is a timestamp, and the value of the __time__ parameter is an integer. The unit of the __time__ parameter is seconds.
- Host consists of a project name and a Log Service endpoint. You must specify a project in Host.
Debugging
Request headers
This operation uses only common request headers. For more information, see Common request headers.
Request syntax
GET /logs HTTP/1.1
Request parameters
Parameter | Type | Location | Required | Example | Description |
---|---|---|---|---|---|
project | String | Host | Yes | ali-test-project | The name of the project. |
query | String | Query | Yes | SELECT COUNT(*) as pv FROM nginx-moni where __time__ > 1646102500 and __time__ < 1646103400 | The standard SQL statement. In this example, the SQL statement queries the number of page views (PVs) from 2022-03-01 10:41:40 to 2022-03-01 10:56:40 in a Logstore whose name is nginx-moni. |
powerSql | Boolean | Query | No | false | Specifies whether to enable the Dedicated SQL feature. For more information, see Enable Dedicated SQL. Valid values:
You can use the powerSql or query parameter to configure Dedicated SQL. |
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
x-log-progress | String | Complete | The status of the query and analysis results. Valid values:
|
x-log-count | Long | 10000 | The total number of logs in the query and analysis results. |
x-log-processed-rows | Long | 10000 | The number of lines that are processed based on the request. |
x-log-elapsed-millisecond | Long | 5 | The time that is consumed by the request. Unit: milliseconds. |
Array of Object | [ { "__time__" : 1409529660, "__source__" : "192.168.1.100", "Key1" : "error", "Key2" : "Value2" }, { "__time__" : 1409529680, "__source__" : "192.168.1.100", "Key3" : "error", "Key4" : "Value4" } ] | The logs that are returned. |
Examples
Sample requests
GET /logs?query=SELECT COUNT(*) as pv FROM nginx-moni where __time__ > 1646102500 and __time__ < 1646103400&powerSql=false HTTP/1.1
Host:ali-test-project.ch-hangzhou.log.aliyuncs.com
Content-Type:application/json
Sample success responses
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
[ {
"__time__" : 1409529660,
"__source__" : "192.168.1.100",
"Key1" : "error",
"Key2" : "Value2"
}, {
"__time__" : 1409529680,
"__source__" : "192.168.1.100",
"Key3" : "error",
"Key4" : "Value4"
} ]
Error codes
For a list of error codes, visit the API Error Center.
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | ParameterInvalid | Parameter is invalid. | The error message returned because a specified parameter is invalid. |
For more information, see Common error codes.