创建Logtail流水线配置。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
当前API暂无授权信息透出。
请求语法
POST /pipelineconfigs
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
project | string | 是 | Project 名称。 | test-project |
body | object | 否 | Logtail 流水线配置内容。 | |
configName | string | 是 | 配置名称。 说明
配置名称在所属 Project 内唯一,且创建成功后无法修改。命名规则如下:
| test-config |
logSample | string | 否 | 日志样例。支持多条日志。 | 2022-06-14 11:13:29.796 | DEBUG | __main__:<module>:1 - hello world |
global | object | 否 | 全局配置。 | |
inputs | array<object> | 是 | 输入插件列表。 注意 目前,只允许配置 1 个输入插件。 | |
object | 否 | { "Type": "input_file", "FilePaths": ["/var/log/*.log"] } | ||
processors | array<object> | 否 | 处理插件列表。 说明
可分为原生处理插件和扩展处理插件,详情请参见处理插件。
注意
| |
object | 否 | 处理插件。 说明
原生处理插件和扩展处理插件,详情请参见处理插件。
| { "Type": "processor_parse_json_native", "SourceKey": "content" } | |
aggregators | array<object> | 否 | 聚合插件列表。 注意 仅当使用了扩展处理插件时有效,且最多允许使用 1 个聚合插件。 | |
object | 否 | 聚合插件。 | ||
flushers | array<object> | 是 | 输出插件列表。 注意 目前,只允许存在 1 个 flusher_sls 插件。 | |
object | 否 | 输出插件。 | { "Type": "flusher_sls", "Logstore": "test" } |
全局配置
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
TopicType | string | 否 | 空 | filepath | Topic 类型。可选值包括:
|
TopicFormat | string | 否,当 TopicType 取值为 filepath 或 custom 时必填 | / | /var/log/(.*).log | Topic 格式。 |
EnableTimestampNanosecond | bool | 否 | false | false | 是否启用时间纳秒精度。 |
输入插件
文件输入插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | input_file | 插件类型。固定为 input_file。 |
FilePaths | [string] | 是 | / | ["/var/log/*.log"] | 待采集的日志文件路径列表(目前仅限 1 个路径)。路径中支持使用*和**通配符,其中**通配符仅能出现一次且仅限用于文件名前。 |
MaxDirSearchDepth | uint | 否 | 0 | 0 | 文件路径中**通配符匹配的最大目录深度。仅当日志路径中存在**通配符时有效,取值范围为 0~1000。 |
ExcludeFilePaths | [string] | 否 | 空 | ["/home/admin/*.log"] | 文件路径黑名单。路径必须为绝对路径,支持使用*通配符 |
ExcludeFiles | [string] | 否 | 空 | ["app*.log", "password"] | 文件名黑名单。支持使用*通配符 |
ExcludeDirs | [string] | 否 | 空 | ["/home/admin/dir1", "/home/admin/dir2*"] | 目录黑名单。路径必须为绝对路径,支持使用*通配符 |
FileEncoding | string | 否 | utf8 | utf8 | 文件编码格式。可选值包括 utf8 和 gbk。 |
TailSizeKB | uint | 否 | 1024 | 1024 | 配置首次生效时,匹配文件的起始采集位置距离文件结尾的大小。如果文件大小小于该值,则从头开始采集,取值范围为 0~10485760KB。 |
Multiline | object | 否 | 空 | / | 多行聚合选项。 |
Multiline.Mode | string | 否 | custom | custom | 多行聚合模式。可选值包括 custom 和 JSON。 |
Multiline.StartPattern | string | 当 Multiline.Mode 取值为 custom 时必填 | 空 | \d+-\d+-\d+.* | 行首正则表达式。 |
EnableContainerDiscovery | bool | 否 | false | true | 是否启用容器发现功能。仅当 Logtail 以 Daemonset 模式运行,且采集文件路径为容器内路径时有效。 |
ContainerFilters | object | 否 | 空 | / | 容器过滤选项。多个选项之间为“且”的关系,仅当 EnableContainerDiscovery 取值为 true 时有效。 |
ContainerFilters.K8sNamespaceRegex | string | 否 | 空 | default | 对于部署于 K8s 环境的容器,指定待采集容器所在 Pod 所属的命名空间条件。如果未添加该参数,则表示采集所有容器。支持正则匹配。 |
ContainerFilters.K8sPodRegex | string | 否 | 空 | test-pod | 对于部署于 K8s 环境的容器,指定待采集容器所在 Pod 的名称条件。如果未添加该参数,则表示采集所有容器。支持正则匹配。 |
ContainerFilters.IncludeK8sLabel | map | 否 | 空 | / | 对于部署于 K8s 环境的容器,指定待采集容器所在 pod 的标签条件。多个条件之间为“或”的关系,如果未添加该参数,则表示采集所有容器。支持正则匹配。 map 中的 key 为 Pod 标签名,value 为 Pod 标签的值,说明如下:
|
ContainerFilters.ExcludeK8sLabel | map | 否 | 空 | / | 对于部署于 K8s 环境的容器,指定需要排除采集容器所在 pod 的标签条件。多个条件之间为“或”的关系,如果未添加该参数,则表示采集所有容器。支持正则匹配。 map 中的 key 为 pod 标签名,value 为 pod 标签的值,说明如下:
|
ContainerFilters.K8sContainerRegex | string | 否 | 空 | test-container | 对于部署于 K8s 环境的容器,指定待采集容器的名称条件。如果未添加该参数,则表示采集所有容器。支持正则匹配。 |
ContainerFilters.IncludeEnv | map | 否 | 空 | / | 指定待采集容器的环境变量条件。多个条件之间为“或”的关系,如果未添加该参数,则表示采集所有容器。支持正则匹配。 map 中的 key 为环境变量名,value 为环境变量的值,说明如下:
|
ContainerFilters.ExcludeEnv | map | 否 | 空 | / | 指定需要排除采集容器的环境变量条件。多个条件之间为“或”的关系,如果未添加该参数,则表示采集所有容器。支持正则匹配。 map 中的 key 为环境变量名,value 为环境变量的值,说明如下:
|
ContainerFilters.IncludeContainerLabel | map | 否 | 空 | / | 指定待采集容器的标签条件。多个条件之间为“或”的关系,如果未添加该参数,则默认为空,表示采集所有容器。支持正则匹配。 map 中的 key 为容器标签名,value 为容器标签的值,说明如下:
|
ContainerFilters.ExcludeContainerLabel | map | 否 | 空 | / | 指定需要排除采集容器的标签条件。多个条件之间为“或”的关系,如果未添加该参数,则默认为空,表示采集所有容器。支持正则匹配。 map 中的 key 为容器标签名,value 为容器标签的值,说明如下:
|
ExternalK8sLabelTag | map | 否 | 空 | / | 对于部署于 K8s 环境的容器,需要在日志中额外添加的与 Pod 标签相关的 tag。map 中的 key 为 Pod 标签名,value 为对应的 tag 名。 例如:在 map 中添加app: k8s\_label\_app ,则若 pod 中包含app=serviceA 的标签时,会将该信息以 tag 的形式添加到日志中,即添加字段__tag__:k8s_label_app: serviceA ;若不包含app 标签,则会添加空字段__tag__:k8s_label_app: 。 |
ExternalEnvTag | map | 否 | 空 | / | 对于部署于 K8s 环境的容器,需要在日志中额外添加的与容器环境变量相关的 tag。map 中的 key 为环境变量名,value 为对应的 tag 名。 例如:在 map 中添加VERSION: env\_version ,则当容器中包含环境变量VERSION=v1.0.0 时,会将该信息以 tag 的形式添加到日志中,即添加字段__tag__:env_version: v1.0.0 ;若不包含VERSION 环境变量,则会添加空字段__tag__:env_version: 。 |
CollectingContainersMeta | bool | 否 | false | true | 是否启用容器元信息预览。 |
AppendingLogPositionMeta | bool | 否 | false | false | 是否在日志中添加该条日志所属文件的元信息,包括__tag__:__inode__字段和__file_offset__字段。 |
AllowingIncludedByMultiConfigs | bool | 否 | false | false | 是否允许当前配置采集其它配置已匹配的文件。 |
原生处理插件
正则解析原生处理插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_parse_regex_native | 插件类型。固定为 processor_parse_regex_native。 |
SourceKey | string | 是 | / | content | 源字段名。 |
Regex | string | 是 | / | (\d+-\d+-\d+)\s+(.*) | 正则表达式。 |
Keys | [string] | 是 | / | ["time", "msg"] | 提取的字段列表。 |
KeepingSourceWhenParseFail | bool | 否 | false | false | 当解析失败时,是否保留源字段。 |
KeepingSourceWhenParseSucceed | bool | 否 | false | false | 当解析成功时,是否保留源字段。 |
RenamedSourceKey | string | 否 | 空 | key | 当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。 |
JSON 解析原生处理插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_parse_json_native | 插件类型。固定为 processor_parse_json_native。 |
SourceKey | string | 是 | / | content | 源字段名。 |
KeepingSourceWhenParseFail | bool | 否 | false | false | 当解析失败时,是否保留源字段。 |
KeepingSourceWhenParseSucceed | bool | 否 | false | false | 当解析成功时,是否保留源字段。 |
RenamedSourceKey | string | 否 | 空 | key | 当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。 |
分隔符解析原生处理插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_parse_delimiter_native | 插件类型。固定为 processor_parse_delimiter_native。 |
SourceKey | string | 是 | / | content | 源字段名。 |
Separator | string | 是 | / | , | 分隔符。 |
Quote | string | 否 | " | " | 引用符。 |
Keys | [string] | 是 | / | ["time", "msg"] | 提取的字段列表。 |
AllowingShortenedFields | bool | 否 | true | true | 是否允许提取的字段数量小于 Keys 的数量。若不允许,则此情景会被视为解析失败。 |
OverflowedFieldsTreatment | string | 否 | extend | extend | 当提取的字段数量大于 Keys 的数量时的行为。可选值包括:
|
KeepingSourceWhenParseFail | bool | 否 | false | false | 当解析失败时,是否保留源字段。 |
KeepingSourceWhenParseSucceed | bool | 否 | false | false | 当解析成功时,是否保留源字段。 |
RenamedSourceKey | string | 否 | 空 | key | 当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。 |
飞天解析原生处理插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_parse_apsara_native | 插件类型。固定为 processor_parse_apsara_native。 |
SourceKey | string | 是 | / | content | 源字段名。 |
Timezone | string | 否 | 空 | GMT+08:00 | 日志时间所属时区。格式为 GMT+HH:MM(东区)或 GMT-HH:MM(西区)。 |
KeepingSourceWhenParseFail | bool | 否 | false | false | 当解析失败时,是否保留源字段。 |
KeepingSourceWhenParseSucceed | bool | 否 | false | false | 当解析成功时,是否保留源字段。 |
RenamedSourceKey | string | 否 | 空 | key | 当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。 |
时间解析原生处理插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_parse_timestamp_native | 插件类型。固定为 processor_parse_timestamp_native。 |
SourceKey | string | 是 | / | content | 源字段名。 |
SourceFormat | string | 是 | / | %Y/%m/%d %H:%M:%S | 日志时间格式。更多信息,请参见时间格式。 |
SourceTimezone | string | 否 | 空 | GMT+08:00 | 日志时间所属时区。格式为 GMT+HH:MM(东区)或 GMT-HH:MM(西区)。 |
过滤原生处理插件
参数 | 类型 | 是否必填 | 示例 | 默认值 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | processor_filter_regex_native | / | 插件类型。固定为 processor_filter_regex_native。 |
Include | map | 是 | / | / | 日志字段白名单,其中 key 为字段名,value 为正则表达式,表示如果当前事件要被采集,则 key 指定的字段内容所需要满足的条件。多个条件之间为“且”的关系,仅当所有条件均满足时,该条日志才会被采集。 |
脱敏原生处理插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_desensitize_native | 插件类型。固定为 processor_desensitize_native。 |
SourceKey | string | 是 | / | content | 源字段名。 |
Method | string | 是 | / | const | 脱敏方式。可选值包括: const:用常量替换敏感内容。 md5:用敏感内容的 MD5 值替换相应内容。 |
ReplacingString | string | 否,当 Method 取值为 const 时必选 | / | ****** | 用于替换敏感内容的常量字符串。 |
ContentPatternBeforeReplacedString | string | 是 | / | 'password:' | 敏感内容的前缀正则表达式。 |
ReplacedContentPattern | string | 是 | / | [^']* | 敏感内容的正则表达式。 |
ReplacingAll | bool | 否 | true | true | 是否替换所有的匹配的敏感内容。 |
输出插件
SLS 输出插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | flusher_sls | 插件类型。固定为 flusher_sls。 |
Logstore | stirng | 是 | / | test-logstore | LogStrore 名称。 |
返回参数
示例
正常返回示例
JSON
格式
{}
错误码
访问错误中心查看更多错误码。