CreateLogtailPipelineConfig
创建Logtail流水线配置
服务地址:
华东1(杭州)
输入参数
只看必填
projectProject名称
bodyLogtail流水线配置内容
configName配置名称
logSample日志样例
global全局配置
inputs输入插件列表
0输入插件
processors处理插件列表
0处理插件
aggregators聚合插件列表
0聚合插件
flushers输出插件列表
0输出插件
插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

请求语法

POST /pipelineconfigs HTTP/1.1

请求参数

字段名称字段详情
projectstring

Project 名称。

示例值:test-project
bodyobject

Logtail 流水线配置内容。

请求说明

全局配置

参数类型是否必填默认值示例说明
TopicTypestringfilepathTopic 类型。可选值包括:
  • filepath:从日志文件路径中提取信息作为 Topic。仅当输入插件为 input_file 时有效。
  • machine_group_topic:将应用该配置的机器组 Topic 作为 Topic。
  • custom:自定义 Topic 更多信息,请参见日志主题
TopicFormatstring否,当 TopicType 取值为 filepath 或 custom 时必填//var/log/(.*).logTopic 格式。
EnableTimestampNanosecondboolfalsefalse是否启用时间纳秒精度。

输入插件

文件输入插件

参数类型是否必填默认值示例说明
Typestring/input_file插件类型。固定为 input_file。
FilePaths[string]/["/var/log/*.log"]待采集的日志文件路径列表(目前仅限 1 个路径)。路径中支持使用*和**通配符,其中**通配符仅能出现一次且仅限用于文件名前。
MaxDirSearchDepthuint00文件路径中**通配符匹配的最大目录深度。仅当日志路径中存在**通配符时有效,取值范围为 0~1000。
ExcludeFilePaths[string]["/home/admin/*.log"]文件路径黑名单。路径必须为绝对路径,支持使用*通配符
ExcludeFiles[string]["app*.log", "password"]文件名黑名单。支持使用*通配符
ExcludeDirs[string]["/home/admin/dir1", "/home/admin/dir2*"]目录黑名单。路径必须为绝对路径,支持使用*通配符
FileEncodingstringutf8utf8文件编码格式。可选值包括 utf8 和 gbk。
TailSizeKBuint10241024配置首次生效时,匹配文件的起始采集位置距离文件结尾的大小。如果文件大小小于该值,则从头开始采集,取值范围为 0~10485760KB。
Multilineobject/多行聚合选项。
Multiline.Modestringcustomcustom多行聚合模式。可选值包括 custom 和 JSON。
Multiline.StartPatternstring当 Multiline.Mode 取值为 custom 时必填\d+-\d+-\d+.*行首正则表达式。
EnableContainerDiscoveryboolfalsetrue是否启用容器发现功能。仅当 Logtail 以 Daemonset 模式运行,且采集文件路径为容器内路径时有效。
ContainerFiltersobject/容器过滤选项。多个选项之间为“且”的关系,仅当 EnableContainerDiscovery 取值为 true 时有效。
ContainerFilters.K8sNamespaceRegexstringdefault对于部署于 K8s 环境的容器,指定待采集容器所在 Pod 所属的命名空间条件。如果未添加该参数,则表示采集所有容器。支持正则匹配。
ContainerFilters.K8sPodRegexstringtest-pod对于部署于 K8s 环境的容器,指定待采集容器所在 Pod 的名称条件。如果未添加该参数,则表示采集所有容器。支持正则匹配。
ContainerFilters.IncludeK8sLabelmap/对于部署于 K8s 环境的容器,指定待采集容器所在 pod 的标签条件。多个条件之间为“或”的关系,如果未添加该参数,则表示采集所有容器。支持正则匹配。 map 中的 key 为 Pod 标签名,value 为 Pod 标签的值,说明如下:
  • 如果 map 中的 value 为空,则 pod 标签中包含以 key 为键的 pod 都会被匹配;
  • 如果 map 中的 value 不为空,则:
    • 若 value 以^开头并且以$结尾,则当 pod 标签中存在以 key 为标签名且对应标签值能正则匹配 value 的情况时,相应的 pod 会被匹配;
    • 其他情况下,当 pod 标签中存在以 key 为标签名且以 value 为标签值的情况时,相应的 pod 会被匹配。
ContainerFilters.ExcludeK8sLabelmap/对于部署于 K8s 环境的容器,指定需要排除采集容器所在 pod 的标签条件。多个条件之间为“或”的关系,如果未添加该参数,则表示采集所有容器。支持正则匹配。 map 中的 key 为 pod 标签名,value 为 pod 标签的值,说明如下:
  • 如果 map 中的 value 为空,则 pod 标签中包含以 key 为键的 pod 都会被匹配;
  • 如果 map 中的 value 不为空,则:
    • 若 value 以^开头并且以$结尾,则当 pod 标签中存在以 key 为标签名且对应标签值能正则匹配 value 的情况时,相应的 pod 会被匹配;
    • 其他情况下,当 pod 标签中存在以 key 为标签名且以 value 为标签值的情况时,相应的 pod 会被匹配。
ContainerFilters.K8sContainerRegexstringtest-container对于部署于 K8s 环境的容器,指定待采集容器的名称条件。如果未添加该参数,则表示采集所有容器。支持正则匹配。
ContainerFilters.IncludeEnvmap/指定待采集容器的环境变量条件。多个条件之间为“或”的关系,如果未添加该参数,则表示采集所有容器。支持正则匹配。 map 中的 key 为环境变量名,value 为环境变量的值,说明如下:
  • 如果 map 中的 value 为空,则容器环境变量中包含以 key 为键的容器都会被匹配;
  • 如果 map 中的 value 不为空,则:
    • 若 value 以^开头并且以$结尾,则当容器环境变量中存在以 key 为环境变量名且对应环境变量值能正则匹配 value 的情况时,相应的容器会被匹配;
    • 其他情况下,当容器环境变量中存在以 key 为环境变量名且以 value 为环境变量值的情况时,相应的容器会被匹配。
ContainerFilters.ExcludeEnvmap/指定需要排除采集容器的环境变量条件。多个条件之间为“或”的关系,如果未添加该参数,则表示采集所有容器。支持正则匹配。 map 中的 key 为环境变量名,value 为环境变量的值,说明如下:
  • 如果 map 中的 value 为空,则容器环境变量中包含以 key 为键的容器都会被匹配;
  • 如果 map 中的 value 不为空,则:
    • 若 value 以^开头并且以$结尾,则当容器环境变量中存在以 key 为环境变量名且对应环境变量值能正则匹配 value 的情况时,相应的容器会被匹配;
    • 其他情况下,当容器环境变量中存在以 key 为环境变量名且以 value 为环境变量值的情况时,相应的容器会被匹配。
ContainerFilters.IncludeContainerLabelmap/指定待采集容器的标签条件。多个条件之间为“或”的关系,如果未添加该参数,则默认为空,表示采集所有容器。支持正则匹配。 map 中的 key 为容器标签名,value 为容器标签的值,说明如下:
  • 如果 map 中的 value 为空,则容器标签中包含以 key 为键的容器都会被匹配;
  • 如果 map 中的 value 不为空,则:
    • 若 value 以^开头并且以$结尾,则当容器标签中存在以 key 为标签名且对应标签值能正则匹配 value 的情况时,相应的容器会被匹配;
    • 其他情况下,当容器标签中存在以 key 为标签名且以 value 为标签值的情况时,相应的容器会被匹配。
