赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 开发参考
  5. API参考
  6. API目录
  7. 采集配置
  8. CreateLogtailPipelineConfig - 创建Logtail流水线配置

CreateLogtailPipelineConfig - 创建Logtail流水线配置

  • 采集配置
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

创建Logtail流水线配置。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用前面加 * 表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
log:CreateLogtailPipelineConfigcreate
*全部资源
*
  • log:TLSVersion
无

请求语法

POST /pipelineconfigs HTTP/1.1

请求参数

名称类型必填描述示例值
projectstring是

Project 名称。

test-project
bodyobject否

Logtail 流水线配置内容。

configNamestring是

配置名称。

说明 配置名称在所属 Project 内唯一,且创建成功后无法修改。命名规则如下:
  • 只能包括小写字母、数字、-和_。
  • 必须以小写字母或数字开头和结尾。
  • 长度必须在 2~128 字符之间。
  • test-config
    logSamplestring否

    日志样例。支持多条日志。

    2022-06-14 11:13:29.796 | DEBUG | __main__:<module>:1 - hello world
    globalobject否

    全局配置。

    inputsarray<object>是

    输入插件列表。

    注意 目前,只允许配置 1 个输入插件。

    object否

    输入插件。

    说明 文件输入插件参数请参见文件插件,其余输入插件参数请参见处理插件。
    { "Type": "input_file", "FilePaths": ["/var/log/*.log"] }
    processorsarray<object>否

    处理插件列表。

    说明 可分为原生处理插件和扩展处理插件,详情请参见处理插件。
    注意
    • 原生插件仅可用于采集文本日志。
    • 不支持同时添加原生插件和扩展插件。
    • 使用原生插件时,须符合如下要求:
      • 第一个处理插件必须为正则解析插件、分隔符模式解析插件、JSON 解析插件、NGINX 模式解析插件、Apache 模式解析插件或 IIS 模式解析插件。
      • 第一个处理插件之后仅允许存在 1 个时间解析处理插件,1 个过滤插件和多个脱敏插件。
    object否

    处理插件。

    说明 原生处理插件和扩展处理插件,详情请参见处理插件。
    { "Type": "processor_parse_json_native", "SourceKey": "content" }
    aggregatorsarray<object>否

    聚合插件列表。

    注意 仅当使用了扩展处理插件时有效,且最多允许使用 1 个聚合插件。

    object否

    聚合插件。

    flushersarray<object>是

    输出插件列表。

    注意 目前,只允许存在 1 个 flusher_sls 插件。

    object否

    输出插件。

    { "Type": "flusher_sls", "Logstore": "test" }

    全局配置

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

    输入插件

    文件输入插件

    参数类型是否必填默认值示例说明
    Typestring是/input_file插件类型。固定为 input_file。
    FilePaths[string]是/["/var/log/*.log"]待采集的日志文件路径列表(目前仅限 1 个路径)。路径中支持使用*和**通配符,其中**通配符仅能出现一次且仅限用于文件名前。
    MaxDirSearchDepthuint否00文件路径中**通配符匹配的最大目录深度。仅当日志路径中存在**通配符时有效,取值范围为 0~1000。
    ExcludeFilePaths[string]否空["/home/admin/*.log"]文件路径黑名单。路径必须为绝对路径,支持使用*通配符
    ExcludeFiles[string]否空["app*.log", "password"]文件名黑名单。支持使用*通配符
    ExcludeDirs[string]否空["/home/admin/dir1", "/home/admin/dir2*"]目录黑名单。路径必须为绝对路径,支持使用*通配符
    FileEncodingstring否utf8utf8文件编码格式。可选值包括 utf8 和 gbk。
    TailSizeKBuint否10241024配置首次生效时,匹配文件的起始采集位置距离文件结尾的大小。如果文件大小小于该值,则从头开始采集,取值范围为 0~10485760KB。
    Multilineobject否空/多行聚合选项。
    Multiline.Modestring否customcustom多行聚合模式。可选值包括 custom 和 JSON。
    Multiline.StartPatternstring当 Multiline.Mode 取值为 custom 时必填空\d+-\d+-\d+.*行首正则表达式。
    EnableContainerDiscoverybool否falsetrue是否启用容器发现功能。仅当 Logtail 以 Daemonset 模式运行,且采集文件路径为容器内路径时有效。
    ContainerFiltersobject否空/容器过滤选项。多个选项之间为“且”的关系,仅当 EnableContainerDiscovery 取值为 true 时有效。
    ContainerFilters.K8sNamespaceRegexstring否空default对于部署于 K8s 环境的容器,指定待采集容器所在 Pod 所属的命名空间条件。如果未添加该参数,则表示采集所有容器。支持正则匹配。
    ContainerFilters.K8sPodRegexstring否空test-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.K8sContainerRegexstring否空test-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: 。
    CollectingContainersMetabool否falsetrue是否启用容器元信息预览。
    AppendingLogPositionMetabool否falsefalse是否在日志中添加该条日志所属文件的元信息,包括__tag__:__inode__字段和__file_offset__字段。
    AllowingIncludedByMultiConfigsbool否falsefalse是否允许当前配置采集其它配置已匹配的文件。

    容器标准输出(旧版)

    参数类型是否必填默认值示例说明
    Typestring是/service_docker_stdout插件类型。固定为 service_docker_stdout。
    StdoutBoolean否truetrue是否采集标准输出 stdout。
    StderrBoolean否truetrue是否采集标准出错信息 stderr。
    StartLogMaxOffsetInteger否128×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。
    Addressstring否127.0.0.1:3306rm-*.mysql.rds.aliyuncs.comMySQL 地址。
    Userstring否rootroot用于登录 MySQL 数据库的用户名称。
    Passwordstring否空用于登录 MySQL 数据库的用户密码。如果安全需求较高,建议将用户名称和密码配置为 xxx,待采集配置同步至本地机器后,在本地文件/usr/local/ilogtail/user_log_config.json中找到对应配置进行修改。具体操作,请参见修改本地配置。
    注意 如果您在控制台上修改了此参数,同步至本地后会覆盖本地的配置。
    DataBasestring否/project_database数据库名称。
    DialTimeOutMsint否50005000连接 MySQL 数据库超时时间,单位:ms。
    ReadTimeOutMsint否50005000读取 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。
    Limitbool否falsetrue是否使用 Limit 分页。
    • true:使用。
    • false(默认值):不使用。
    建议使用 Limit 进行分页。设置 Limit 为 true 后,进行 SQL 查询时,系统将自动在 SELECT 语句中追加 LIMIT 语句。
    PageSizeint否/10分页大小,Limit 为 true 时必须配置。
    MaxSyncSizeint否00每次同步最大记录数。默认值为 0,表示无限制。
    CheckPointbool否falsetrue是否使用 CheckPoint。
    • true:使用。
    • false(默认值):不使用。
    CheckPoint 可作为下次采集数据的起点,实现数据增量采集。
    CheckPointColumnstring否空1CheckPoint 列名称。设置 CheckPoint 为 true 时,需要配置。 警告 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。
    CheckPointColumnTypestring否空intCheckPoint 列的数据类型,支持 int 和 time。int 类型的内部存储为 int64,time 类型支持 MySQL 的 date、datetime、time 类型。设置 CheckPoint 为 true 时,需要配置。
    CheckPointStartstring否空CheckPoint 列的初始值。设置 CheckPoint 为 true 时,需要配置。
    CheckPointSavePerPagebool否truetrue是否每次分页时保存一次 CheckPoint。
    • true(默认值):每次分页时保存一次 CheckPoint。
    • false:每次同步完成后保存一次 CheckPoint。
    IntervalMsint否6000060000同步间隔,默认值为 60000,单位:ms。

    HTTP 输入插件

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

    Syslog 输入插件

    参数类型是否必填默认值示例说明
    Typestring是/service_syslog插件类型,固定为 service_syslog。
    Addressstring否tcp://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 地址。
    ParseProtocolstring否空rfc3164指定解析日志所使用的协议,默认为空,表示不解析。其中:
    • 空:不解析。
    • rfc3164:指定使用 RFC3164 协议解析日志。
    • rfc5424:指定使用 RFC5424 协议解析日志。
    • auto:指定 Logtail 根据日志内容自动选择合适的解析协议。
    IgnoreParseFailurebool否truetrue指定解析失败后的操作,不配置时,默认为true,表示放弃解析,直接填充所返回的 content 字段。配置为false ,表示解析失败时丢弃日志。

    Systemd Journal 输入插件

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

    SQL Server 输入插件

    参数类型是否必填默认值示例说明
    Typestring是/service_mssql插件类型。固定为 service_mssql。
    Addressstring否127.0.0.1:1433rm-*.sqlserver.rds.aliyuncs.comSQL Server 地址。
    Userstring否rootroot用于登录 SQL Server 数据库的账号名称。
    Passwordstring否空用于登录 SQL Server 数据库的账号密码。如果安全需求较高,建议将用户名称和密码配置为 xxx,待采集配置同步至本地机器后,在本地文件/usr/local/ilogtail/user_log_config.json中找到对应配置进行修改。具体操作,请参见修改本地配置。
    注意 如果您在控制台上修改了此参数,同步至本地后会覆盖本地的配置。
    DataBasestring否/project_database数据库名称。
    DialTimeOutMsint否50005000连接 SQL Server 数据库的超时时间,单位:ms。
    ReadTimeOutMsint否50005000读取 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。
    Limitbool否falsetrue是否使用 Limit 分页。
    • true:使用。
    • false(默认值):不使用。
    建议使用 Limit 进行分页。设置 Limit 为 true 后,进行 SQL 查询时,系统将自动在 SELECT 语句中追加 LIMIT 语句。
    PageSizeint否/10分页大小,Limit 为 true 时必须配置。
    MaxSyncSizeint否00每次同步最大记录数。默认值为 0,表示无限制。
    CheckPointbool否falsetrue是否使用 CheckPoint。
    • true:使用。
    • false(默认值):不使用。
    CheckPoint 可作为下次采集数据的起点,实现数据增量采集。
    CheckPointColumnstring否空1CheckPoint 列名称。CheckPoint 为 true 时必须配置。 警告 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。
    CheckPointColumnTypestring否空intCheckPoint 列的数据类型,支持 int 和 time。int 类型的内部存储为 int64,time 类型支持 SQL Server 的 date、datetime、time 类型。设置 CheckPoint 为 true 时,需要配置。
    CheckPointStartstring否空CheckPoint 列的初始值。设置 CheckPoint 为 true 时,需要配置。
    CheckPointSavePerPagebool否truetrue是否每次分页时保存一次 CheckPoint。
    • true(默认值):每次分页时保存一次 CheckPoint。
    • false:每次同步完成后保存一次 CheckPoint。
    IntervalMsint否6000060000同步间隔,默认值为 60000,单位:ms。

    PostgreSQL 输入插件

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

    SNMP 协议输入插件

    参数类型是否必填默认值示例说明
    Targets[string]是/127.0.0.1目标机器组的 IP 地址。
    Portstring否161161SNMP 协议使用的端口。
    Communitystring否publicpublic团体名称,SNMPv1 和 SNMPv2 使用团体名进行认证。
    UserNamestring否空root用户名,SNMPv3 支持使用用户名进行认证。
    AuthenticationProtocolstring否NoAuthNoAuth验证协议,SNMPv3 支持使用验证协议进行认证。
    AuthenticationPassphrasestring否空验证密码,默认值为空。设置AuthenticationProtocol为MD5或SHA时,需要设置AuthenticationPassphrase。
    PrivacyProtocolstring否NoPrivNoPriv隐私协议,SNMPv3 支持使用隐私协议进行认证。
    PrivacyPassphrasestring否空隐私协议密码,默认与验证密码一致。 当设置PrivacyProtocol为DES或AES时,必须设置PrivacyPassphrase。
    Timeoutint否55一次查询操作的超时时间,单位为秒。
    Versionint否22SNMP 协议版本。 可选值为1、2、3。
    Transportstring否udpudpSNMP 通讯方法,可选值为udp、tcp。
    MaxRepetitionsint否00查询超时后的重试次数。
    Oids[string]否空1在目标机器中查询的对象标识符。
    Fields[string]否空int在目标机器中查询的字段,本插件会先对字段进行翻译,即查找本地管理信息库,将其翻译为对象标识符并一起查询。
    Tables[string]否空在目标机器中查询的表,本插件会先查询表内所有的字段,然后查找本地管理信息库,将其翻译为对象标识符并一起查询。

    脚本输出采集插件

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

    原生处理插件

    正则解析原生处理插件

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

    JSON 解析原生处理插件

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

    分隔符解析原生处理插件

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

    飞天解析原生处理插件

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

    时间解析原生处理插件

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

    过滤原生处理插件

    参数类型是否必填示例默认值说明
    Typestring是processor_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是/[^']*敏感内容的正则表达式。
    ReplacingAllbool否truetrue是否替换所有的匹配的敏感内容。

    扩展处理插件

    提取字段

    正则模式

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

    标定模式

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

    CSV 模式

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

    单字符分隔符模式

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

    多字符分隔符模式

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

    键值对模式

    参数类型是否必填默认值示例说明
    Typestring是/processor_split_key_value插件类型。固定为 processor_split_key_value。
    SourceKeystring是原始字段名。
    Delimiterstring否\t\t键值对之间的分隔符,默认值为制表符\t。
    Separatorstring否::单个键值对中键与值之间的分隔符,默认值为半角冒号(:)。
    KeepSourceBoolean否falsefalse解析后的日志中是否保留原始字段。
    • true:保留。
    • false(默认值):不保留。
    ErrIfSourceKeyNotFoundBoolean否truefalse原始日志中无您所指定的原始字段时,系统是否报错。
    • true(默认值):报错。
    • false:不报错。
    DiscardWhenSeparatorNotFoundBoolean否falsefalse无匹配的分隔符时是否丢弃该键值对。
    • true:丢弃。
    • false(默认值):不丢弃。
    ErrIfSeparatorNotFoundBoolean否truefalse当指定的分隔符不存在时,系统是否报错。
    • true(默认值):报错。
    • false:不报错。
    ErrIfKeyIsEmptyBoolean否truefalse当分隔后的键为空时,系统是否报错。
    • 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 模式。
    SourceKeyString否contentcontent原始字段名。默认值为 content 字段。
    MatchString 数组是Grok 表达式数组。processor_grok 插件会根据此处配置的表达式列表从上至下依次对日志进行匹配,并返回第一条匹配成功的提取结果。 说明 配置多条 Grok 表达式,可能影响性能。建议不超过 5 条。
    TimeoutMilliSecondsLong否0通过 Grok 表达式提取字段的最大尝试时间,单位:毫秒。 未添加该参数或设置为 0 时,表示不会超时。
    IgnoreParseFailureBoolean否truetrue是否忽略解析失败的日志。
    • true(默认值):忽略。
    • false:删除。
    KeepSourceBoolean否truetrue是否在解析成功后保留原始字段。
    • true(默认值):保留。
    • false:丢弃。
    NoKeyErrorBoolean否falsetrue原始日志中无您所指定的原始字段时,系统是否报错。
    • true:报错。
    • false(默认值):不报错。
    NoMatchErrorBoolean否truetrueMatch 参数中设置的表达式全部与日志不匹配时,系统是否报错。
    • true(默认值):报错。
    • false:不报错。
    TimeoutErrorBoolean否truetrue匹配超时,系统是否报错。
    • true(默认值):报错。
    • false:不报错。

    添加字段

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

    丢弃字段

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

    重命名字段

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

    打包字段

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

    展开 JSON 字段

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

    过滤日志

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

    提取日志时间

    参数类型是否必填默认值示例说明
    Typestring是/processor_gotime插件类型。固定为 processor_gotime。
    SourceKeyString是原始字段名。
    SourceFormatString是原始时间的格式。
    SourceLocationInt是原始时间的时区。参数值为空时,表示 Logtail 所在主机或容器的时区。
    DestKeyString是解析后的目标字段。
    DestFormatString是解析后的时间格式。
    DestLocationInt否解析后的时区。参数值为空时,表示本机时区。
    SetTimeBoolean否truetrue是否将解析后的时间设置为日志时间。
    • true(默认值):是。
    • false:否。
    KeepSourceBoolean否truetrue被解析后的日志中是否保留原始字段。
    • true(默认值):保留。
    • false:不保留。
    NoKeyErrorBoolean否truetrue原始日志中无您所指定的原始字段时,系统是否报错。
    • true(默认值):报错。
    • false:不报错。
    AlarmIfFailBoolean否truetrue提取日志时间失败,系统是否报错。
    • 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。
    NoKeyErrorBoolean否falsefalse原始日志中无您所指定的原始字段名时,系统是否报错。
    • true:报错。
    • false(默认值):不报错。
    NoMatchErrorBoolean否truetrueIP 地址无效或在数据库中未匹配到该 IP 地址时,系统是否报错。
    • true(默认值):报错。
    • false:不报错。
    KeepSourceBoolean否truetrue解析后的日志中,是否保留原始字段。
    • true(默认值):保留。
    • false:不保留。
    LanguageString否zh-CNzh-CN语言属性。默认值为 zh-CN。 重要 请确保您的 GeoIP 数据库中包含对应的语言。

    数据脱敏

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

    字段值映射处理

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

    字段加密

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

    字符串替换

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

    数据编码与解码

    参数类型是否必填默认值示例说明
    Typestring是/processor_base64_encoding插件类型。固定为 processor_base64_encoding。
    SourceKeyString是原始字段名。
    NewKeyString是编码后的结果字段名。
    NoKeyErrorBoolean否falsefalse原始日志中无您所指定的原始字段时,系统是否报错。
    • 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是原始字段名。
    FormatString是json转换后的格式,可选值:protobuf、json、protojson。
    NoKeyErrorBoolean否falsetrue当日志中没有对应的原始字段时,是否报错。默认值为 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 名称。

    返回参数

    名称类型描述示例值
    headersobject
    Serverstring

    服务器名称。

    nginx
    Content-Typestring

    返回的响应体的内容格式。

    application/json
    Content-Lengthstring

    响应内容长度。

    0
    Connectionstring

    是否长链接。取值包括: close:不是长链接,则每个 HTTP 请求都会重新建立 TCP 连接。 keep-alive:长链接,TCP 连接建立后保持连接状态,节省连接所需时间和带宽。

    close
    Datestring

    返回响应的时间。

    Sun, 27 May 2018 08:25:04 GMT
    x-log-requestidstring

    服务端产生的标识,该请求的唯一 ID。

    5B0A6B60BB6EE39764D458B5

    示例

    正常返回示例

    JSON格式

    {}

    错误码

    访问错误中心查看更多错误码。

    相关文章

    CreateConfig - 创建Logtail采集配置 2025-04-22 10:40

    创建Logtail采集配置。

    CreateLogtailPipelineConfig - 创建Logtail流水线配置 2025-04-22 10:40

    创建Logtail流水线配置。

    DeleteConfig - 删除Logtail配置 2025-04-22 10:40

    删除指定的Logtail配置。

    DeleteLogtailPipelineConfig - 删除Logtail流水线配置 2025-04-22 10:40

    删除Logtail流水线配置。

    UpdateConfig - 更新Logtail采集配置 2025-04-22 10:40

    修改指定的 Logtail 采集配置。

    UpdateLogtailPipelineConfig - 更新Logtail流水线配置 2025-04-22 10:40

    更新Logtail流水线配置。

    目录
    Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
    京ICP备14022346号-15
    gongan beian 京公网安备11010802041014号