All Products
Search
Document Center

Simple Log Service:GetProjectLogs

Last Updated:Oct 26, 2023

Queries logs in a project by executing an SQL statement.

Usage notes

  • Host consists of a project name and a Log Service endpoint. You must specify a project in Host.
  • An AccessKey pair is created and obtained. For more information, see AccessKey pair.

    The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations in Log Service is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console. Make sure that the RAM user has the management permissions on Log Service resources. For more information, see Create a RAM user and authorize the RAM user to access Log Service.

  • The information that is required to query logs is obtained. The information includes the name of the project to which the logs belong and the region of the project. For more information, see Manage a project.
  • Indexes are configured before you query logs. For more information, see Create indexes.
  • Limits are imposed when you use Log Service to query logs. We recommend that you specify query statements and query time ranges based on the limits. For more information, see Log search overview and Log analysis overview.
  • You can use the query parameter to specify a standard SQL statement.
  • 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.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

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

ParameterTypePositionRequiredExampleDescription
projectStringHostYesali-test-project

The name of the project.

queryStringQueryYesSELECT 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.

powerSqlBooleanQueryNofalse

Specifies whether to enable the Dedicated SQL feature. For more information, see Enable Dedicated SQL. Valid values:

  • true
  • false (default): enables the Standard SQL feature.

You can use the powerSql or query parameter to configure Dedicated SQL.

Response parameters

ParameterTypeExampleDescription
x-log-progressStringComplete

The status of the query and analysis results. Valid values:

  • Complete: The query is successful, and the complete query and analysis results are returned.
  • Incomplete: The query is successful, but the query and analysis results are incomplete. To obtain the complete results, you must repeat the request.
x-log-countLong10000

The total number of logs in the query and analysis results.

x-log-processed-rowsLong10000

The number of lines that are processed based on the request.

x-log-elapsed-millisecondLong5

The time that is consumed by the request. Unit: milliseconds.

ServerStringnginx

The name of the server.

Content-TypeStringapplication/json

The content type of the response body.

Content-LengthString0

The content length of the response body.

ConnectionStringclose

Indicates whether the connection is persistent. Valid values: close and keep-alive. close: The connection is non-persistent. A new TCP connection is established for each HTTP request. keep-alive: The connection is persistent. After a TCP connection is established, the connection remains open, and no more time or bandwidth is consumed to establish new connections.

DateStringSun, 27 May 2018 08:25:04 GMT

The time at which the response was returned.

x-log-requestidString5B0A6B60BB6EE39764D458B5

The request ID.

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, see Service error codes.

HTTP status code

Error code

Error message

Description

400

ParameterInvalid

Parameter is invalid.

A specified parameter is invalid.

For more information, see Common error codes.