如果logstash收集到的日志格式是key=value键值对,可以通过kv filter插件对其进行格式化。
例子:
日志内容:
ip=1.2.3.4 error=REFUSED
logstash配置
input {
# 扫描指定文件日志数据
file {
path => [ "/var/log/http.log" ]
}
}
filter {
# 使用kv filter格式化键值对日志内容
kv { }
}
output {
# 将数据直接打印出来
stdout {}
}
logstash输出的内容如下:
{
"ip": "1.2.3.4",
"error": "REFUSED"
}
kv filter插件参数
参数名 | 类型 | 默认值 | 说明 |
prefix | string | 指定key的前缀,例如:arg_ | |
field_split | string | " " | 指定两个kv值直接的分隔符,默认是空格,例:field_split => "&" , 通过&分隔键值对 |
default_keys | hash | 设置key的默认值,例:default_keys => [ "from", "logstash@example.com", "to", "default@dev.null" ] |