更新Logtail流水线配置。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
log:UpdateLogtailPipelineConfig | update | *全部资源 * |
| 无 |
请求语法
PUT /pipelineconfigs/{configName} HTTP/1.1
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
project | string | 是 | Project 名称。 | test-project |
configName | string | 是 | Logtail 流水线配置名称。 | test-config |
body | object | 否 | Logtail 流水线配置内容。 | |
configName | string | 是 | 配置名称。 注意 需要与外层的 configName 参数保持一致。 | 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 个 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 | 是 | / | service_docker_stdout | 插件类型。固定为 service_docker_stdout。 |
Stdout | Boolean | 否 | true | true | 是否采集标准输出 stdout。 |
Stderr | Boolean | 否 | true | true | 是否采集标准出错信息 stderr。 |
StartLogMaxOffset | Integer | 否 | 128×1024 | 131072 | 首次采集时回溯历史数据长度,单位:字节。建议取值在[131072,1048576]之间。 |
IncludeLabel | Map,其中 LabelKey 和 LabelValue 为 String 类型 | 否 | 空 | 容器 Label 白名单,用于指定待采集的容器。默认为空,表示采集所有容器的标准输出。如果您要设置容器 Label 白名单,那么 LabelKey 必填,LabelValue 可选填。
多个白名单之间为或关系,即只要容器 Label 满足任一白名单即可匹配。 | |
ExcludeLabel | Map,其中 LabelKey 和 LabelValue 为 String 类型 | 否 | 空 | 容器 Label 黑名单,用于排除不采集的容器。默认为空,表示不排除任何容器。如果您要设置容器 Label 黑名单,那么 LabelKey 必填,LabelValue 可选填。
多个黑名单之间为或关系,即只要容器 Label 满足任一黑名单对即可被排除。 | |
IncludeEnv | Map,其中 EnvKey 和 EnvValue 为 String 类型 | 否 | 空 | 设环境变量白名单,用于指定待采集的容器。默认为空,表示采集所有容器的标准输出。如果您要设置环境变量白名单,那么 EnvKey 必填,EnvValue 可选填。
| |
ExcludeEnv | Map,其中 EnvKey 和 EnvValue 为 String 类型 | 否 | 空 | 环境变量黑名单,用于排除不采集的容器。默认为空,表示不排除任何容器。如果您要设置环境变量黑名单,那么 EnvKey 必填,EnvValue 可选填。
多个黑名单之间为或关系,即只要容器的环境变量满足任一键值对即可被排除。 | |
IncludeK8sLabel | Map,其中 LabelKey 和 LabelValue 为 String 类型 | 否 | 空 | 通过 Kubernetes Label(定义在 template.metadata 中)白名单指定待采集的容器。如果您要设置 Kubernetes Label 白名单,那么 LabelKey 必填,LabelValue 可选填。
多个白名单之间为或关系,即只要 Kubernetes Label 满足任一白名单即可匹配。 | |
ExcludeK8sLabel | Map,其中 LabelKey 和 LabelValue 为 String 类型 | 否 | 空 | 通过 Kubernetes Label(定义在 template.metadata 中)黑名单排除不采集的容器。如果您要设置 Kubernetes Label 黑名单,那么 LabelKey 必填,LabelValue 可选填。
多个黑名单之间为或关系,即只要 Kubernetes Label 满足任一黑名单对即可被排除。 | |
K8sNamespaceRegex | String | 否 | 空 | ^(default|nginx)$ | 通过 Namespace 名称指定采集的容器,支持正则匹配。例如设置为^(default|nginx)$ ,表示匹配 nginx 命名空间、default 命名空间下的所有容器。 |
K8sPodRegex | String | 否 | 空 | ^(nginx-log-demo.*)$ | 通过 Pod 名称指定待采集的容器,支持正则匹配。例如设置为^(nginx-log-demo.*)$ ,表示匹配以 nginx-log-demo 开头的 Pod 下的所有容器。 |
K8sContainerRegex | String | 否 | 空 | ^(container-test)$ | 通过容器名称指定待采集的容器(Kubernetes 容器名称是定义在 spec.containers 中),支持正则匹配。例如设置为^(container-test)$ ,表示匹配所有名为 container-test 的容器。 |
数据处理参数
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
BeginLineRegex | String | 否 | 空 | 行首匹配的正则表达式。 该配置项为空,表示单行模式。 如果该表达式匹配某行的开头,则将该行作为一条新的日志,否则将此行拼接到上一条日志。 | |
BeginLineCheckLength | Integer | 否 | 空 | 行首匹配的长度,单位:字节。 默认取值为 10×1024 字节。 如果行首匹配的正则表达式在前 N 个字节即可体现,推荐设置此参数,提升行首匹配效率。 | |
BeginLineTimeoutMs | Integer | 否 | 空 | 行首匹配的超时时间,单位:毫秒。 默认取值为 3000 毫秒。 如果 3000 毫秒内没有出现新日志,则结束匹配,将最后一条日志上传到日志服务。 | |
MaxLogSize | Integer | 否 | 空 | 日志最大长度,默认取值为 0,单位:字节。 默认取值为 512×1024 字节。 如果日志长度超过该值,则不再继续查找行首,直接上传。 | |
ExternalK8sLabelTag | Map,其中 LabelKey 和 LabelValue 为 String 类型 | 否 | 空 | 设置 Kubernetes Label(定义在 template.metadata 中)日志标签后,iLogtail 将在日志中新增 Kubernetes Label 相关字段。 例如设置 LabelKey 为 app,LabelValue 为 | |
ExternalEnvTag | Map,其中 EnvKey 和 EnvValue 为 String 类型 | 否 | 空 | 设置容器环境变量日志标签后,iLogtail 将在日志中新增容器环境变量相关字段。 例如设置 EnvKey 为 |
数据处理环境变量
环境变量 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
ALIYUN_LOG_ENV_TAGS | String | 否 | 空 | 设置全局环境变量日志标签后,iLogtail 将在日志中新增 iLogtail 所在容器环境变量相关字段。多个环境变量名以 例如设置为 node_name|node_ip,当 iLogtail 容器中暴露相关环境变量时,会将该信息以 tag 形式添加到日志中,即添加字段 node_ip:172.16.0.1 和 node_name:worknode。 |
MySQL 输入插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | service_mysql | 插件类型。固定为 service_mysql。 |
Address | string | 否 | 127.0.0.1:3306 | rm-*.mysql.rds.aliyuncs.com | MySQL 地址。 |
User | string | 否 | root | root | 用于登录 MySQL 数据库的用户名称。 |
Password | string | 否 | 空 | 用于登录 MySQL 数据库的用户密码。如果安全需求较高,建议将用户名称和密码配置为 xxx,待采集配置同步至本地机器后,在本地文件/usr/local/ilogtail/user_log_config.json 中找到对应配置进行修改。具体操作,请参见修改本地配置。注意 如果您在控制台上修改了此参数,同步至本地后会覆盖本地的配置。 | |
DataBase | string | 否 | / | project_database | 数据库名称。 |
DialTimeOutMs | int | 否 | 5000 | 5000 | 连接 MySQL 数据库超时时间,单位:ms。 |
ReadTimeOutMs | int | 否 | 5000 | 5000 | 读取 MySQL 查询结果的超时时间,单位:ms。 |
StateMent | string | 否 | / | SELECT 语句。设置 CheckPoint 为 true 时,Statement 中 SELECT 语句的 where 条件中必须包含 CheckPoint 列(CheckPointColumn)。支持使用半角问号(?)表示替换符,与 CheckPoint 列配合使用。 例如设置 CheckPointColumn 为 id,设置 CheckPointStart 为 0,设置 StateMent 为SELECT * from ... where id > ? 。则每次采集后,系统会保存最后一条数据的 ID 作为 Checkpoint,下次采集时查询语句中的半角问号(?)将被替换为该 Checkpoint 对应的 ID。 | |
Limit | bool | 否 | false | true | 是否使用 Limit 分页。
|
PageSize | int | 否 | / | 10 | 分页大小,Limit 为 true 时必须配置。 |
MaxSyncSize | int | 否 | 0 | 0 | 每次同步最大记录数。默认值为 0,表示无限制。 |
CheckPoint | bool | 否 | false | true | 是否使用 CheckPoint。
|
CheckPointColumn | string | 否 | 空 | 1 | CheckPoint 列名称。设置 CheckPoint 为 true 时,需要配置。 警告 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。 |
CheckPointColumnType | string | 否 | 空 | int | CheckPoint 列的数据类型,支持 int 和 time。int 类型的内部存储为 int64,time 类型支持 MySQL 的 date、datetime、time 类型。设置 CheckPoint 为 true 时,需要配置。 |
CheckPointStart | string | 否 | 空 | CheckPoint 列的初始值。设置 CheckPoint 为 true 时,需要配置。 | |
CheckPointSavePerPage | bool | 否 | true | true | 是否每次分页时保存一次 CheckPoint。
|
IntervalMs | int | 否 | 60000 | 60000 | 同步间隔,默认值为 60000,单位:ms。 |
HTTP 输入插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | metric_http | 插件类型。固定为 metric_http。 |
Address | string | 是 | / | URL 列表。 重要 必须以http 或https 开头。 | |
IntervalMs | int | 是 | / | 10 | 每次请求的间隔,单位:ms。 |
Method | string | 否 | GET | GET | 请求的方法名,必须大写。 |
Body | string | 否 | 空 | HTTP Body 字段内容。 | |
Headers | map | 否 | 空 | {"key":"value"} | HTTP Header 的内容,例如{"key":"value"} ,请根据实际值替换。 |
PerAddressSleepMs | int | 否 | 100 | 100 | Addresses 列表中,每个 URL 请求的间隔时间,单位:ms。 |
ResponseTimeoutMs | int | 否 | 5000 | 5000 | 请求超时的时间,单位:ms。 |
IncludeBody | bool | 否 | false | true | 是否采集请求的 Body,默认值:false。如果为 true,则将请求 Body 内容存放在名为 content 的 key 中。 |
FollowRedirects | bool | 否 | false | false | 是否自动处理重定向。 |
InsecureSkipVerify | bool | 否 | false | false | 是否跳过 HTTPS 安全检查。 |
ResponseStringMatch | string | 否 | / | 对返回的 Body 内容进行正则表达式检查,检查结果被存放在名为_response_match_的 key 中,如果匹配,value 为 yes;如果不匹配,value 为 no。 |
Syslog 输入插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | service_syslog | 插件类型,固定为 service_syslog。 |
Address | string | 否 | tcp://127.0.0.1:9999 | 指定 Logtail 监听的协议、地址和端口,Logtail 会根据 Logtail 配置进行监听并获取日志数据。格式为[tcp/udp]://[ ip ]:[ port ] 。不配置时,默认为tcp://127.0.0.1:9999 ,即表示(只能接收本地转发的日志。 说明
| |
ParseProtocol | string | 否 | 空 | rfc3164 | 指定解析日志所使用的协议,默认为空,表示不解析。其中:
|
IgnoreParseFailure | bool | 否 | true | true | 指定解析失败后的操作,不配置时,默认为true ,表示放弃解析,直接填充所返回的 content 字段。配置为false ,表示解析失败时丢弃日志。 |
Systemd Journal 输入插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | service_journal | 插件类型,固定为 service_journal。 |
JournalPaths | [string] | 是 | 空 | /var/log/journal | Journal 日志路径,建议配置为 Journal 日志所在目录。 |
SeekPosition | string | 否 | tail | tail | 首次采集方式,可以配置为 head 或 tail。
|
Kernel | bool | 否 | true | true | 是否采集内核日志。 |
Units | [string] | 否 | 空 | "" | 指定采集的 Unit 列表,默认为空,表示全部采集。 |
ParseSyslogFacility | bool | 否 | false | false | 是否解析 syslog 日志的 facility 字段。不配置时,表示不解析。 |
ParsePriority | bool | 否 | false | false | 是否解析 Priority 字段。不配置时,表示不解析。 设置为 true 时,Priority 字段的映射关系如下所示。 plaintext "0": "emergency" "1": "alert" "2": "critical" "3": "error" "4": "warning" "5": "notice" "6": "informational" "7": "debug" |
UseJournalEventTime | bool | 否 | false | false | 是否使用 Journal 日志中的字段作为日志时间。不配置时,表示使用采集时间作为日志时间。实时日志采集一般相差 3 秒以内。 |
SQL Server 输入插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | service_mssql | 插件类型。固定为 service_mssql。 |
Address | string | 否 | 127.0.0.1:1433 | rm-*.sqlserver.rds.aliyuncs.com | SQL Server 地址。 |
User | string | 否 | root | root | 用于登录 SQL Server 数据库的账号名称。 |
Password | string | 否 | 空 | 用于登录 SQL Server 数据库的账号密码。如果安全需求较高,建议将用户名称和密码配置为 xxx,待采集配置同步至本地机器后,在本地文件/usr/local/ilogtail/user_log_config.json 中找到对应配置进行修改。具体操作,请参见修改本地配置。注意 如果您在控制台上修改了此参数,同步至本地后会覆盖本地的配置。 | |
DataBase | string | 否 | / | project_database | 数据库名称。 |
DialTimeOutMs | int | 否 | 5000 | 5000 | 连接 SQL Server 数据库的超时时间,单位:ms。 |
ReadTimeOutMs | int | 否 | 5000 | 5000 | 读取 SQL Server 查询结果的超时时间,单位:ms。 |
StateMent | string | 否 | / | SELECT 语句。设置 CheckPoint 为 true 时,Statement 中 SELECT 语句的 where 条件中必须包含 CheckPoint 列(CheckPointColumn)。支持使用半角问号(?)表示替换符,与 CheckPoint 列配合使用。 例如设置 CheckPointColumn 为 id,设置 CheckPointStart 为 0,设置 StateMent 为SELECT * from ... where id > ? 。则每次采集后,系统会保存最后一条数据的 ID 作为 Checkpoint,下次采集时查询语句中的半角问号(?)将被替换为该 Checkpoint 对应的 ID。 | |
Limit | bool | 否 | false | true | 是否使用 Limit 分页。
|
PageSize | int | 否 | / | 10 | 分页大小,Limit 为 true 时必须配置。 |
MaxSyncSize | int | 否 | 0 | 0 | 每次同步最大记录数。默认值为 0,表示无限制。 |
CheckPoint | bool | 否 | false | true | 是否使用 CheckPoint。
|
CheckPointColumn | string | 否 | 空 | 1 | CheckPoint 列名称。CheckPoint 为 true 时必须配置。 警告 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。 |
CheckPointColumnType | string | 否 | 空 | int | CheckPoint 列的数据类型,支持 int 和 time。int 类型的内部存储为 int64,time 类型支持 SQL Server 的 date、datetime、time 类型。设置 CheckPoint 为 true 时,需要配置。 |
CheckPointStart | string | 否 | 空 | CheckPoint 列的初始值。设置 CheckPoint 为 true 时,需要配置。 | |
CheckPointSavePerPage | bool | 否 | true | true | 是否每次分页时保存一次 CheckPoint。
|
IntervalMs | int | 否 | 60000 | 60000 | 同步间隔,默认值为 60000,单位:ms。 |
PostgreSQL 输入插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | service_pgsql | 插件类型。固定为 service_pgsql。 |
Address | string | 否 | 127.0.0.1:5432 | rm-*.pg.rds.aliyuncs.com | PostgreSQL 地址。 |
User | string | 否 | root | root | 用于登录 PostgreSQL 地址数据库的账号名称。 |
Password | string | 否 | 空 | 用于登录 PostgreSQL 数据库的账号密码。如果安全需求较高,建议将用户名称和密码配置为 xxx,待采集配置同步至本地机器后,在本地文件/usr/local/ilogtail/user_log_config.json 中找到对应配置进行修改。具体操作,请参见修改本地配置。注意 如果您在控制台上修改了此参数,同步至本地后会覆盖本地的配置。 | |
DataBase | string | 否 | / | project_database | PostgreSQL 数据库名称。 |
DialTimeOutMs | int | 否 | 5000 | 5000 | 连接 PostgreSQL 数据库的超时时间,单位:ms。 |
ReadTimeOutMs | int | 否 | 5000 | 5000 | 读取 PostgreSQL 查询结果的超时时间,单位:ms。 |
StateMent | string | 否 | / | SELECT 语句。 设置 CheckPoint 为 true 时,StateMent 中 SELECT 语句的 where 条件中必须包含 CheckPoint 列(CheckPointColumn 参数),并将该列的值设置为$1。例如:设置 CheckPointColumn 为 id,设置 StateMent 为SELECT * from ... where id > $1 | |
Limit | bool | 否 | false | true | 是否使用 Limit 分页。
|
PageSize | int | 否 | / | 10 | 分页大小,Limit 为 true 时必须配置。 |
MaxSyncSize | int | 否 | 0 | 0 | 每次同步最大记录数。默认值为 0,表示无限制。 |
CheckPoint | bool | 否 | false | true | 是否使用 CheckPoint。
|
CheckPointColumn | string | 否 | 空 | 1 | CheckPoint 列名称。CheckPoint 为 true 时必须配置。 警告 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。 |
CheckPointColumnType | string | 否 | 空 | int | CheckPoint 列的数据类型,支持 int 和 time。int 类型的内部存储为 int64,time 类型支持 PostgreSQL 的时间类型。设置 CheckPoint 为 true 时,需要配置。 |
CheckPointStart | string | 否 | 空 | CheckPoint 列的初始值。设置 CheckPoint 为 true 时,需要配置。 | |
CheckPointSavePerPage | bool | 否 | true | true | 是否每次分页时保存一次 CheckPoint。
|
IntervalMs | int | 否 | 60000 | 60000 | 同步间隔,默认值为 60000,单位:ms。 |
SNMP 协议输入插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Targets | [string] | 是 | / | 127.0.0.1 | 目标机器组的 IP 地址。 |
Port | string | 否 | 161 | 161 | SNMP 协议使用的端口。 |
Community | string | 否 | public | public | 团体名称,SNMPv1 和 SNMPv2 使用团体名进行认证。 |
UserName | string | 否 | 空 | root | 用户名,SNMPv3 支持使用用户名进行认证。 |
AuthenticationProtocol | string | 否 | NoAuth | NoAuth | 验证协议,SNMPv3 支持使用验证协议进行认证。 |
AuthenticationPassphrase | string | 否 | 空 | 验证密码,默认值为空。设置AuthenticationProtocol 为MD5 或SHA 时,需要设置AuthenticationPassphrase 。 | |
PrivacyProtocol | string | 否 | NoPriv | NoPriv | 隐私协议,SNMPv3 支持使用隐私协议进行认证。 |
PrivacyPassphrase | string | 否 | 空 | 隐私协议密码,默认与验证密码一致。 当设置PrivacyProtocol 为DES 或AES 时,必须设置PrivacyPassphrase 。 | |
Timeout | int | 否 | 5 | 5 | 一次查询操作的超时时间,单位为秒。 |
Version | int | 否 | 2 | 2 | SNMP 协议版本。 可选值为1 、2 、3 。 |
Transport | string | 否 | udp | udp | SNMP 通讯方法,可选值为udp 、tcp 。 |
MaxRepetitions | int | 否 | 0 | 0 | 查询超时后的重试次数。 |
Oids | [string] | 否 | 空 | 1 | 在目标机器中查询的对象标识符。 |
Fields | [string] | 否 | 空 | int | 在目标机器中查询的字段,本插件会先对字段进行翻译,即查找本地管理信息库,将其翻译为对象标识符并一起查询。 |
Tables | [string] | 否 | 空 | 在目标机器中查询的表,本插件会先查询表内所有的字段,然后查找本地管理信息库,将其翻译为对象标识符并一起查询。 |
脚本输出采集插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | input_command | 插件类型,固定为 input_command。 |
ScriptType | string | 是 | 空 | shell | 指定脚本内容的类型,目前支持 bash、shell、python2、python3。 |
User | string | 是 | / | public | 运行命令使用的用户名,只支持非 Root 用户。 说明 * 请确保指定的用户名在机器中存在。 建议配置最小权限,只授予需要关注的目录或文件 rwx 权限 。 |
ScriptContent | string | 是 | 空 | 脚本内容,支持 PlainText 和 Base64 加密的内容,长度在 512*1024 字节内。 | |
ContentEncoding | string | 否 | PlainText | PlainText | 脚本内容的文本格式,可选值。
|
LineSplitSep | string | 否 | 空 | 脚本输出内容的分隔符,为空时不进行分割,全部作为一条数据返回。 | |
CmdPath | string | 否 | 空 | /usr/bin/bash | 执行脚本命令的路径,如果为空,则使用默认路径。默认路径如下:
|
TimeoutMilliSeconds | int | 否 | 3000 | 3000 | 执行脚本的超时时间,单位为毫秒。 |
IgnoreError | bool | 否 | false | false | 插件执行出错时是否忽略 Error 日志。默认值为 false,表示不忽略。 |
Environments | [string] | 否 | 环境变量,默认为 os.Environ()的值,如果设置了 Environments,则在 os.Environ()的基础上追加设置的环境变量。 | ||
IntervalMs | int | 否 | 5000 | 5000 | 采集触发频率或脚本执行频率。单位为毫秒。 |
原生处理插件
正则解析原生处理插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
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 | 是否替换所有的匹配的敏感内容。 |
扩展处理插件
提取字段
正则模式
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_regex | 插件类型。固定为 processor_regex。 |
SourceKey | string | 是 | / | content | 源字段名。 |
Regex | string | 是 | / | (\d+-\d+-\d+)\s+(.*) | 正则表达式。您需要使用半角圆括号() 标注待提取的字段。 |
Keys | [string] | 是 | / | ["ip", "time", "method"] | 为提取的内容指定字段名,例如["ip", "time", "method"]。 |
NoKeyError | boolean | 否 | false | false | 原始日志中无您所指定的原始字段时,系统是否报错。
|
NoMatchError | boolean | 否 | false | false | 您所指定的正则表达式与原始字段的值不匹配时,系统是否报错。
|
KeepSource | boolean | 否 | false | false | 解析后的日志中是否保留原始字段。
|
FullMatch | boolean | 否 | true | true | 是否完全匹配才被提取。
|
KeepSourceIfParseError | boolean | true | true | false | 解析日志失败时,解析后的日志中是否将保留原始字段。
|
标定模式
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_anchor | 插件类型。固定为 processor_anchor。 |
SourceKey | Anchor 数组 | 是 | / | content | 源字段名。 |
Anchors | string | 是 | / | 标定项列表。 | |
Start | String | 是 | 空 | time | 起始关键字。如果为空,表示匹配字符串开头。 |
Stop | String | 是 | 空 | \t | 结束关键字。如果为空,表示匹配字符串结尾。 |
FieldName | String | 是 | 空 | time | 为提取的内容指定字段名。 |
FieldType | String | 是 | 空 | string | 字段的类型,取值为 string 或 json。 |
ExpondJson | boolean | 否 | false | false | 是否进行 JSON 展开。
|
ExpondConnecter | String | 否 | _ | _ | JSON 展开的连接符。默认值为下划线(_)。 |
MaxExpondDepth | Int | 否 | 0 | 0 | JSON 展开最大深度。默认值为 0,表示无限制。 |
NoAnchorError | Boolean | 否 | false | false | 查找不到标定项时,系统是否报错。{#3f246206721du}
|
NoKeyError | Boolean | 否 | false | false | 原始日志中无您所指定的原始字段时,系统是否报错。
|
KeepSource | Boolean | 否 | false | false | 解析后的日志中是否保留原始字段。
|
CSV 模式
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_csv | 插件类型。固定为 processor_csv。 |
SourceKey | String | 是 | / | csv | 原始字段名。 |
SplitKeys | String 数组 | 是 | / | ["date", "ip", "content"] | 为提取的内容指定字段名,例如["date", "ip", "content"]。 重要 待分割的字段数量小于 SplitKeys 参数中的字段数量时,SplitKeys 参数中多余的字段将被忽略。 |
PreserveOthers | Boolean | 否 | false | false | 待分割的字段数量大于 SplitKeys 参数中的字段数量时,是否保留超出部分。
|
ExpandOthers | Boolean | 否 | false | false | 是否解析超出部分。
|
ExpandKeyPrefix | String | 否 | 超出部分的字段命名前缀。例如配置为expand_,则字段名为 expand_1、expand_2。 | ||
TrimLeadingSpace | Boolean | 否 | false | false | 是否忽略字段值中的前置空格。
|
SplitSep | String | 否 | , | , | 分隔符。默认值为半角逗号(,)。 |
KeepSource | Boolean | 否 | false | false | 解析后的日志中是否保留原始字段。
|
NoKeyError | Boolean | 否 | false | false | 原始日志中无您指定的原始字段时,系统是否报错。
|
单字符分隔符模式
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_split_char | 插件类型。固定为 processor_split_char。 |
SourceKey | String | 是 | 原始字段名。 | ||
SplitSep | String | 是 | 分隔符。必须为单字符,可设置为不可见字符,例如\u0001。 | ||
SplitKeys | String 数组 | 是 | ["ip", "time", "method"] | 为提取的内容指定字段名,例如["ip", "time", "method"]。 | |
PreserveOthers | Boolean | 否 | false | false | 待分割的字段数量大于 SplitKeys 参数中的字段数量时,是否保留超出部分。
|
QuoteFlag | Boolean | 否 | false | false | 是否使用引用符。
|
Quote | String | 否 | / | \u0001 | 引用符。必须为单字符,可以为不可见字符,例如\u0001。仅当 QuoteFlag 配置为 true 时有效。 |
NoKeyError | Boolean | 否 | false | false | 原始日志中无您指定的原始字段时,系统是否报错。
|
NoMatchError | Boolean | 否 | false | false | 您所指定的分隔符与日志中的分隔符不匹配时,系统是否报错。
|
KeepSource | Boolean | 否 | false | false | 被解析后的日志中是否保留原始字段。
|
多字符分隔符模式
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_split_string | 插件类型。固定为 processor_split_string。 |
SourceKey | String | 是 | 原始字段名。 | ||
SplitSep | String | 是 | 分隔符。必须为单字符,可设置为不可见字符,例如\u0001\u0002。 | ||
SplitKeys | String 数组 | 是 | ["key1","key2"] | 为提取的内容指定字段名,例如["key1","key2"]。说明 待分割的字段数量小于 SplitKeys 参数中的字段数量时,SplitKeys 参数中多余的字段将被忽略。 | |
PreserveOthers | Boolean | 否 | false | false | 待分割的字段数量大于 SplitKeys 参数中的字段数量时,是否保留超出部分。
|
ExpandOthers | Boolean | 否 | false | false | 是否使用引用符。
|
ExpandKeyPrefix | String | 否 | / | expand_ | 超出部分的命名前缀。例如配置为 expand_,则字段名为 expand_1、expand_2。 |
NoKeyError | Boolean | 否 | false | false | 原始日志中无您指定的原始字段时,系统是否报错。
|
NoMatchError | Boolean | 否 | false | false | 您所指定的分隔符与日志中的分隔符不匹配时,系统是否报错。
|
KeepSource | Boolean | 否 | false | false | 被解析后的日志中是否保留原始字段。
|
键值对模式
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_split_key_value | 插件类型。固定为 processor_split_key_value。 |
SourceKey | string | 是 | 原始字段名。 | ||
Delimiter | string | 否 | \t | \t | 键值对之间的分隔符,默认值为制表符\t 。 |
Separator | string | 否 | : | : | 单个键值对中键与值之间的分隔符,默认值为半角冒号(:)。 |
KeepSource | Boolean | 否 | false | false | 解析后的日志中是否保留原始字段。
|
ErrIfSourceKeyNotFound | Boolean | 否 | true | false | 原始日志中无您所指定的原始字段时,系统是否报错。
|
DiscardWhenSeparatorNotFound | Boolean | 否 | false | false | 无匹配的分隔符时是否丢弃该键值对。
|
ErrIfSeparatorNotFound | Boolean | 否 | true | false | 当指定的分隔符不存在时,系统是否报错。
|
ErrIfKeyIsEmpty | Boolean | 否 | true | false | 当分隔后的键为空时,系统是否报错。
|
Quote | String | 否 | 引用符,当设定后若值被引用符包含,就提取引用符内的值,支持多字符。默认不开启引用符功能。 重要 * 如果引用符为双引号(""),需要添加转义符,即添加反斜线(\)。当引用符内包含反斜线(\)与引用符连用时,该反斜线(\)将作为值的一部分输出。 |
Grok 模式
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_grok | 插件类型。固定为 processor_grok。 |
CustomPatternDir | String 数组 | 否 | 自定义的 Grok 模式文件所在的目录。processor_grok 插件会读取目录内的所有文件。 未添加该参数时,表示不导入自定义的 Grok 模式文件。 重要 更新自定义的 Grok 模式文件后,需重启 Logtail 才能生效。 | ||
CustomPatterns | Map | 否 | 自定义的 GROK 模式,key 为规则名,value 为 Grok 表达式。 默认支持的表达式,请参见processor_grok。如果链接中无您需要的表达式,请在 Match 中输入自定义的 Grok 表达式。 未添加该参数时,表示不使用自定义的 GROK 模式。 | ||
SourceKey | String | 否 | content | content | 原始字段名。默认值为 content 字段。 |
Match | String 数组 | 是 | Grok 表达式数组。processor_grok 插件会根据此处配置的表达式列表从上至下依次对日志进行匹配,并返回第一条匹配成功的提取结果。 说明 配置多条 Grok 表达式,可能影响性能。建议不超过 5 条。 | ||
TimeoutMilliSeconds | Long | 否 | 0 | 通过 Grok 表达式提取字段的最大尝试时间,单位:毫秒。 未添加该参数或设置为 0 时,表示不会超时。 | |
IgnoreParseFailure | Boolean | 否 | true | true | 是否忽略解析失败的日志。
|
KeepSource | Boolean | 否 | true | true | 是否在解析成功后保留原始字段。
|
NoKeyError | Boolean | 否 | false | true | 原始日志中无您所指定的原始字段时,系统是否报错。
|
NoMatchError | Boolean | 否 | true | true | Match 参数中设置的表达式全部与日志不匹配时,系统是否报错。
|
TimeoutError | Boolean | 否 | true | true | 匹配超时,系统是否报错。
|
添加字段
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_add_fields | 插件类型。固定为 processor_add_fields。 |
Fields | Map | 是 | 待添加的字段名和字段值。键值对格式,支持添加多个。 | ||
IgnoreIfExist | Boolean | 否 | false | false | 存在相同的字段名时,是否忽略重复的字段。
|
丢弃字段
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_drop | 插件类型。固定为 processor_drop。 |
DropKeys | String 数组 | 是 | 指定待丢弃的字段,支持配置多个。 |
重命名字段
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_rename | 插件类型。固定为 processor_rename。 |
NoKeyError | Boolean | 否 | false | false | 日志中无您所指定的原始字段时,系统是否报错。
|
SourceKeys | String 数组 | 是 | 待重命名的原始字段。 | ||
DestKeys | String 数组 | 是 | 重命名后的字段。 |
打包字段
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_packjson | 插件类型。固定为 processor_packjson。 |
SourceKeys | String 数组 | 是 | 待打包的原始字段。 | ||
DestKey | String | 否 | 打包后的字段。 | ||
KeepSource | Boolean | 否 | true | true | 解析后的日志中是否保留原始字段。
|
AlarmIfIncomplete | Boolean | 否 | true | true | 原始日志中无您所指定的原始字段时,系统是否报错。
|
展开 JSON 字段
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_json | 插件类型。固定为 processor_json。 |
SourceKey | String | 是 | 待展开的原始字段名。 | ||
NoKeyError | Boolean | 否 | true | true | 原始日志中无您所指定的原始字段时,系统是否报错。
|
ExpandDepth | Int | 否 | 0 | 1 | JSON 展开的深度。默认值为 0,表示不限制。1 表示当前层级,以此类推。 |
ExpandConnector | String | 否 | _ | _ | JSON 展开时的连接符,默认值为下划线(_)。 |
Prefix | String | 否 | JSON 展开时,对字段名附加的前缀。 | ||
KeepSource | Boolean | 否 | true | true | 被解析后的日志中是否保留原始字段。
|
UseSourceKeyAsPrefix | Boolean | 否 | 是否将原始字段名作为所有 JSON 展开字段名的前缀。 | ||
KeepSourceIfParseError | Boolean | 否 | true | true | 解析日志失败时,是否保留原始日志。
|
ExpandArray | Boolean | 否 | false | false | 是否展开数组类型。Logtail 1.8.0 及以上版本支持该参数。
|
过滤日志
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_filter_regex | 插件类型。固定为 processor_filter_regex。 |
Include | JSON Object | 否 | Key 为日志字段,Value 为该字段值匹配的正则表达式。键值对之间为与关系。如果日志字段的值符合对应的正则表达式,则采集该日志。 | ||
Exclude | JSON Object | 否 | Key 为日志字段,Value 为该字段值匹配的正则表达式。键值对之间为或关系。如果日志中任意一个字段的值符合对应的正则表达式,则丢弃该日志。 |
提取日志时间
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_gotime | 插件类型。固定为 processor_gotime。 |
SourceKey | String | 是 | 原始字段名。 | ||
SourceFormat | String | 是 | 原始时间的格式。 | ||
SourceLocation | Int | 是 | 原始时间的时区。参数值为空时,表示 Logtail 所在主机或容器的时区。 | ||
DestKey | String | 是 | 解析后的目标字段。 | ||
DestFormat | String | 是 | 解析后的时间格式。 | ||
DestLocation | Int | 否 | 解析后的时区。参数值为空时,表示本机时区。 | ||
SetTime | Boolean | 否 | true | true | 是否将解析后的时间设置为日志时间。
|
KeepSource | Boolean | 否 | true | true | 被解析后的日志中是否保留原始字段。
|
NoKeyError | Boolean | 否 | true | true | 原始日志中无您所指定的原始字段时,系统是否报错。
|
AlarmIfFail | Boolean | 否 | true | true | 提取日志时间失败,系统是否报错。
|
转换 IP 地址
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_geoip | 插件类型。固定为 processor_geoip。 |
SourceKey | String | 是 | 待进行 IP 地址转换的原始字段名。 | ||
DBPath | String | 是 | /user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb | GeoIP 数据库的全路径。例如/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb。 | |
NoKeyError | Boolean | 否 | false | false | 原始日志中无您所指定的原始字段名时,系统是否报错。
|
NoMatchError | Boolean | 否 | true | true | IP 地址无效或在数据库中未匹配到该 IP 地址时,系统是否报错。
|
KeepSource | Boolean | 否 | true | true | 解析后的日志中,是否保留原始字段。
|
Language | String | 否 | zh-CN | zh-CN | 语言属性。默认值为 zh-CN。 重要 请确保您的 GeoIP 数据库中包含对应的语言。 |
数据脱敏
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_desensitize | 插件类型。固定为 processor_desensitize。 |
SourceKey | String | 是 | 日志字段名称。 | ||
Method | String | 是 | const | 脱敏方式。可选值:
| |
Match | String | 否 | full | full | 指定提取敏感内容的方式。可选值:
|
ReplaceString | String | 否 | 用于替换敏感内容的字符串。 设置 Method 为 const 时,必填。 | ||
RegexBegin | String | 否 | 匹配敏感内容前缀的正则表达式。 设置 Match 为 regex 时,必填。 | ||
RegexContent | String | 否 | 匹配敏感内容的正则表达式。设置 Match 为 regex 时,必填。 |
字段值映射处理
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_dict_map | 插件类型。固定为 processor_dict_map。 |
SourceKey | String | 是 | 原始字段名。 | ||
MapDict | Map | 否 | 映射字典。映射字典较小时,可直接通过此参数完成设置。不需要提供本地的 CSV 字典文件。 重要 当您设置了 DictFilePath 参数后,MapDict 参数中的配置不生效。 | ||
DictFilePath | String | 否 | CSV 格式的字典文件。该 CSV 文件的分隔符为半角逗号(,),字段引用表示为半角引号(")。 | ||
DestKey | String | 否 | 映射后的字段名。 | ||
HandleMissing | Boolean | 否 | false | false | 当原始日志中缺失目标字段时,系统是否处理。
|
Missing | String | 否 | Unknown | Unknown | 处理原始日志中缺失的目标字段时,设置对应的填充值。默认值为Unknown 。 当配置 HandleMissing 为 true 时,该参数配置生效。 |
MaxDictSize | Int | 否 | 1000 | 1000 | 映射字典的最大大小。默认值为 1000,即最多可存储 1000 条映射规则。 如果要限制插件对服务器内存的占用,可调小该值。 |
Mode | String | 否 | overwrite | overwrite | 当映射后的字段在原始日志中已存在时的处理方式。
|
字段加密
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_encrypt | 插件类型。固定为 processor_encrypt。 |
SourceKey | String 数组 | 是 | 原始字段名。 | ||
EncryptionParameters | Object | 是 | 密钥相关配置。 | ||
Key | String | 是 | 设置密钥,需为 64 个十六进制字符。 | ||
IV | String | 否 | 00000000000000000000000000000000 | 设置加密的初始向量,需为 32 个十六进制字符,默认值为00000000000000000000000000000000 。 | |
KeyFilePath | Boolean | 否 | 读取加密参数的文件路径。未配置时按照 Logtail 配置-输入配置-文件路径 读取。 | ||
KeepSourceValueIfError | String | 否 | false | false | 加密失败,系统是否保留原始字段的值。
ENCRYPT_ERROR 。 |
字符串替换
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_string_replace | 插件类型。固定为 processor_string_replace。 |
SourceKey | String | 是 | 原始字段名。 | ||
Method | String | 是 | 指定匹配方式。可选值:
| ||
Match | String | 否 | 输入匹配内容。
| ||
ReplaceString | String | 否 | 用于替换的字符串,默认值为""。
| ||
DestKey | String | 否 | 为替换后的内容指定新字段,默认不新增字段。 |
数据编码与解码
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_base64_encoding | 插件类型。固定为 processor_base64_encoding。 |
SourceKey | String | 是 | 原始字段名。 | ||
NewKey | String | 是 | 编码后的结果字段名。 | ||
NoKeyError | Boolean | 否 | false | false | 原始日志中无您所指定的原始字段时,系统是否报错。
|
Log 转为 Metric
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_log_to_sls_metric | 插件类型。固定为 processor_log_to_sls_metric。 |
MetricTimeKey | String | 否 | 指定日志中的时间字段,该字段将与时序数据中的__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__ 字段中。 | ||
MetricValues | Map | 是 | 用于指定 Metric 名称和 Metric 值。 Metric 名称对应__name__ 字段,需遵循正则表达式^[a-zA-Z_:][a-zA-Z0-9_:]*$ 。 Metric 值对应__value__ 字段,需为 Double 类型。 更多信息,请参见时序数据(Metric) 。 | ||
CustomMetricLabels | Map | 否 | 自定义的__labels__ 字段, Key 需遵循正则表达式 ^[a-zA-Z_][a-zA-Z0-9_]*$ ,Value 不能包含竖线(|)和 #$# 。更多信息,请参见时序数据(Metric)。 | ||
IgnoreError | Boolean | 否 | 当没有匹配日志时是否输出 Error 日志。默认值为 false,表示不输出。 |
Log 转为 Trace
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | processor_otel_trace | 插件类型。固定为 processor_otel_trace。 |
SourceKey | String | 是 | 原始字段名。 | ||
Format | String | 是 | json | 转换后的格式,可选值:protobuf、json、protojson。 | |
NoKeyError | Boolean | 否 | false | true | 当日志中没有对应的原始字段时,是否报错。默认值为 false。 |
TraceIDNeedDecode | Boolean | 否 | 是否对 TraceID 进行 Base64 解码,默认值为 false。 设置 Format 为 protojson 时,如果 TraceID 已进行过 Base64 编码,则需要设置 TraceIDNeedDecode 为 true,否则将导致转换失败。 | ||
SpanIDNeedDecode | Boolean | 否 | 是否对 SpanID 进行 Base64 解码。默认值为 false。设置 Format 为 protojson 时,如果 SpanID 已进行过 Base64 编码,则需要设置 SpanIDNeedDecode 为 true,否则将导致转换失败。 | ||
ParentSpanIDNeedDecode | Boolean | 否 | 是否对 ParentSpanID 进行 Base64 解码。默认值为 false。 设置 Format 为 protojson 时,如果 ParentSpanID 已进行过 Base64 编码,则需要设置 ParentSpanIDNeedDecode 为 true,否则将导致转换失败。 |
输出插件
SLS 输出插件
参数 | 类型 | 是否必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
Type | string | 是 | / | flusher_sls | 插件类型。固定为 flusher_sls。 |
Logstore | stirng | 是 | / | test-logstore | LogStrore 名称。 |
返回参数
示例
正常返回示例
JSON
格式
{}
错误码
访问错误中心查看更多错误码。