kvsplitter

package
v1.8.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

README

键值对切分

该插件可对指定的字段按照键值对的形式进行切分。

参数说明

插件类型(type)为 processor_split_key_value

参数 类型 必选或可选 参数说明
SourceKey string 必选 指定进行切分的字段名。
Delimiter string 必选 键值对之间的分隔符,默认为制表符 \t
Separator string 必选 单个键值对内键与值之间的分隔符,默认为冒号 :
KeepSource bool 可选 提取完毕后是否保留源字段,默认为 true。
ErrIfSourceKeyNotFound bool 可选 当指定的 SourceKey 不存在时,是否告警,默认为 true。
DiscardWhenSeparatorNotFound bool 可选 当 Separator 不存在时,是否丢弃该键值对,默认为 false。
ErrIfSeparatorNotFound bool 可选 当 Separator 不存在时,是否告警,默认为 true。
示例

对字段 content 按照键值对方式提取,键值对间分隔符为制表符,键值对内分隔符为冒号。

配置详情及处理结果如下:

  • 输入
"content": "class:main\tuserid:123456\tmethod:get\tmessage:\"wrong user\""
  • 配置详情
{
  "processors":[
    {
      "type":"processor_split_key_value",
      "detail": {
        "SourceKey": "content",
        "Delimiter": "\t",
        "Separator": ":",
        "KeepSource": true
      }
    }
  ]
}
  • 配置后结果
"content": "class:main\tuserid:123456\tmethod:get\tmessage:\"wrong user\""
"class": "main"
"userid": "123456"
"method": "get"
"message": "\"wrong user\""

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type KeyValueSplitter

type KeyValueSplitter struct {
	SourceKey string
	// Split key/value pairs.
	Delimiter string
	// Split key and value.
	Separator            string
	KeepSource           bool
	EmptyKeyPrefix       string
	NoSeparatorKeyPrefix string
	Quote                string

	DiscardWhenSeparatorNotFound bool
	ErrIfSourceKeyNotFound       bool
	ErrIfSeparatorNotFound       bool
	ErrIfKeyIsEmpty              bool
	// contains filtered or unexported fields
}

func (*KeyValueSplitter) Description

func (*KeyValueSplitter) Description() string

func (*KeyValueSplitter) Init

func (s *KeyValueSplitter) Init(context pipeline.Context) error

func (*KeyValueSplitter) ProcessLogs

func (s *KeyValueSplitter) ProcessLogs(logArray []*protocol.Log) []*protocol.Log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL