Updated on 2024-09-19 GMT+08:00

API for Reporting High-Precision Logs

Function

This API is used to report tenant logs from a host to LTS.

To obtain the access IP address, log in to the LTS console, choose Host Management in the navigation pane, and click Install ICAgent in the upper right corner. The access IP address is contained in the ICAgent installation command. The port number is 8102. You can check the Example Request to see how to add the access IP address and port number in a request.

Each log event will carry a nanosecond-level timestamp when it is reported. When you view logs on the LTS console, the log events are sorted by timestamp. For details about the restrictions on log reporting, see Log Read/Write Restrictions.

URI

POST /v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/contents/high-accuracy

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain it, see Obtaining the Account ID, Project ID, Log Group ID, and Log Stream ID.

No default value.

Value length: 32 characters

log_group_id

Yes

String

Log group ID. For details about how to obtain it, see Obtaining the Account ID, Project ID, Log Group ID, and Log Stream ID.

No default value.

Value length: 36 characters

log_stream_id

Yes

String

Log stream ID. For details about how to obtain it, see Obtaining the Account ID, Project ID, Log Group ID, and Log Stream ID.

No default value.

Value length: 36 characters

NOTE:

The write rate at most should not exceed 100 MB/s per log stream. Otherwise, logs may be lost.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Indicates the user token obtained from IAM. For details about how to obtain a user token, see Obtaining a User Token.

No default value.

Minimum length: 1,000 characters

Maximum length: 2,000 characters

Content-Type

Yes

String

Set this parameter to application/json;charset=UTF-8.

No default value.

Minimum length: 30 characters

Maximum length: 30 characters

Content-Encoding

No

String

Log compression format.

Example value:

  • GZIP
  • SNAPPY
  • gzip
  • snappy
Table 3 Request body parameters

Parameter

Mandatory

Type

Description

contents

Yes

Array of LogContents

Indicates a list of log events that carry reporting timestamps.

labels

Yes

Object

Custom labels.

NOTE:

Do not set field names to built-in reserved fields. Otherwise, problems such as duplicate field names and inaccurate query may occur.

tenant_project_id

No

String

Project ID. For details about how to obtain it, see Obtaining the Account ID, Project ID, Log Group ID, and Log Stream ID.

Table 4 LogContents

Parameter

Mandatory

Type

Description

log_time_ns

Yes

Long

Time when log data is reported (UTC time in nanoseconds).

NOTE:

Logs reported to LTS through APIs are retained for two days (from the log reporting time to the current time). Logs reported more than two days ago will be deleted.

log

Yes

String

Indicates the log content.

Response Parameters

When the status code is 200, the response parameters are as follows:

Table 5 Response body parameters

Parameter

Type

Description

errorCode

String

Indicates the error code.

Example value:

  • SVCSTG.ALS.200.200

errorMessage

String

Indicates the response description.

Example value:

  • Report success.

result

String

Response result.

When the status code is 400, the response parameters are as follows:

Table 6 Response body parameters

Parameter

Type

Description

errorCode

String

Indicates the error code.

Example value:

  • SVCSTG.ALS.200.201
  • SVCSTG.ALS.200.210

errorMessage

String

Indicates the error description.

Example value:

  • Request conditions must be json format.
  • projectid xxx log's quota has full.

result

String

Response result.

When the status code is 401, the response parameters are as follows:

Table 7 Response body parameters

Parameter

Type

Description

errorCode

String

Indicates the error code.

Example value:

  • SVCSTG.ALS.403.105

errorMessage

String

Indicates the error description.

Example value:

  • Project id is invalid.

result

String

Response result.

When the status code is 500, the response parameters are as follows:

Table 8 Response body parameters

Parameter

Type

Description

errorCode

String

Indicates the error code.

Example value:

  • LTS.200500

errorMessage

String

Indicates the error description.

Example value:

  • Internal error

result

String

Response result.

When the status code is 503, the response parameter is as follows:

Table 9 Response body parameter

Parameter

Type

Description

result

String

The requested service is unavailable.

Example Request

POST https://{access_IP_address:8102}/v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/contents/high-accuracy

{
	"contents": [
		{
			"log_time_ns": 1586850540000000000,
			"log": "Fri Feb  15 15:48:04 UTC 2019"
		},
		{
			"log_time_ns": 1586850540000000001,
			"log": "Sat Apri 18 16:04:04 UTC 2019"
		}
	],
	"labels": {
		"user_tag": "string"
	}
}

Example Response

Example response with status code 200:

Logs are reported.

{
  "errorCode": "SVCSTG.ALS.200.200",
  "errorMessage": "Report success.",
  "result": null
}

Example response with status code 401:

The authentication information is incorrect or invalid.

{
  "errorCode" : "SVCSTG.ALS.403.105",
  "errorMessage" : "Project id is invalid.",
  "result": null
}

Status Code

Status Code

Description

200

The request has succeeded.

400

The request is invalid. Modify the request based on the description in error_msg before a retry.

401

The authentication information is incorrect or invalid.

500

An internal error occurred.

503

The requested service is unavailable.