t-nakata
(NAKATA)
June 3, 2022, 5:14am
1
下記のようなドキュメントをlogstashにて解析し、Elasticsearchに連携しています。
~省略~
"timestamp_log": "2022-06-03T09:01:28.000+09:00",
"awsRegion": "us-east-1",
"requestParameters": {
"template": false,
"resourceId": "5tfEXAMPLE",
"restApiId": "3rbEXAMPLE"
~省略~
}
ネストされたフィールドrequestParameters.resourceIdのみをElasticsearchに連携したい場合、rubyフィルターで実現可能でしょうか?もしくは他に実現方法があればご教示いただけますと幸いです。
pruneフィルターはネストされたフィールドには対応していない認識なので、rubyフィルターで代用できないかと思っております
Yos
June 3, 2022, 5:23am
2
@t-nakata さん
HI TEAM,
I am using ELK version 7.0. Facing an issue with prune filter.
I need to blacklist exact nested fields coming from filebeat. When i tried with below format, prune is unable to blacklist host.architecture field.
Example:
prune {
blacklist_names => [ "^[host][architecture]$" ]
}
Regards,
GR.
が参考になりませんでしょうか?
これを参考に私もネストフィールドの一部を削除したりしています。
t-nakata
(NAKATA)
June 3, 2022, 5:28am
3
ご回答ありがとうございます。頂いたページは私も見たのですが、これは指定したフィールドを削除する処理になるかと思います。(pruneフィルターのblacklist相当)
今回扱うドキュメントはJSON形式となっており、事前に存在しうるフィールドの抽出が困難なため、指定したフィールドのみを連携する処理としたい(pruneフィルターのwhitelist相当)ので、このページとは処理が異なると思っており、こちらに投稿させて頂きました
Yos
June 3, 2022, 6:02am
4
そういう事情があるんですね。
[requestParameters][resourceId]をネストではない新たなフィールドにコピーし、
その新たなフィールドをwhitelistにし、pruneで新たなフィールド以外を削除する
のではダメでしょうか?(すみません、試してはおりません)
mutate{
copy => {
"[requestParameters][resourceId]" => "NewField"
}
}
prune{
whitelist_names => ["^NewField$"]
}
t-nakata
(NAKATA)
June 3, 2022, 7:08am
5
ありがとうございます。可能であればネストされたフィールド構造は維持したいと考えております。
下記によるとrubyでも実現できる旨の記載があるので、問い合わせさせて頂きました。頂いた方式も視野に入れつつ検討しようと思います
Documentation at
has this example and it mentions that it would allow only "msg" through.
filter {
prune {
whitelist_names => ["^msg$"]
}
}
If I have a single record that has
"source" => {
"bytes" => 172,
"ip" => "192.168.56.105",
"port" => 38996
},
.....
"server" => {
"bytes" => 2400,
"ip" => "192.168.56.102",
"port" => 9200
},
Notice how both have the "ip" field. How would I go about on…
1 Like
system
(system)
Closed
July 1, 2022, 7:08am
6
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.