ContainerFilters.ExcludeContainerLabelmap/指定需要排除采集容器的标签条件。多个条件之间为“或”的关系,如果未添加该参数,则默认为空,表示采集所有容器。支持正则匹配。 map 中的 key 为容器标签名,value 为容器标签的值,说明如下:
  • 如果 map 中的 value 为空,则容器标签中包含以 key 为键的容器都会被匹配;
  • 如果 map 中的 value 不为空,则:
    • 若 value 以^开头并且以$结尾,则当容器标签中存在以 key 为标签名且对应标签值能正则匹配 value 的情况时,相应的容器会被匹配;
    • 其他情况下,当容器标签中存在以 key 为标签名且以 value 为标签值的情况时,相应的容器会被匹配。
ExternalK8sLabelTagmap/对于部署于 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:
ExternalEnvTagmap/对于部署于 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:
CollectingContainersMetaboolfalsetrue是否启用容器元信息预览。
AppendingLogPositionMetaboolfalsefalse是否在日志中添加该条日志所属文件的元信息,包括__tag__:__inode__字段和__file_offset__字段。
AllowingIncludedByMultiConfigsboolfalsefalse是否允许当前配置采集其它配置已匹配的文件。

容器标准输出(旧版)

参数类型是否必填默认值示例说明
Typestring/service_docker_stdout插件类型。固定为 service_docker_stdout。
StdoutBooleantruetrue是否采集标准输出 stdout。
StderrBooleantruetrue是否采集标准出错信息 stderr。
StartLogMaxOffsetInteger128×1024131072首次采集时回溯历史数据长度,单位:字节。建议取值在[131072,1048576]之间。
IncludeLabelMap,其中 LabelKey 和 LabelValue 为 String 类型

容器 Label 白名单,用于指定待采集的容器。默认为空,表示采集所有容器的标准输出。如果您要设置容器 Label 白名单,那么 LabelKey 必填,LabelValue 可选填。

  • 如果 LabelValue 为空,则容器 Label 中包含 LabelKey 的容器都匹配。
  • 如果 LabelValue 不为空,则容器 Label 中包含 LabelKey=LabelValue 的容器才匹配。

    LabelValue 默认为字符串匹配,即只有 LabelValue 和容器 Label 的值完全相同才会匹配。如果该值以^开头并且以$结尾,则为正则匹配。例如设置 LabelKey 为io.kubernetes.container.name,设置 LabelValue 为^(nginx|cube)$,表示可匹配名为 nginx、cube 的容器。

多个白名单之间为或关系,即只要容器 Label 满足任一白名单即可匹配。

ExcludeLabelMap,其中 LabelKey 和 LabelValue 为 String 类型

容器 Label 黑名单,用于排除不采集的容器。默认为空,表示不排除任何容器。如果您要设置容器 Label 黑名单,那么 LabelKey 必填,LabelValue 可选填。

  • 如果 LabelValue 为空,则容器 Label 中包含 LabelKey 的容器都将被排除。
  • 如果 LabelValue 不为空,则容器 Label 中包含 LabelKey=LabelValue 的容器才会被排除。

    LabelValue 默认为字符串匹配,即只有 LabelValue 和容器 Label 的值完全相同才会匹配。如果该值以^开头并且以$结尾,则为正则匹配。例如设置 LabelKey 为io.kubernetes.container.name,设置 LabelValue 为^(nginx|cube)$,表示可匹配名为 nginx、cube 的容器。

多个黑名单之间为或关系,即只要容器 Label 满足任一黑名单对即可被排除。

IncludeEnvMap,其中 EnvKey 和 EnvValue 为 String 类型

