LogCollector 插件支持设置执行条件,只有在日志内容满足已设置的执行条件时,日志服务才会执行该插件。本文档介绍插件执行条件的列表及设置方式。
功能概述
日志服务默认根据插件顺序,对指定日志字段依次执行对应的处理方式。如果需要根据日志内容判断是否执行某个插件,可以在插件配置中添加插件条件。日志服务在执行插件前会根据插件条件进行对应的字段判断,例如通过 equals 插件条件判断指定字段内容是否为某个固定值,如果字段值符合插件条件,此条件判断为真(true),则执行对应的插件处理,否则跳过此插件。
每个 LogCollector 插件都可以配置独立的基本执行条件,日志服务也支持为插件添加组合条件。组合条件是基于基本条件的语法,根据指定基本条件的判断结果决定是否执行插件。例如 and 条件表示某一个或多个条件均为 true 时,则执行此插件。
日志服务提供多种插件执行条件,例如检查字段值是否为某个固定值、检查字段值是否包含某个指定字符串等,支持的执行条件列表请参考执行条件列表。 说明
1.0.38 及后续版本的 LogCollector 支持插件执行条件,建议在使用前确认当前使用的 LogCollector 版本号。
设置插件执行条件
您可以在插件配置中添加执行条件字段 when,when 字段为可选参数,用于指定判断条件仅在需要添加执行条件时配置。使用插件的操作步骤请参考操作步骤。 例如,以下示例表示为 add_kvs 插件添加执行条件,如果 data 字段值为 Click Here,且 size 字段值为 36,则在日志内容中插入 name 和 cluster_id 两个常量字段。
执行条件列表
基本条件
equals 条件
equals 条件用于判断指定字段的内容是否等于指定的值。如果当前日志指定字段的内容等于指定的值,那么 equals 条件为 true,否则 equals 条件为 false 当在 equals 中配置多个字段进行条件判断时,这些字段的判断结果之间的条件关系是逻辑与(AND)。
说明
浮点数精度受二进制存储方式影响,通过 equals 条件比较两个浮点数是否相等时,如果两个浮点数的差小于 0.000001,日志服务则认为这两个浮点数相等相等。
参数说明
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志:
contains 条件
contains 条件用于判断指定字段的内容是否包含指定的字符串。如果当前日志指定字段的内容包含指定的字符串,那么 contains 条件为 true,否则 contains 条件为 false。当在 contains 中配置多个字段进行条件判断时,这些字段的判断结果之间的条件关系是逻辑与(AND)。
参数说明
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志:
regexp 条件
regexp 条件用于判断指定字段的内容是否匹配指定的正则表达式。如果当前日志指定字段的内容匹配指定的正则表达式,那么 regexp 条件为 true 否则 regexp 条件为 false。当在 regexp 中配置多个字段进行条件判断时,这些字段的判断结果之间的条件关系是逻辑与(AND)。
参数说明
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志:
range 条件
range 条件用于判断指定字段的内容是否在指定的数值范围中。如果当前日志指定字段的内容在指定的数值范围中,那么 range 条件为 true,否则 range 条件为 false。当在 range 中配置多个字段进行条件判断时,这些字段的判断结果之间的条件关系是逻辑与(AND)。
参数说明
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志:
has_fields 条件
has_fields 条件用于判断是否包含指定的字段。如果当前日志包含指定的全部字段,那么 has_fields 条件为 true。否则 has_fields 条件为 false。当在 has_fields 中配置多个字段进行条件判断时,这些字段的判断结果之间的条件关系是逻辑与(AND)。
参数说明
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志:
length 条件
length 条件用于判断指定字段的长度是否在指定的数值范围中。如果当前日志指定字段的长度在指定的数值范围中,那么 length 条件为 true,否则 length 条件为 false。当在 length 中配置多个字段进行条件判断时,这些字段的判断结果之间的条件关系是逻辑与(AND)。
参数说明
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志:
组合条件
and 条件
and 条件支持配置一个或多个基本条件。当这些基本条件全部为 true 时,and 条件为 true;否则,and 条件为 false。
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志:
or 条件
or 条件支持配置一个或多个基本条件。当这些基本条件至少一个为 true 时,or 条件为 true;否则,or 条件为 false。
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志:
not 条件
not 条件支持配置一个基本条件。当这个基本条件为 true 时,not 条件为 false;否则,not 条件为 true。
配置示例
- 经过采集模式或者其他处理器插件处理之后的键值对日志: