更新时间:2025-03-21 GMT+08:00

修改结构化配置(推荐)

功能介绍

该接口通过结构化模板修改结构化配置

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见:获取项目ID,获取账号ID,日志组ID、日志流ID

最小长度:32

最大长度:32

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

从IAM服务获取的用户Token,获取方式请参见:获取用户Token

最小长度:1000

最大长度:2000

Content-Type

String

该字段填为:application/json;charset=UTF-8。

最小长度:30

最大长度:30

表3 请求Body参数

参数

是否必选

参数类型

描述

log_group_id

String

日志组id,获取方式请参见:获取项目ID,获取账号ID,日志组ID、日志流ID

最小长度:36

最大长度:36

log_stream_id

String

日志流id,获取方式请参见:获取项目ID,获取账号ID,日志组ID、日志流ID

最小长度:36

最大长度:36

template_id

String

所用模板id。当使用系统模板时,当前属性可以为空

最小长度:0

最大长度:36

template_name

String

所用模板名称,会对模板名称进行校验,不能为空

最小长度:1

最大长度:64

template_type

String

所用模板类型,分为built_in及custom两种类型,对应系统模板和自定义模板, 详细系统模板类型参考:“用户指南-日志搜索与分析(默认推荐)> 云端结构化解析> 结构化模板”章节。

demo_fields

Array of FieldModel objects

示例字段数组,填写与模板中is_analysis参数状态不同的字段。

tag_fields

Array of FieldModel objects

Tag字段数组,填写与模板中is_analysis参数状态不同的字段。

quick_analysis

Boolean

是否开启demo_fields和tag_fields快速分析,为true时,所有的demo_fields和tag_fields全部字段均打开快速分析;不填或者为false,以模板中的demo_fields和tag_fields中的is_analysis决定是否开启快速分析。

表4 FieldModel

参数

是否必选

参数类型

描述

field_name

String

字段名称,将一条日志数据拆分为多个字段,支持自定义字段名称

最小长度:1

最大长度:64

is_analysis

Boolean

是否开启快速分析。

响应参数

状态码:201

表5 响应Body参数

参数

参数类型

描述

-

String

状态码:400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

调用失败响应信息描述。

状态码:500

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

调用失败响应信息描述。

请求示例

  • 修改ELB系统模板

    PUT 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
    }
  • 修改VPC系统模板

    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"
      }, {
        "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
    }

响应示例

状态码:201

请求响应成功。

None

状态码:400

BadRequest 非法请求 建议根据error_msg直接修改该请求。

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

状态码:500

表明服务端能被请求访问到,但是服务内部出错。

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

状态码

状态码

描述

201

请求响应成功。

400

BadRequest 非法请求 建议根据error_msg直接修改该请求。

500

表明服务端能被请求访问到,但是服务内部出错。

错误码

请参见错误码