Logstash mutate filterのドットの扱い


Logstash filter mutate pluginとは

Logstashでログを加工する時に、必ず使うのが「filter plugin」
その中でも、「mutate」は、fieldを消したり、リネームしたり、追加したりなど利用することが多いが、ドットが付いているfieldはnestedデータとして扱われるので、そのままでは「mutate」を使うことができない。

やりたいこと

  • data1.data2 を data1 にしたい
  • data1.data2.data3 を data1.data2 にしたい
  • data1data2 を data1 にしたい

環境

  • logstash-7.7.0

OK

       mutate {
           rename  => { "[data1][data2]"  => "data1" }
           rename  => { "[data1][data2][data3]"  => "[data1][data2]" }
        }

NG

       mutate {
           rename  => { "data1.data2"  => "data1" }
           rename  => { "data1.data2.data3"  => "data1.data2" }
        }

OK

       mutate {
           rename  => { "data1data2"  => "data1" }
        }

Elastic document.