0
randonNUM、 は、私が変更したいので、私は動的フィールドは、フィールドのフォーマットは、フィールドが動的であるlogstash名前フィールドを動的
A-B-C::D_[randomNum]
のように見えてきた「 - 」と「_」と[削除randomNUM] 、それが続くとのように見えるだろうだ、
A_B_C::D
は、この問題を解決するための任意のプラグイン/戦略はありますか?
randonNUM、 は、私が変更したいので、私は動的フィールドは、フィールドのフォーマットは、フィールドが動的であるlogstash名前フィールドを動的
A-B-C::D_[randomNum]
のように見えてきた「 - 」と「_」と[削除randomNUM] 、それが続くとのように見えるだろうだ、
A_B_C::D
は、この問題を解決するための任意のプラグイン/戦略はありますか?
あなたは、実際のフィールド名とfieldname
を置き換えてくださいmutate/gsub
フィルタ
filter {
mutate {
gsub => [
# replace random num suffix
"fieldname", "_\d+", "",
# replace all dashes with underscores
"fieldname", "-", "_"
]
}
}
でこれを達成することができるはずです。あなたのコメントを考える
UPDATE
、それはフィールドの動的な名前ではなく、値の判明。このため、ruby
filterを使用して、すなわち、あなたが上記の溶液を使用することはできませんが、次のいずれかが動作するはずです:
filter {
ruby {
code => "
newhash = {}
event.to_hash.each {|key, value|
if key =~ /^CISCO/ then
newkey = key.gsub(/_\d+/, '').gsub('-', '_')
newhash[newkey] = event[key]
event.remove(key)
end
}
newhash.each {|key,value|
event[key] = value
}
"
}
}
このフィルタを実行した後、あなたのイベントは、フィールドA_B_C::D
の代わりに、元A-B-C::D_num
ハイテクを持っていますヴァル、あなたの返事をありがとう!申し訳ありませんが、私はその質問ではっきりしていませんでした。私はrandomNumのためにフィールドを設定する方法はありません。私が特定できるのは、フィールド名の接頭辞です。 "A-B-C :: D_ *"のように – stefansaye
フィールド名ではなくフィールド値です – Val
はい、フィールド名はフィールド値ではありません。私の例では、出力はA-B-C :: D_ [randomNum] => field_valueのようになります。 – stefansaye