我有一个包含可变数量的k / v对的日志文件,例如:
2017/01/01 11:11:111,ABC=2,DEF=1
2017/01/01 11:11:112,ABC=4,DEF=1,GHI=7
2017/01/01 11:11:113,ABC=1
2017/01/01 11:11:114,DEF=3,GHI=1...etc
我想知道如何处理这个问题,以便elasticsearch可以使用这些信息。每个键代表一个连接池名称,它的值定义自上次查看此信息的请求以来池重启的频率。
我想报告一个线图,该线图可以随着时间的推移识别出泳池ABC与DEF和GHI的比较......以及潜在的JKL和MNO无限期。
我很难在文档中找到相关内容。
答案 0 :(得分:0)
这样的事情可以帮到你:
filter {
# filter for pool info
grok { match => { "message" => "^%{YEAR}\/%{MONTHNUM}\/%{DAY}\s%{HOUR}\:%{MINUTE}\:%{SECOND},%{DATA:poolinfo}" }
}
# parse kv pairs
ruby { code => '
fieldArray = event.get( "poolinfo" ).split(",")
for field in fieldArray
key = field.split("=")[0]
value = field.split("=")[1]
event.set(key, value.to_i)
end
'
}
}