设环境变量白名单,用于指定待采集的容器。默认为空,表示采集所有容器的标准输出。如果您要设置环境变量白名单,那么 EnvKey 必填,EnvValue 可选填。

  • 如果 EnvValue 为空,则容器环境变量中包含 EnvKey 的容器都匹配。
  • 如果 EnvValue 不为空,则容器环境变量中包含 EnvKey=EnvValue 的容器才匹配。

    EnvValue 默认为字符串匹配,即只有 EnvValue 和环境变量的值完全相同才会匹配。如果该值以^开头并且以$结尾,则为正则匹配,例如设置 EnvKey 为NGINX_SERVICE_PORT,设置 EnvValue 为`^(80

ExcludeEnvMap,其中 EnvKey 和 EnvValue 为 String 类型

环境变量黑名单,用于排除不采集的容器。默认为空,表示不排除任何容器。如果您要设置环境变量黑名单,那么 EnvKey 必填,EnvValue 可选填。

  • 如果 EnvValue 为空,则容器环境变量中包含 EnvKey 的容器的日志都将被排除。
  • 如果 EnvValue 不为空,则容器环境变量中包含 EnvKey=EnvValue 的容器才会被排除。

    EnvValue 默认为字符串匹配,即只有 EnvValue 和环境变量的值完全相同才会匹配。如果该值以^开头并且以$结尾,则为正则匹配,例如设置 EnvKey 为NGINX_SERVICE_PORT,设置 EnvValue 为^(80|6379)$,表示可匹配服务端口为 80、6379 的容器。

多个黑名单之间为或关系,即只要容器的环境变量满足任一键值对即可被排除。

IncludeK8sLabelMap,其中 LabelKey 和 LabelValue 为 String 类型

通过 Kubernetes Label(定义在 template.metadata 中)白名单指定待采集的容器。如果您要设置 Kubernetes Label 白名单,那么 LabelKey 必填,LabelValue 可选填。

  • 如果 LabelValue 为空,则 Kubernetes Label 中包含 LabelKey 的容器都匹配。
  • 如果 LabelValue 不为空,则 Kubernetes Label 中包含 LabelKey=LabelValue 的容器才匹配。

    LabelValue 默认为字符串匹配,即只有 LabelValue 和 Kubernetes Label 的值完全相同才会匹配。如果该值以^开头并且以$结尾,则为正则匹配。例如设置 LabelKey 为app,设置 LabelValue 为^(test1|test2)$,表示匹配 Kubernetes Label 中包含 app:test1、app:test2 的容器。

多个白名单之间为或关系,即只要 Kubernetes Label 满足任一白名单即可匹配。

ExcludeK8sLabelMap,其中 LabelKey 和 LabelValue 为 String 类型

通过 Kubernetes Label(定义在 template.metadata 中)黑名单排除不采集的容器。如果您要设置 Kubernetes Label 黑名单,那么 LabelKey 必填,LabelValue 可选填。

  • 如果 LabelValue 为空,则 Kubernetes Label 中包含 LabelKey 的容器都被排除。
  • 如果 LabelValue 不为空,则 Kubernetes Label 中包含 LabelKey=LabelValue 的容器才会被排除。

    LabelValue 默认为字符串匹配,即只有 LabelValue 和 Kubernetes Label 的值完全相同才会匹配。如果该值以^开头并且以$结尾,则为正则匹配。例如设置 LabelKey 为app,设置 LabelValue 为^(test1|test2)$,表示匹配 Kubernetes Label 中包含 app:test1、app:test2 的容器。

多个黑名单之间为或关系,即只要 Kubernetes Label 满足任一黑名单对即可被排除。

K8sNamespaceRegexString^(default|nginx)$通过 Namespace 名称指定采集的容器,支持正则匹配。例如设置为^(default|nginx)$,表示匹配 nginx 命名空间、default 命名空间下的所有容器。
K8sPodRegexString^(nginx-log-demo.*)$通过 Pod 名称指定待采集的容器,支持正则匹配。例如设置为^(nginx-log-demo.*)$,表示匹配以 nginx-log-demo 开头的 Pod 下的所有容器。
K8sContainerRegexString^(container-test)$通过容器名称指定待采集的容器(Kubernetes 容器名称是定义在 spec.containers 中),支持正则匹配。例如设置为^(container-test)$,表示匹配所有名为 container-test 的容器。

数据处理参数

参数类型是否必填默认值示例说明
BeginLineRegexString

行首匹配的正则表达式。

该配置项为空,表示单行模式。

如果该表达式匹配某行的开头,则将该行作为一条新的日志,否则将此行拼接到上一条日志。

BeginLineCheckLengthInteger

行首匹配的长度,单位:字节。

默认取值为 10×1024 字节。

如果行首匹配的正则表达式在前 N 个字节即可体现,推荐设置此参数,提升行首匹配效率。

BeginLineTimeoutMsInteger

行首匹配的超时时间,单位:毫秒。

默认取值为 3000 毫秒。

如果 3000 毫秒内没有出现新日志,则结束匹配,将最后一条日志上传到日志服务。

MaxLogSizeInteger

日志最大长度默认取值为 0,单位:字节。

默认取值为 512×1024 字节。

如果日志长度超过该值,则不再继续查找行首,直接上传。

ExternalK8sLabelTagMap,其中 LabelKey 和 LabelValue 为 String 类型

设置 Kubernetes Label(定义在 template.metadata 中)日志标签后,iLogtail 将在日志中新增 Kubernetes Label 相关字段。

例如设置 LabelKey 为 app,LabelValue 为k8s_label_app,当 Pod 中包含 Label app=serviceA时,会将该信息 iLogtail 添加到日志中,即添加字段 k8s_label_app: serviceA;若不包含名为 app 的 label 时,添加空字段 k8s_label_app: 。

ExternalEnvTagMap,其中 EnvKey 和 EnvValue 为 String 类型

设置容器环境变量日志标签后,iLogtail 将在日志中新增容器环境变量相关字段。

例如设置 EnvKey 为VERSION,EnvValue 为env_version,当容器中包含环境变量VERSION=v1.0.0时,会将该信息以 tag 形式添加到日志中,即添加字段 env_version: v1.0.0;若不包含名为 VERSION 的环境变量时,添加空字段 env_version: 。

数据处理环境变量

环境变量类型是否必填默认值示例说明
ALIYUN_LOG_ENV_TAGSString

设置全局环境变量日志标签后,iLogtail 将在日志中新增 iLogtail 所在容器环境变量相关字段。多个环境变量名以|分隔。

例如设置为 node_name|node_ip,当 iLogtail 容器中暴露相关环境变量时,会将该信息以 tag 形式添加到日志中,即添加字段 node_ip:172.16.0.1 和 node_name:worknode。

MySQL 输入插件

参数类型是否必填默认值示例说明
Typestring/service_mysql插件类型。固定为 service_mysql。
Addressstring127.0.0.1:3306rm-*.mysql.rds.aliyuncs.comMySQL 地址。
Userstringrootroot用于登录 MySQL 数据库的用户名称。
Passwordstring用于登录 MySQL 数据库的用户密码。如果安全需求较高,建议将用户名称和密码配置为 xxx,待采集配置同步至本地机器后,在本地文件/usr/local/ilogtail/user_log_config.json中找到对应配置进行修改。具体操作,请参见修改本地配置
注意 如果您在控制台上修改了此参数,同步至本地后会覆盖本地的配置。
DataBasestring/project_database数据库名称。
DialTimeOutMsint50005000连接 MySQL 数据库超时时间,单位:ms。
ReadTimeOutMsint50005000读取 MySQL 查询结果的超时时间,单位:ms。
StateMentstring/SELECT 语句。设置 CheckPoint 为 true 时,Statement 中 SELECT 语句的 where 条件中必须包含 CheckPoint 列(CheckPointColumn)。支持使用半角问号(?)表示替换符,与 CheckPoint 列配合使用。 例如设置 CheckPointColumn 为 id,设置 CheckPointStart 为 0,设置 StateMent 为SELECT * from ... where id > ?。则每次采集后,系统会保存最后一条数据的 ID 作为 Checkpoint,下次采集时查询语句中的半角问号(?)将被替换为该 Checkpoint 对应的 ID。
Limitboolfalsetrue是否使用 Limit 分页。
  • true:使用。
  • false(默认值):不使用。
建议使用 Limit 进行分页。设置 Limit 为 true 后,进行 SQL 查询时,系统将自动在 SELECT 语句中追加 LIMIT 语句。
PageSizeint/10分页大小,Limit 为 true 时必须配置。
MaxSyncSizeint00每次同步最大记录数。默认值为 0,表示无限制。
CheckPointboolfalsetrue是否使用 CheckPoint。
  • true:使用。
  • false(默认值):不使用。
CheckPoint 可作为下次采集数据的起点,实现数据增量采集。
CheckPointColumnstring1CheckPoint 列名称。设置 CheckPoint 为 true 时,需要配置。 警告 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。
CheckPointColumnTypestringintCheckPoint 列的数据类型,支持 int 和 time。int 类型的内部存储为 int64,time 类型支持 MySQL 的 date、datetime、time 类型。设置 CheckPoint 为 true 时,需要配置。
CheckPointStartstringCheckPoint 列的初始值。设置 CheckPoint 为 true 时,需要配置。
CheckPointSavePerPagebooltruetrue是否每次分页时保存一次 CheckPoint。
  • true(默认值):每次分页时保存一次 CheckPoint。
  • false:每次同步完成后保存一次 CheckPoint。
IntervalMsint6000060000同步间隔,默认值为 60000,单位:ms。

HTTP 输入插件

参数类型是否必填默认值示例说明
Typestring/metric_http插件类型。固定为 metric_http。
Addressstring/URL 列表。 重要 必须以httphttps开头。
IntervalMsint/10每次请求的间隔,单位:ms。
MethodstringGETGET请求的方法名,必须大写。
BodystringHTTP Body 字段内容。
Headersmap{"key":"value"}HTTP Header 的内容,例如{"key":"value"},请根据实际值替换。
PerAddressSleepMsint100100Addresses 列表中,每个 URL 请求的间隔时间,单位:ms。
ResponseTimeoutMsint50005000请求超时的时间,单位:ms。
IncludeBodyboolfalsetrue是否采集请求的 Body,默认值:false。如果为 true,则将请求 Body 内容存放在名为 content 的 key 中。
FollowRedirectsboolfalsefalse是否自动处理重定向。
InsecureSkipVerifyboolfalsefalse是否跳过 HTTPS 安全检查。
ResponseStringMatchstring/对返回的 Body 内容进行正则表达式检查,检查结果被存放在名为_response_match_的 key 中,如果匹配,value 为 yes;如果不匹配,value 为 no。

Syslog 输入插件

参数类型是否必填默认值示例说明
Typestring/service_syslog插件类型,固定为 service_syslog。
Addressstringtcp://127.0.0.1:9999指定 Logtail 监听的协议、地址和端口,Logtail 会根据 Logtail 配置进行监听并获取日志数据。格式为[tcp/udp]://[ ip ]:[ port ]。不配置时,默认为tcp://127.0.0.1:9999,即表示(只能接收本地转发的日志。 说明
  • Logtail 配置中设置的监听协议、地址和端口号必须与 rsyslog 配置文件设置的转发规则相同。
  • 如果安装 Logtail 的服务器有多个 IP 地址可接收日志,可以将地址配置为0.0.0.0,表示监听服务器的所有 IP 地址。
ParseProtocolstringrfc3164指定解析日志所使用的协议,默认为空,表示不解析。其中:
  • 空:不解析。
  • rfc3164:指定使用 RFC3164 协议解析日志。
  • rfc5424:指定使用 RFC5424 协议解析日志。
  • auto:指定 Logtail 根据日志内容自动选择合适的解析协议。
IgnoreParseFailurebooltruetrue指定解析失败后的操作,不配置时,默认为true,表示放弃解析,直接填充所返回的 content 字段。配置为false ,表示解析失败时丢弃日志。

Systemd Journal 输入插件

参数类型是否必填默认值示例说明
Typestring/service_journal插件类型,固定为 service_journal。
JournalPaths[string]/var/log/journalJournal 日志路径,建议配置为 Journal 日志所在目录。
SeekPositionstringtailtail首次采集方式,可以配置为 head 或 tail。
  • head 表示采集所有数据。
  • tail 表示只采集 Logtail 采集配置被应用后的新数据。
Kernelbooltruetrue是否采集内核日志。
Units[string]""指定采集的 Unit 列表,默认为空,表示全部采集。
ParseSyslogFacilityboolfalsefalse是否解析 syslog 日志的 facility 字段。不配置时,表示不解析。
ParsePriorityboolfalsefalse是否解析 Priority 字段。不配置时,表示不解析。 设置为 true 时,Priority 字段的映射关系如下所示。 plaintext "0": "emergency" "1": "alert" "2": "critical" "3": "error" "4": "warning" "5": "notice" "6": "informational" "7": "debug"
UseJournalEventTimeboolfalsefalse是否使用 Journal 日志中的字段作为日志时间。不配置时,表示使用采集时间作为日志时间。实时日志采集一般相差 3 秒以内。

SQL Server 输入插件

参数类型是否必填默认值示例说明
Typestring/service_mssql插件类型。固定为 service_mssql。
Addressstring127.0.0.1:1433rm-*.sqlserver.rds.aliyuncs.comSQL Server 地址。
Userstringrootroot用于登录 SQL Server 数据库的账号名称。
Passwordstring用于登录 SQL Server 数据库的账号密码。如果安全需求较高,建议将用户名称和密码配置为 xxx,待采集配置同步至本地机器后,在本地文件/usr/local/ilogtail/user_log_config.json中找到对应配置进行修改。具体操作,请参见修改本地配置
注意 如果您在控制台上修改了此参数,同步至本地后会覆盖本地的配置。
DataBasestring/project_database数据库名称。
DialTimeOutMsint50005000连接 SQL Server 数据库的超时时间,单位:ms。
ReadTimeOutMsint50005000读取 SQL Server 查询结果的超时时间,单位:ms。
StateMentstring/SELECT 语句。设置 CheckPoint 为 true 时,Statement 中 SELECT 语句的 where 条件中必须包含 CheckPoint 列(CheckPointColumn)。支持使用半角问号(?)表示替换符,与 CheckPoint 列配合使用。 例如设置 CheckPointColumn 为 id,设置 CheckPointStart 为 0,设置 StateMent 为SELECT * from ... where id > ?。则每次采集后,系统会保存最后一条数据的 ID 作为 Checkpoint,下次采集时查询语句中的半角问号(?)将被替换为该 Checkpoint 对应的 ID。
Limitboolfalsetrue是否使用 Limit 分页。
  • true:使用。
  • false(默认值):不使用。
建议使用 Limit 进行分页。设置 Limit 为 true 后,进行 SQL 查询时,系统将自动在 SELECT 语句中追加 LIMIT 语句。
PageSizeint/10分页大小,Limit 为 true 时必须配置。
MaxSyncSizeint00每次同步最大记录数。默认值为 0,表示无限制。
CheckPointboolfalsetrue是否使用 CheckPoint。
  • true:使用。
  • false(默认值):不使用。
CheckPoint 可作为下次采集数据的起点,实现数据增量采集。
CheckPointColumnstring1CheckPoint 列名称。CheckPoint 为 true 时必须配置。 警告 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。
CheckPointColumnTypestringintCheckPoint 列的数据类型,支持 int 和 time。int 类型的内部存储为 int64,time 类型支持 SQL Server 的 date、datetime、time 类型。设置 CheckPoint 为 true 时,需要配置。
CheckPointStartstringCheckPoint 列的初始值。设置 CheckPoint 为 true 时,需要配置。
CheckPointSavePerPagebooltruetrue是否每次分页时保存一次 CheckPoint。
  • true(默认值):每次分页时保存一次 CheckPoint。
  • false:每次同步完成后保存一次 CheckPoint。
IntervalMsint6000060000同步间隔,默认值为 60000,单位:ms。

PostgreSQL 输入插件

参数类型是否必填默认值示例说明
Typestring/service_pgsql插件类型。固定为 service_pgsql。
Addressstring127.0.0.1:5432rm-*.pg.rds.aliyuncs.comPostgreSQL 地址。
Userstringrootroot用于登录 PostgreSQL 地址数据库的账号名称。
Passwordstring用于登录 PostgreSQL 数据库的账号密码。如果安全需求较高,建议将用户名称和密码配置为 xxx,待采集配置同步至本地机器后,在本地文件/usr/local/ilogtail/user_log_config.json中找到对应配置进行修改。具体操作,请参见修改本地配置
注意 如果您在控制台上修改了此参数,同步至本地后会覆盖本地的配置。
DataBasestring/project_databasePostgreSQL 数据库名称。
DialTimeOutMsint50005000连接 PostgreSQL 数据库的超时时间,单位:ms。
ReadTimeOutMsint50005000读取 PostgreSQL 查询结果的超时时间,单位:ms。
StateMentstring/SELECT 语句。 设置 CheckPoint 为 true 时,StateMent 中 SELECT 语句的 where 条件中必须包含 CheckPoint 列(CheckPointColumn 参数),并将该列的值设置为$1。例如:设置 CheckPointColumn 为 id,设置 StateMent 为SELECT * from ... where id > $1
Limitboolfalsetrue是否使用 Limit 分页。
  • true:使用。
  • false(默认值):不使用。
建议使用 Limit 进行分页。设置 Limit 为 true 后,进行 SQL 查询时,系统将自动在 SELECT 语句中追加 LIMIT 语句。
PageSizeint/10分页大小,Limit 为 true 时必须配置。
MaxSyncSizeint00每次同步最大记录数。默认值为 0,表示无限制。
CheckPointboolfalsetrue是否使用 CheckPoint。
  • true:使用。
  • false(默认值):不使用。
CheckPoint 可作为下次采集数据的起点,实现数据增量采集。
CheckPointColumnstring1CheckPoint 列名称。CheckPoint 为 true 时必须配置。 警告 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。
CheckPointColumnTypestringintCheckPoint 列的数据类型,支持 int 和 time。int 类型的内部存储为 int64,time 类型支持 PostgreSQL 的时间类型。设置 CheckPoint 为 true 时,需要配置。
CheckPointStartstringCheckPoint 列的初始值。设置 CheckPoint 为 true 时,需要配置。
CheckPointSavePerPagebooltruetrue是否每次分页时保存一次 CheckPoint。
  • true(默认值):每次分页时保存一次 CheckPoint。
  • false:每次同步完成后保存一次 CheckPoint。
IntervalMsint6000060000同步间隔,默认值为 60000,单位:ms。

SNMP 协议输入插件

参数类型是否必填默认值示例说明
Targets[string]/127.0.0.1目标机器组的 IP 地址。
Portstring161161SNMP 协议使用的端口。
Communitystringpublicpublic团体名称,SNMPv1 和 SNMPv2 使用团体名进行认证。
UserNamestringroot用户名,SNMPv3 支持使用用户名进行认证。
AuthenticationProtocolstringNoAuthNoAuth验证协议,SNMPv3 支持使用验证协议进行认证。
AuthenticationPassphrasestring验证密码,默认值为空。设置AuthenticationProtocolMD5SHA时,需要设置AuthenticationPassphrase
PrivacyProtocolstringNoPrivNoPriv隐私协议,SNMPv3 支持使用隐私协议进行认证。
PrivacyPassphrasestring隐私协议密码,默认与验证密码一致。 当设置PrivacyProtocolDESAES时,必须设置PrivacyPassphrase
Timeoutint55一次查询操作的超时时间,单位为秒。
Versionint22SNMP 协议版本。 可选值为123
TransportstringudpudpSNMP 通讯方法,可选值为udptcp
MaxRepetitionsint00查询超时后的重试次数。
Oids[string]1在目标机器中查询的对象标识符。
Fields[string]int在目标机器中查询的字段,本插件会先对字段进行翻译,即查找本地管理信息库,将其翻译为对象标识符并一起查询。
Tables[string]在目标机器中查询的表,本插件会先查询表内所有的字段,然后查找本地管理信息库,将其翻译为对象标识符并一起查询。

脚本输出采集插件

参数类型是否必填默认值示例说明
Typestring/input_command插件类型,固定为 input_command。
ScriptTypestringshell指定脚本内容的类型,目前支持 bash、shell、python2、python3。
Userstring/public运行命令使用的用户名,只支持非 Root 用户。 说明 * 请确保指定的用户名在机器中存在。 建议配置最小权限,只授予需要关注的目录或文件 rwx 权限 。
ScriptContentstring脚本内容,支持 PlainText 和 Base64 加密的内容,长度在 512*1024 字节内。
ContentEncodingstringPlainTextPlainText脚本内容的文本格式,可选值。
  • PlainText(默认值):纯文本,不编码。
  • Base64:Base64 编码。
LineSplitSepstring脚本输出内容的分隔符,为空时不进行分割,全部作为一条数据返回。
CmdPathstring/usr/bin/bash执行脚本命令的路径,如果为空,则使用默认路径。默认路径如下:
  • bash:/usr/bin/bash
  • shell:/usr/bin/sh
  • python2:/usr/bin/python2
  • python3:/usr/bin/python3
TimeoutMilliSecondsint30003000执行脚本的超时时间,单位为毫秒。
IgnoreErrorboolfalsefalse插件执行出错时是否忽略 Error 日志。默认值为 false,表示不忽略。
Environments[string]环境变量,默认为 os.Environ()的值,如果设置了 Environments,则在 os.Environ()的基础上追加设置的环境变量。
IntervalMsint50005000采集触发频率或脚本执行频率。单位为毫秒。

原生处理插件

正则解析原生处理插件

参数类型是否必填默认值示例说明
Typestring/processor_parse_regex_native插件类型。固定为 processor_parse_regex_native。
SourceKeystring/content源字段名。
Regexstring/(\d+-\d+-\d+)\s+(.*)正则表达式。
Keys[string]/["time", "msg"]提取的字段列表。
KeepingSourceWhenParseFailboolfalsefalse当解析失败时,是否保留源字段。
KeepingSourceWhenParseSucceedboolfalsefalse当解析成功时,是否保留源字段。
RenamedSourceKeystringkey当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。

JSON 解析原生处理插件

参数类型是否必填默认值示例说明
Typestring/processor_parse_json_native插件类型。固定为 processor_parse_json_native。
SourceKeystring/content源字段名。
KeepingSourceWhenParseFailboolfalsefalse当解析失败时,是否保留源字段。
KeepingSourceWhenParseSucceedboolfalsefalse当解析成功时,是否保留源字段。
RenamedSourceKeystringkey当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。

分隔符解析原生处理插件

参数类型是否必填默认值示例说明
Typestring/processor_parse_delimiter_native插件类型。固定为 processor_parse_delimiter_native。
SourceKeystring/content源字段名。
Separatorstring/,分隔符。
Quotestring""引用符。
Keys[string]/["time", "msg"]提取的字段列表。
AllowingShortenedFieldsbooltruetrue是否允许提取的字段数量小于 Keys 的数量。若不允许,则此情景会被视为解析失败。
OverflowedFieldsTreatmentstringextendextend当提取的字段数量大于 Keys 的数量时的行为。可选值包括:
  • extend:保留多余的字段,且每个多余的字段都作为单独的一个字段加入日志,多余字段的字段名为__column$i__,其中$i 代表额外字段序号,从 0 开始计数。
  • keep:保留多余的字段,但将多余内容作为一个整体字段加入日志,字段名为__column0__.
  • discard:丢弃多余的字段。
KeepingSourceWhenParseFailboolfalsefalse当解析失败时,是否保留源字段。
KeepingSourceWhenParseSucceedboolfalsefalse当解析成功时,是否保留源字段。
RenamedSourceKeystringkey当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。

飞天解析原生处理插件

参数类型是否必填默认值示例说明
Typestring/processor_parse_apsara_native插件类型。固定为 processor_parse_apsara_native。
SourceKeystring/content源字段名。
TimezonestringGMT+08:00日志时间所属时区。格式为 GMT+HH:MM(东区)或 GMT-HH:MM(西区)。
KeepingSourceWhenParseFailboolfalsefalse当解析失败时,是否保留源字段。
KeepingSourceWhenParseSucceedboolfalsefalse当解析成功时,是否保留源字段。
RenamedSourceKeystringkey当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。

时间解析原生处理插件

参数类型是否必填默认值示例说明
Typestring/processor_parse_timestamp_native插件类型。固定为 processor_parse_timestamp_native。
SourceKeystring/content源字段名。
SourceFormatstring/%Y/%m/%d %H:%M:%S日志时间格式。更多信息,请参见时间格式
SourceTimezonestringGMT+08:00日志时间所属时区。格式为 GMT+HH:MM(东区)或 GMT-HH:MM(西区)。

过滤原生处理插件

参数类型是否必填示例默认值说明
Typestringprocessor_filter_regex_native/插件类型。固定为 processor_filter_regex_native。
Includemap//日志字段白名单,其中 key 为字段名,value 为正则表达式,表示如果当前事件要被采集,则 key 指定的字段内容所需要满足的条件。多个条件之间为“且”的关系,仅当所有条件均满足时,该条日志才会被采集。

脱敏原生处理插件

参数类型是否必填默认值示例说明
Typestring/processor_desensitize_native插件类型。固定为 processor_desensitize_native。
SourceKeystring/content源字段名。
Methodstring/const脱敏方式。可选值包括: const:用常量替换敏感内容。 md5:用敏感内容的 MD5 值替换相应内容。
ReplacingStringstring否,当 Method 取值为 const 时必选/******用于替换敏感内容的常量字符串。
ContentPatternBeforeReplacedStringstring/'password:'敏感内容的前缀正则表达式。
ReplacedContentPatternstring/[^']*敏感内容的正则表达式。
ReplacingAllbooltruetrue是否替换所有的匹配的敏感内容。

扩展处理插件

提取字段

正则模式

参数类型是否必填默认值示例说明
Typestring/processor_regex插件类型。固定为 processor_regex。
SourceKeystring/content源字段名。
Regexstring/(\d+-\d+-\d+)\s+(.*)正则表达式。您需要使用半角圆括号()标注待提取的字段。
Keys[string]/["ip", "time", "method"]为提取的内容指定字段名,例如["ip", "time", "method"]。
NoKeyErrorbooleanfalsefalse原始日志中无您所指定的原始字段时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
NoMatchErrorbooleanfalsefalse您所指定的正则表达式与原始字段的值不匹配时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
KeepSourcebooleanfalsefalse解析后的日志中是否保留原始字段。
  • true:保留。
  • false(默认值):不保留。
FullMatchbooleantruetrue是否完全匹配才被提取。
  • true(默认值):您在 Keys 参数中设置的所有字段通过 Regex 参数中的正则表达式都能与原始字段的值匹配,字段值才会被提取。
  • false:部分字段匹配也会进行提取。
KeepSourceIfParseErrorbooleantruetruefalse解析日志失败时,解析后的日志中是否将保留原始字段。
  • true:保留。
  • false(默认值):不保留。

标定模式

参数类型是否必填默认值示例说明
Typestring/processor_anchor插件类型。固定为 processor_anchor。
SourceKeyAnchor 数组/content源字段名。
Anchorsstring/标定项列表。
StartStringtime起始关键字。如果为空,表示匹配字符串开头。
StopString\t结束关键字。如果为空,表示匹配字符串结尾。
FieldNameStringtime为提取的内容指定字段名。
FieldTypeStringstring字段的类型,取值为 string 或 json。
ExpondJsonbooleanfalsefalse是否进行 JSON 展开。
  • true:展开。
  • false(默认值):不展开。
ExpondConnecterString__JSON 展开的连接符。默认值为下划线(_)。
MaxExpondDepthInt00JSON 展开最大深度。默认值为 0,表示无限制。
NoAnchorErrorBooleanfalsefalse查找不到标定项时,系统是否报错。{#3f246206721du}
  • true:报错。
  • false(默认值):不报错。
NoKeyErrorBooleanfalsefalse原始日志中无您所指定的原始字段时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
KeepSourceBooleanfalsefalse解析后的日志中是否保留原始字段。
  • true:报错。
  • false(默认值):不报错。

CSV 模式

参数类型是否必填默认值示例说明
Typestring/processor_csv插件类型。固定为 processor_csv。
SourceKeyString/csv原始字段名。
SplitKeysString 数组/["date", "ip", "content"]为提取的内容指定字段名,例如["date", "ip", "content"]。 重要 待分割的字段数量小于 SplitKeys 参数中的字段数量时,SplitKeys 参数中多余的字段将被忽略。
PreserveOthersBooleanfalsefalse待分割的字段数量大于 SplitKeys 参数中的字段数量时,是否保留超出部分。
  • true:保留。
  • false(默认值):不保留。
ExpandOthersBooleanfalsefalse是否解析超出部分。
  • true:解析。您可以通过 ExpandOthers 参数解析超出部分,然后通过 ExpandKeyPrefix 参数指定超过部分字段的命名前缀。 *
  • false(默认值):不解析。 如果您设置 PreserveOthers 为 true 且设置 ExpandOthers 为 false,则超出部分的内容将被存储到_decode_preserve_字段中。
说明 如果多余的字段内容中存在不规范内容时,您需要根据 CSV 格式对其进行规范化处理后,再进行存储操作。
ExpandKeyPrefixString超出部分的字段命名前缀。例如配置为expand_,则字段名为 expand_1、expand_2。
TrimLeadingSpaceBooleanfalsefalse是否忽略字段值中的前置空格。
  • true:忽略。
  • false(默认值):不忽略。
SplitSepString,,分隔符。默认值为半角逗号(,)。
KeepSourceBooleanfalsefalse解析后的日志中是否保留原始字段。
  • true:保留。
  • false(默认值):不保留。
NoKeyErrorBooleanfalsefalse原始日志中无您指定的原始字段时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。

单字符分隔符模式

参数类型是否必填默认值示例说明
Typestring/processor_split_char插件类型。固定为 processor_split_char。
SourceKeyString原始字段名。
SplitSepString分隔符。必须为单字符,可设置为不可见字符,例如\u0001。
SplitKeysString 数组["ip", "time", "method"]为提取的内容指定字段名,例如["ip", "time", "method"]。
PreserveOthersBooleanfalsefalse待分割的字段数量大于 SplitKeys 参数中的字段数量时,是否保留超出部分。
  • true:保留。
  • false(默认值):不保留。
QuoteFlagBooleanfalsefalse是否使用引用符。
  • true:使用。
  • false(默认值):不使用。
QuoteString/\u0001引用符。必须为单字符,可以为不可见字符,例如\u0001。仅当 QuoteFlag 配置为 true 时有效。
NoKeyErrorBooleanfalsefalse原始日志中无您指定的原始字段时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
NoMatchErrorBooleanfalsefalse您所指定的分隔符与日志中的分隔符不匹配时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
KeepSourceBooleanfalsefalse被解析后的日志中是否保留原始字段。
  • true:保留。
  • false(默认值):不保留。

多字符分隔符模式

参数类型是否必填默认值示例说明
Typestring/processor_split_string插件类型。固定为 processor_split_string。
SourceKeyString原始字段名。
SplitSepString分隔符。必须为单字符,可设置为不可见字符,例如\u0001\u0002。
SplitKeysString 数组["key1","key2"]为提取的内容指定字段名,例如["key1","key2"]。说明 待分割的字段数量小于 SplitKeys 参数中的字段数量时,SplitKeys 参数中多余的字段将被忽略。
PreserveOthersBooleanfalsefalse待分割的字段数量大于 SplitKeys 参数中的字段数量时,是否保留超出部分。
  • true:保留。
  • false(默认值):不保留。
ExpandOthersBooleanfalsefalse是否使用引用符。
  • true:使用。
  • false(默认值):不使用。
ExpandKeyPrefixString/expand_超出部分的命名前缀。例如配置为 expand_,则字段名为 expand_1、expand_2。
NoKeyErrorBooleanfalsefalse原始日志中无您指定的原始字段时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
NoMatchErrorBooleanfalsefalse您所指定的分隔符与日志中的分隔符不匹配时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
KeepSourceBooleanfalsefalse被解析后的日志中是否保留原始字段。
  • true:保留。
  • false(默认值):不保留。

键值对模式

参数类型是否必填默认值示例说明
Typestring/processor_split_key_value插件类型。固定为 processor_split_key_value。
SourceKeystring原始字段名。
Delimiterstring\t\t键值对之间的分隔符,默认值为制表符\t
Separatorstring::单个键值对中键与值之间的分隔符,默认值为半角冒号(:)。
KeepSourceBooleanfalsefalse解析后的日志中是否保留原始字段。
  • true:保留。
  • false(默认值):不保留。
ErrIfSourceKeyNotFoundBooleantruefalse原始日志中无您所指定的原始字段时,系统是否报错。
  • true(默认值):报错。
  • false:不报错。
DiscardWhenSeparatorNotFoundBooleanfalsefalse无匹配的分隔符时是否丢弃该键值对。
  • true:丢弃。
  • false(默认值):不丢弃。
ErrIfSeparatorNotFoundBooleantruefalse当指定的分隔符不存在时,系统是否报错。
  • true(默认值):报错。
  • false:不报错。
ErrIfKeyIsEmptyBooleantruefalse当分隔后的键为空时,系统是否报错。
  • true(默认值):报错。
  • false:不报错。
QuoteString引用符,当设定后若值被引用符包含,就提取引用符内的值,支持多字符。默认不开启引用符功能。 重要 * 如果引用符为双引号(""),需要添加转义符,即添加反斜线(\)。当引用符内包含反斜线(\)与引用符连用时,该反斜线(\)将作为值的一部分输出。

Grok 模式

参数类型是否必填默认值示例说明
Typestring/processor_grok插件类型。固定为 processor_grok。
CustomPatternDirString 数组自定义的 Grok 模式文件所在的目录。processor_grok 插件会读取目录内的所有文件。 未添加该参数时,表示不导入自定义的 Grok 模式文件。 重要 更新自定义的 Grok 模式文件后,需重启 Logtail 才能生效。
CustomPatternsMap自定义的 GROK 模式,key 为规则名,value 为 Grok 表达式。 默认支持的表达式,请参见processor_grok。如果链接中无您需要的表达式,请在 Match 中输入自定义的 Grok 表达式。 未添加该参数时,表示不使用自定义的 GROK 模式。
SourceKeyStringcontentcontent原始字段名。默认值为 content 字段。
MatchString 数组Grok 表达式数组。processor_grok 插件会根据此处配置的表达式列表从上至下依次对日志进行匹配,并返回第一条匹配成功的提取结果。 说明 配置多条 Grok 表达式,可能影响性能。建议不超过 5 条。
TimeoutMilliSecondsLong0通过 Grok 表达式提取字段的最大尝试时间,单位:毫秒。 未添加该参数或设置为 0 时,表示不会超时。
IgnoreParseFailureBooleantruetrue是否忽略解析失败的日志。
  • true(默认值):忽略。
  • false:删除。
KeepSourceBooleantruetrue是否在解析成功后保留原始字段。
  • true(默认值):保留。
  • false:丢弃。
NoKeyErrorBooleanfalsetrue原始日志中无您所指定的原始字段时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
NoMatchErrorBooleantruetrueMatch 参数中设置的表达式全部与日志不匹配时,系统是否报错。
  • true(默认值):报错。
  • false:不报错。
TimeoutErrorBooleantruetrue匹配超时,系统是否报错。
  • true(默认值):报错。
  • false:不报错。

添加字段

参数类型是否必填默认值示例说明
Typestring/processor_add_fields插件类型。固定为 processor_add_fields。
FieldsMap待添加的字段名和字段值。键值对格式,支持添加多个。
IgnoreIfExistBooleanfalsefalse存在相同的字段名时,是否忽略重复的字段。
  • true:忽略。
  • false(默认值):不忽略。

丢弃字段

参数类型是否必填默认值示例说明
Typestring/processor_drop插件类型。固定为 processor_drop。
DropKeysString 数组指定待丢弃的字段,支持配置多个。

重命名字段

参数类型是否必填默认值示例说明
Typestring/processor_rename插件类型。固定为 processor_rename。
NoKeyErrorBooleanfalsefalse日志中无您所指定的原始字段时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
SourceKeysString 数组待重命名的原始字段。
DestKeysString 数组重命名后的字段。

打包字段

参数类型是否必填默认值示例说明
Typestring/processor_packjson插件类型。固定为 processor_packjson。
SourceKeysString 数组待打包的原始字段。
DestKeyString打包后的字段。
KeepSourceBooleantruetrue解析后的日志中是否保留原始字段。
  • true(默认值):保留。
  • false:丢弃。
AlarmIfIncompleteBooleantruetrue原始日志中无您所指定的原始字段时,系统是否报错。
  • true(默认值):保留。
  • false:丢弃。

展开 JSON 字段

参数类型是否必填默认值示例说明
Typestring/processor_json插件类型。固定为 processor_json。
SourceKeyString待展开的原始字段名。
NoKeyErrorBooleantruetrue原始日志中无您所指定的原始字段时,系统是否报错。
  • true(默认值):报错。
  • false:不报错。
ExpandDepthInt01JSON 展开的深度。默认值为 0,表示不限制。1 表示当前层级,以此类推。
ExpandConnectorString__JSON 展开时的连接符,默认值为下划线(_)。
PrefixStringJSON 展开时,对字段名附加的前缀。
KeepSourceBooleantruetrue被解析后的日志中是否保留原始字段。
  • true(默认值):保留。
  • false:丢弃。
UseSourceKeyAsPrefixBoolean是否将原始字段名作为所有 JSON 展开字段名的前缀。
KeepSourceIfParseErrorBooleantruetrue解析日志失败时,是否保留原始日志。
  • true(默认值):保留。
  • false:丢弃。
ExpandArrayBooleanfalsefalse是否展开数组类型。Logtail 1.8.0 及以上版本支持该参数。
  • false(默认值):不展开。
  • true:展开。例如{"k":["1","2"]}展开为{"k[0]":"1","k[1]":"2"}

过滤日志

参数类型是否必填默认值示例说明
Typestring/processor_filter_regex插件类型。固定为 processor_filter_regex。
IncludeJSON ObjectKey 为日志字段,Value 为该字段值匹配的正则表达式。键值对之间为与关系。如果日志字段的值符合对应的正则表达式,则采集该日志。
ExcludeJSON ObjectKey 为日志字段,Value 为该字段值匹配的正则表达式。键值对之间为或关系。如果日志中任意一个字段的值符合对应的正则表达式,则丢弃该日志。

提取日志时间

参数类型是否必填默认值示例说明
Typestring/processor_gotime插件类型。固定为 processor_gotime。
SourceKeyString原始字段名。
SourceFormatString原始时间的格式。
SourceLocationInt原始时间的时区。参数值为空时,表示 Logtail 所在主机或容器的时区。
DestKeyString解析后的目标字段。
DestFormatString解析后的时间格式。
DestLocationInt解析后的时区。参数值为空时,表示本机时区。
SetTimeBooleantruetrue是否将解析后的时间设置为日志时间。
  • true(默认值):是。
  • false:否。
KeepSourceBooleantruetrue被解析后的日志中是否保留原始字段。
  • true(默认值):保留。
  • false:不保留。
NoKeyErrorBooleantruetrue原始日志中无您所指定的原始字段时,系统是否报错。
  • true(默认值):报错。
  • false:不报错。
AlarmIfFailBooleantruetrue提取日志时间失败,系统是否报错。
  • true(默认值):报错。
  • false:不报错。

转换 IP 地址

参数类型是否必填默认值示例说明
Typestring/processor_geoip插件类型。固定为 processor_geoip。
SourceKeyString待进行 IP 地址转换的原始字段名。
DBPathString/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdbGeoIP 数据库的全路径。例如/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb。
NoKeyErrorBooleanfalsefalse原始日志中无您所指定的原始字段名时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。
NoMatchErrorBooleantruetrueIP 地址无效或在数据库中未匹配到该 IP 地址时,系统是否报错。
  • true(默认值):报错。
  • false:不报错。
KeepSourceBooleantruetrue解析后的日志中,是否保留原始字段。
  • true(默认值):保留。
  • false:不保留。
LanguageStringzh-CNzh-CN语言属性。默认值为 zh-CN。 重要 请确保您的 GeoIP 数据库中包含对应的语言。

数据脱敏

参数类型是否必填默认值示例说明
Typestring/processor_desensitize插件类型。固定为 processor_desensitize。
SourceKeyString日志字段名称。
MethodStringconst脱敏方式。可选值:
  • const :将敏感内容替换为字符串。您可以通过 ReplaceString 参数指定目标字符串。
  • md5 :将敏感内容替换为对应的 MD5 值。
MatchStringfullfull指定提取敏感内容的方式。可选值:
  • full(默认值) :全部提取,即替换目标字段值中的所有内容。
  • regex :使用正则表达式提取敏感内容。
ReplaceStringString用于替换敏感内容的字符串。 设置 Methodconst 时,必填。
RegexBeginString匹配敏感内容前缀的正则表达式。 设置 Matchregex 时,必填。
RegexContentString匹配敏感内容的正则表达式。设置 Matchregex 时,必填。

字段值映射处理

参数类型是否必填默认值示例说明
Typestring/processor_dict_map插件类型。固定为 processor_dict_map。
SourceKeyString原始字段名。
MapDictMap映射字典。映射字典较小时,可直接通过此参数完成设置。不需要提供本地的 CSV 字典文件。 重要 当您设置了 DictFilePath 参数后,MapDict 参数中的配置不生效。
DictFilePathStringCSV 格式的字典文件。该 CSV 文件的分隔符为半角逗号(,),字段引用表示为半角引号(")。
DestKeyString映射后的字段名。
HandleMissingBooleanfalsefalse当原始日志中缺失目标字段时,系统是否处理。
  • true:处理。 系统将按照 Missing 参数中的值进行填充。
  • false(默认值):不处理。
MissingStringUnknownUnknown处理原始日志中缺失的目标字段时,设置对应的填充值。默认值为Unknown。 当配置 HandleMissing 为 true 时,该参数配置生效。
MaxDictSizeInt10001000映射字典的最大大小。默认值为 1000,即最多可存储 1000 条映射规则。 如果要限制插件对服务器内存的占用,可调小该值。
ModeStringoverwriteoverwrite当映射后的字段在原始日志中已存在时的处理方式。
  • overwrite(默认值):覆写原字段。
  • fill:不覆写原字段。

字段加密

参数类型是否必填默认值示例说明
Typestring/processor_encrypt插件类型。固定为 processor_encrypt。
SourceKeyString 数组原始字段名。
EncryptionParametersObject密钥相关配置。
KeyString设置密钥,需为 64 个十六进制字符。
IVString00000000000000000000000000000000设置加密的初始向量,需为 32 个十六进制字符,默认值为00000000000000000000000000000000
KeyFilePathBoolean读取加密参数的文件路径。未配置时按照 Logtail 配置-输入配置-文件路径 读取。
KeepSourceValueIfErrorStringfalsefalse加密失败,系统是否保留原始字段的值。
  • true:保留。
  • false(默认值):不保留。
加密失败后,字段值将被替换为ENCRYPT_ERROR

字符串替换

参数类型是否必填默认值示例说明
Typestring/processor_string_replace插件类型。固定为 processor_string_replace。
SourceKeyString原始字段名。
MethodString指定匹配方式。可选值:
  • const:使用字符串替换。
  • regex:使用正则表达式替换。
  • unquote:去除转义符。
MatchString输入匹配内容。
  • 设置Methodconst时,输入与待替换内容匹配的字符串。 当多个字符串都匹配时,全部替换。
  • 设置Methodregex时,输入与待替换内容匹配的正则表达式。 当多个字符串都匹配时,全部替换。您也可以用正则分组方式匹配指定的分组。
  • 设置Methodunquote时,无需配置此参数。
ReplaceStringString用于替换的字符串,默认值为""。
  • 设置Methodconst时,输入用于替换原内容的字符串。
  • 设置Methodregex时,输入用于替换原内容的字符串,支持根据正则分组进行替换。
  • 设置Methodunquote时,无需配置此参数。
DestKeyString为替换后的内容指定新字段,默认不新增字段。

数据编码与解码

参数类型是否必填默认值示例说明
Typestring/processor_base64_encoding插件类型。固定为 processor_base64_encoding。
SourceKeyString原始字段名。
NewKeyString编码后的结果字段名。
NoKeyErrorBooleanfalsefalse原始日志中无您所指定的原始字段时,系统是否报错。
  • true:报错。
  • false(默认值):不报错。

Log 转为 Metric

参数类型是否必填默认值示例说明
Typestring/processor_log_to_sls_metric插件类型。固定为 processor_log_to_sls_metric。
MetricTimeKeyString指定日志中的时间字段,该字段将与时序数据中的__time_nano__ 字段映射。默认提取日志中__time__字段的值。 确保指定的字段是合法的、符合格式的时间戳。目前支持以 second(10 位长度)、millisecond(13 位长度)、microsecond(16 位长度)、nanosecond(19 位长度)为单位的 Unix 时间戳。
MetricLabelKeys[]String指定__labels__字段的 Key 列表,Key 需遵循正则表达式 ^[a-zA-Z_][a-zA-Z0-9_]*$。Value 不能包含竖线(|)和 #$#。更多信息,请参见时序数据(Metric)。 不支持在 MetricLabelKeys 参数中添加__labels__字段。如果原始字段中存在 __labels__ 字段,该值将被追加到新的__labels__字段中。
MetricValuesMap用于指定 Metric 名称和 Metric 值。 Metric 名称对应__name__字段,需遵循正则表达式^[a-zA-Z_:][a-zA-Z0-9_:]*$。 Metric 值对应__value__字段,需为 Double 类型。 更多信息,请参见时序数据(Metric)
CustomMetricLabelsMap自定义的__labels__字段, Key 需遵循正则表达式 ^[a-zA-Z_][a-zA-Z0-9_]*$,Value 不能包含竖线(|)和 #$#。更多信息,请参见时序数据(Metric)
IgnoreErrorBoolean当没有匹配日志时是否输出 Error 日志。默认值为 false,表示不输出。

Log 转为 Trace

参数类型是否必填默认值示例说明
Typestring/processor_otel_trace插件类型。固定为 processor_otel_trace。
SourceKeyString原始字段名。
FormatStringjson转换后的格式,可选值:protobuf、json、protojson。
NoKeyErrorBooleanfalsetrue当日志中没有对应的原始字段时,是否报错。默认值为 false。
TraceIDNeedDecodeBoolean是否对 TraceID 进行 Base64 解码,默认值为 false。 设置 Format 为 protojson 时,如果 TraceID 已进行过 Base64 编码,则需要设置 TraceIDNeedDecode 为 true,否则将导致转换失败。
SpanIDNeedDecodeBoolean是否对 SpanID 进行 Base64 解码。默认值为 false。设置 Format 为 protojson 时,如果 SpanID 已进行过 Base64 编码,则需要设置 SpanIDNeedDecode 为 true,否则将导致转换失败。
ParentSpanIDNeedDecodeBoolean是否对 ParentSpanID 进行 Base64 解码。默认值为 false。 设置 Format 为 protojson 时,如果 ParentSpanID 已进行过 Base64 编码,则需要设置 ParentSpanIDNeedDecode 为 true,否则将导致转换失败。

输出插件

SLS 输出插件

参数类型是否必填默认值示例说明
Typestring/flusher_sls插件类型。固定为 flusher_sls。
Logstorestirng/test-logstoreLogStrore 名称。

返回参数

变更历史
暂无变更历史