在logstash中修改主机

时间:2017-12-29 09:58:44

标签: logstash

Logstash获取"host": "server01.staging",我想将值除以.并获取"host": "server01", "env": "staging"。有没有办法做到这一点?

我试过了:

grok {
  match => {
    "message" => ...
    "host" => '\A(?<host>.*?).(?<env>.*)'
  }
  overwrite => [ "message", "host" ]

但它仍然在输出中看到"host": "server01.staging"

1 个答案:

答案 0 :(得分:0)

你忘了逃避主人和环境之间的点。在正则表达式中,非转义点将匹配任何字符。

这应该有效:

"host" => '\A(?<host>.*?)\.(?<env>.*)'