Creating Structuring Configurations (Recommended)¶
Function¶
This API is used to create structuring configurations using a structuring template, which facilitates parameter extraction and simplifies the parameter structure.
A user can call this API only once per second.
URI¶
POST /v3/{project_id}/lts/struct/template
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¶
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  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
log_group_id  | Yes  | String  | Log group ID. For details about how to obtain a log group ID, see Obtaining the Project ID, Account ID, Log Group ID, and Log Stream ID. Minimum: 36 Maximum: 36  | 
log_stream_id  | Yes  | String  | Log stream ID. For details about how to obtain a log stream 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, which cannot be empty and 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.  | 
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.  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
field_name  | Yes  | String  | Field name. A log event can be split into multiple fields with customizable names. Minimum: 1 Maximum: 64  | 
is_analysis  | No  | Boolean  | Whether quick analysis is enabled.  | 
Response Parameters¶
Status code: 201
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Error code.  | 
error_msg  | String  | Error message.  | 
Status code: 400
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Error code.  | 
error_msg  | String  | Error message.  | 
Status code: 500
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Error code.  | 
error_msg  | String  | Error message.  | 
Example Requests¶
Creating an ELB system template
POST https://{endpoint}/v3/{project_id}/lts/struct/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 }Creating a VPC system template
POST https://{endpoint}/v3/{project_id}/lts/struct/template { "log_group_id" : "17f23e52-a23d-46e0-8bc5-xxxxxxxxxxxx", "log_stream_id" : "b4d56d47-b4c4-453e-9047-xxxxxxxxxxxx", "demo_fields" : [ { "field_name" : "version", "is_analysis" : false }, { "field_name" : "project_id", "is_analysis" : true }, { "field_name" : "interface_id", "is_analysis" : false }, { "field_name" : "srcaddr", "is_analysis" : true }, { "field_name" : "dstaddr", "is_analysis" : true }, { "field_name" : "srcport", "is_analysis" : false }, { "field_name" : "dstport", "is_analysis" : false }, { "field_name" : "protocol", "is_analysis" : false }, { "field_name" : "packets", "is_analysis" : false }, { "field_name" : "bytes", "is_analysis" : false }, { "field_name" : "start", "is_analysis" : false }, { "field_name" : "end", "is_analysis" : false }, { "field_name" : "action", "is_analysis" : true }, { "field_name" : "log_status", "is_analysis" : true } ], "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.
none
Status code: 400
Invalid request. Modify the request based on the description in error_msg before a retry.
{
  "error_code" : "LTS.2014",
  "error_msg" : "template_id is invalid!"
}
Status code: 500
The server has received the request but encountered an internal error.
{
  "error_code" : "LTS.2014",
  "error_msg" : "Failed to create 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.