Logstash获取"host": "server01.staging"
,我想将值除以.
并获取"host": "server01", "env": "staging"
。有没有办法做到这一点?
我试过了:
grok {
match => {
"message" => ...
"host" => '\A(?<host>.*?).(?<env>.*)'
}
overwrite => [ "message", "host" ]
但它仍然在输出中看到"host": "server01.staging"
答案 0 :(得分:0)
你忘了逃避主人和环境之间的点。在正则表达式中,非转义点将匹配任何字符。
这应该有效:
"host" => '\A(?<host>.*?)\.(?<env>.*)'