日志是这样的:
{
"playerId": 2,
"args": {
"uid": 2024657127,
"__route__": "userCenter.playerHandler.getOnLineUids"
},
"time": "03122053",
"timeUsed": 8,
"resp": {
"code": 200,
"uidState": {
"imId": 2024657127,
"uid": 0,
"state": 0
}
}
}
我只需要“__route__”和“timeUsed”,
filter {
if "__route__" in [message] {
json {
source => "message"
remove_field => ["args.uid", "playerId", "time", "resp"]
}
}}
像这样的kibana结果: image of the result
我们可以看到字段“arg.uid”也在那里,如何删除字段呢?或者任何其他更好的方式获得“__route__”和“timeUsed”?
答案 0 :(得分:1)
只需用[args] [uid]替换args.uid,它应该在那之后工作。因为在logstash中,使用[parent] [child]表示法访问每个子字段