条件字段处理

简介

processor_fields_with_condition插件支持根据日志部分字段的取值,动态进行字段扩展或删除。源代码arrow-up-right

版本

Stable

条件判断

  • 支持多字段取值比较。

  • 关系运算符:equals(默认)、regexp、contains、startwith。

  • 逻辑运算符:and(默认)、or。

过滤能力

  • 默认仅做字段动态处理。

  • 可以开启过滤功能,未命中任意条件则丢弃。

处理能力

  • 与现有插件processor_add_fields、processor_drop保持近似的使用习惯。

  • 可以支持多组条件(Case)进行动态字段处理,但是按顺序匹配上一条后即退出。

配置参数

processor_fields_with_condition配置

参数
类型,默认值
说明

Type

String,无默认值(必填)

插件类型,固定为processor_fields_with_condition

DropIfNotMatchCondition

Boolean,false

当条均件不满足时,日志是被丢弃(true)还是被保留(false)。

Switch

Array,其中value为Condition,无默认值(必填)

切换行动的条件。

Condition类型说明

参数
类型,默认值
说明

Case

ConditionCase,无默认值(必填)

日志数据满足的条件。

Actions

Array,其中value为ConditionAction,无默认值(必填)

满足条件时执行的动作。

ConditionCase类型说明

参数
类型,默认值
说明

LogicalOperator

String,and

多个条件字段之间的逻辑运算符(and/or)。

RelationOperator

String,equals

条件字段的关系运算符(equals/regexp/contains/startwith)。

FieldConditions

Map,其中fieldKey和fieldValue为String类型,无默认值(必填)

字段名和表达式的键值对。

ConditionAction类型说明

参数
类型,默认值
说明

type

String,无默认值(必填)

行动类型,可选值是processor_add_fields/processor_drop

IgnoreIfExist

Boolean,false

当相同的键存在时是否要忽略。

Fields

Map,其中fieldKey和fieldValue为String类型,无默认值(必填)

附加字段的键值对。

DropKeys

Array,其中value为String,无默认值(必填)

丢弃字段。

样例

  • 采集配置(使用metric_mock插件模拟输入)

  • 输出

Last updated