Logstashフィルタでネストされたフィールドのコピーを作成したかったが、正しい構文がわからない。Logstash mutate.add_fieldを使用してネストされたフィールドをコピーする
正しくない構文:
mutate {
add_field => { "received_from" => %{beat.hostname} }
}
beat.hostnameがbeat.hostnameが交換されていない
mutate {
add_field => { "received_from" => "%{beat.hostname}" }
}
置き換えられません
mutate {
add_field => { "received_from" => "%{[beat][hostname]}" }
}
beat.hostnameをここに は、私がしようとするものです交換されない
mutate {
add_field => { "received_from" => "%[beat][hostname]" }
}
途中です。ネストされていないフィールドを与えると、期待どおりに動作します。
{
"@timestamp" => "2016-08-24T13:01:28.369Z",
"beat" => {
"hostname" => "etg-dbs-master-tmp",
"name" => "etg-dbs-master-tmp"
},
"count" => 1,
"fs" => {
"device_name" => "/dev/vdb",
"total" => 5150212096,
"used" => 99287040,
"used_p" => 0.02,
"free" => 5050925056,
"avail" => 4765712384,
"files" => 327680,
"free_files" => 326476,
"mount_point" => "/opt/ws-etg/datas"
},
"type" => "filesystem",
"@version" => "1",
"tags" => [
[0] "topbeat"
],
"received_at" => "2016-08-24T13:01:28.369Z",
"received_from" => "%[beat][hostname]"
}
は、あなたが使用しているlogstashの設定の関連部分を表示することができますか? – Val
私は再現できませんでした。 'add_field => {" received_from "=>"%{[beatname [hostname]} "}'とlogstash-2.2.2を使って私のために働いた – baudsp
私は私の答えが少し長いことを知っています。あなたの問題は何だったの?ネストされた値の新しいフィールドを書きたいのですか?または、ネストされたフィールドを他のフィールドの値に置き換えますか? – pandaadb