Help Center/ Log Tank Service/ API Reference/ APIs/ Cloud Log Structuring/ Modifying Structuring Configurations (Recommended)
Updated on 2024-07-02 GMT+08:00

Modifying Structuring Configurations (Recommended)

Function

This API is used to modify structuring configurations using a structuring template.

Calling Method

For details, see Calling APIs.

URI

PUT /v3/{project_id}/lts/struct/template

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

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

Minimum: 32

Maximum: 32

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

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

Minimum: 1000

Maximum: 2000

Content-Type

Yes

String

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

Minimum: 30

Maximum: 30

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

log_group_id

Yes

String

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

Minimum: 36

Maximum: 36

log_stream_id

Yes

String

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

Minimum: 36

Maximum: 36

template_id

Yes

String

Template ID. When the system template is used, the current attribute can be empty.

Minimum: 0

Maximum: 36

template_name

Yes

String

Template name. The template name and ID will be verified.

Minimum: 1

Maximum: 64

template_type

Yes

String

Type of the template. The value can be built_in (system templates) or custom (custom templates). For details about system template types, see section "Log Search and Analysis" > "Cloud Structuring Parsing" > "Structuring Templates" in the LTS User Guide.

Enumeration values:

  • built_in

  • custom

demo_fields

No

Array of FieldModel objects

Example field array. You only need to enter the fields whose status is different from that of is_analysis in the template.

tag_fields

No

Array of FieldModel objects

Tag field array. You only need to enter the fields whose status is different from that of is_analysis in the template.

quick_analysis

No

Boolean

Indicates whether to enable quick analysis for demo_fields and tag_fields. If this parameter is set to true, quick analysis is enabled for all fields. If this parameter is left blank or set to false, is_analysis in the template is used to determine whether to enable quick analysis.

Table 4 FieldModel

Parameter

Mandatory

Type

Description

field_name

Yes

String

Field name.

Minimum: 1

Maximum: 64

is_analysis

No

Boolean

Whether quick analysis is enabled.

Response Parameters

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum: 8

Maximum: 8

error_msg

String

Error message.

Status code: 500

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum: 8

Maximum: 8

error_msg

String

Error message.

Example Requests

  • Modifying an ELB System Template

    {
      "log_group_id" : "17f23e52-a23d-46e0-8bc5-xxxxxxxxxxxx",
      "log_stream_id" : "b4d56d47-b4c4-453e-9047-xxxxxxxxxxxx",
      "demo_fields" : [ {
        "field_name" : "msec",
        "is_analysis" : false
      }, {
        "field_name" : "access_log_topic_id",
        "is_analysis" : false
      }, {
        "field_name" : "time_iso8601",
        "is_analysis" : false
      }, {
        "field_name" : "log_ver",
        "is_analysis" : true
      }, {
        "field_name" : "remote_addr",
        "is_analysis" : true
      }, {
        "field_name" : "remote_port",
        "is_analysis" : false
      }, {
        "field_name" : "status",
        "is_analysis" : false
      }, {
        "field_name" : "request_method",
        "is_analysis" : false
      }, {
        "field_name" : "scheme",
        "is_analysis" : true
      }, {
        "field_name" : "host",
        "is_analysis" : true
      }, {
        "field_name" : "router_request_uri",
        "is_analysis" : true
      }, {
        "field_name" : "server_protocol",
        "is_analysis" : true
      }, {
        "field_name" : "request_length",
        "is_analysis" : true
      }, {
        "field_name" : "bytes_sent",
        "is_analysis" : false
      }, {
        "field_name" : "body_bytes_sent",
        "is_analysis" : false
      }, {
        "field_name" : "request_time",
        "is_analysis" : false
      }, {
        "field_name" : "upstream_status",
        "is_analysis" : false
      }, {
        "field_name" : "upstream_connect_time",
        "is_analysis" : false
      }, {
        "field_name" : "upstream_header_time",
        "is_analysis" : false
      }, {
        "field_name" : "upstream_response_time",
        "is_analysis" : false
      }, {
        "field_name" : "upstream_addr",
        "is_analysis" : false
      }, {
        "field_name" : "http_user_agent",
        "is_analysis" : false
      }, {
        "field_name" : "http_referer",
        "is_analysis" : false
      }, {
        "field_name" : "http_x_forwarded_for",
        "is_analysis" : false
      }, {
        "field_name" : "lb_name",
        "is_analysis" : false
      }, {
        "field_name" : "listener_name",
        "is_analysis" : false
      }, {
        "field_name" : "listener_id",
        "is_analysis" : false
      }, {
        "field_name" : "pool_name",
        "is_analysis" : false
      }, {
        "field_name" : "member_name",
        "is_analysis" : false
      }, {
        "field_name" : "tenant_id",
        "is_analysis" : false
      }, {
        "field_name" : "eip_address",
        "is_analysis" : false
      }, {
        "field_name" : "eip_port",
        "is_analysis" : false
      }, {
        "field_name" : "upstream_addr_priv",
        "is_analysis" : false
      }, {
        "field_name" : "certificate_id",
        "is_analysis" : false
      }, {
        "field_name" : "ssl_protocol",
        "is_analysis" : false
      }, {
        "field_name" : "ssl_cipher",
        "is_analysis" : false
      }, {
        "field_name" : "sni_domain_name",
        "is_analysis" : false
      }, {
        "field_name" : "tcpinfo_rtt",
        "is_analysis" : false
      } ],
      "tag_fields" : [ {
        "field_name" : "hostIP",
        "is_analysis" : true
      } ],
      "template_type" : "built_in",
      "template_name" : "ELB",
      "template_id" : "",
      "quick_analysis" : false
    }
  • Modifying a VPC System Template

    {
      "log_group_id" : "17f23e52-a23d-46e0-8bc5-xxxxxxxxxxxx",
      "log_stream_id" : "b4d56d47-b4c4-453e-9047-xxxxxxxxxxxx",
      "demo_fields" : [ {
        "field_name" : "version"
      }, {
        "field_name" : "project_id"
      }, {
        "field_name" : "interface_id"
      }, {
        "field_name" : "srcaddr"
      }, {
        "field_name" : "dstaddr"
      }, {
        "field_name" : "srcport"
      }, {
        "field_name" : "dstport"
      }, {
        "field_name" : "protocol"
      }, {
        "field_name" : "packets"
      }, {
        "field_name" : "bytes"
      }, {
        "field_name" : "start"
      }, {
        "field_name" : "end"
      }, {
        "field_name" : "action"
      }, {
        "field_name" : "log_status"
      } ],
      "tag_fields" : [ {
        "field_name" : "hostIP",
        "is_analysis" : true
      } ],
      "template_type" : "built_in",
      "template_name" : "VPC",
      "template_id" : "",
      "quick_analysis" : false
    }

Example Responses

Status code: 201

The request is successful.

""

Status code: 400

Invalid request. Modify the request based on the description in error_msg before a retry.

{ 
  "error_code" : "LTS.2014", 
  "error_msg" : "Failed to create struct config." 
  "preciseEndTime" : 0,
  "preciseStartTime" : 0
}

Status code: 500

The server has received the request but encountered an internal error.

{
  "error_code" : "LTS.2016",
  "error_msg" : "Failed to update struct config"
}

Status Codes

Status Code

Description

201

The request is successful.

400

Invalid request. Modify the request based on the description in error_msg before a retry.

500

The server has received the request but encountered an internal error.

Error Codes

See Error Codes.