创建日志主题

最近更新时间:2019-08-12 10:39:27

功能描述

本接口用于创建日志主题,返回新创建的日志主题的 ID。

请求

请求示例

POST /topic HTTP/1.1
Host: <Region>.cls.myqcloud.com
Authorization: <AuthorizationString>
Content-Type: application/json

{
  "logset_id": "xxxxxx-xx-xx-xx-xxxxxxxx",
  "topic_name": "testname",
  "path": "/data/nginx/log/access.log",
  "wild_path":"/data/nginx/log/**/access.log",
  "log_type": "delimiter_log",
  "extract_rule": {
      "time_key": "date",
      "time_format": "%Y-%m-%d %H:%M:%S",
      "delimiter": "|",
      "log_regex": ".*",
      "beginning_regex": "^",
      "keys": ["date","","content"],
      "filter_keys": [],
      "filter_regex": []
  }
}

请求行

POST /topic

请求头

除公共头部外,无特殊请求头部。

请求参数

字段名 类型 位置 是否必须 含义
logset_id string body 日志主题归属的日志集的 ID
topic_name string body 日志主题的名字
path string body 旧版日志主题需要采集的日志路径,不采集无需设置
wild_path string body 新版通配符日志采集路径,以/**/分隔文件目录和文件名,和旧版path只会存在一个
log_type string body 采集的日志类型,json_log代表 json 格式日志,delimiter_log代表分隔符格式日志,minimalist_log代表极简日志,multiline_log代表多行日志,fullregex_log代表完整正则,默认为minimalist_log
extract_rule JsonObject body 提取规则,如果设置了 extract_rule,则必须设置 log_type

extract_rule 格式如下:

字段名 类型 是否必须 含义
time_key string 时间字段的 key 名字,time_key 和 time_format 必须成对出现
time_format string 时间字段的格式,参考 C 语言的strftime函数对于时间的格式说明
delimiter string 分隔符类型日志的分隔符,只有log_typedelimiter_log时有效
log_regex string 整条日志匹配规则,只有log_typefullregex_log时有效
beginning_regex string 行首匹配规则,只有log_typemultiline_logfullregex_log时有效
keys JsonArray(string) 提取的每个字段的 key 名字,为空的 key 代表丢弃这个字段,只有log_typedelimiter_log时有效,json_log的日志使用 json 本身的 key
filter_keys JsonArray(string) 需要过滤日志的 key,最多5个
filter_regex JsonArray(string) 上述字段 filter_keys 对应的值,个数与 filter_keys 相同,一一对应,采集匹配的日志

响应

响应示例

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 123

{"topic_id": "xxxx-xx-xx-xx-xxxxxxxx"}

响应头

除公共响应头部外,无特殊响应头部。

响应参数

字段名 类型 是否必须 含义
topic_id string 日志主题的 ID

错误码

参见 错误码