harue
(harue)
November 21, 2019, 1:32am
1
お世話になります。
Filebeatのs3 inputについて質問です。
公式ドキュメント
s3にログをアップロード後、s3→SQS→Filebeatの疎通を実施しています。
Filebeatのymlにて、ログがアップロードされたs3のバケット名、ファイル名を取得する方法があれば教えてください。
取得理由:バケット名、ファイル名によりindex名を振り分けたいため情報が必要です。
SQSに格納されているメッセージには以下の情報が出力されています。
この情報を取得出来ればと考えております。
"bucket":{"name":"(s3のバケット名)"
"object":{"key":"(ログ名)",
御存知の方はお手数ですが返信をお願い致します。
tsgkdt
(tsgkdt)
November 21, 2019, 3:41am
2
https://www.elastic.co/guide/en/beats/filebeat/current/elasticsearch-output.html#index-option-es
たとえば、バケット名でindexを分けたいということであれば、上記の内容を参考にして以下のように書けるかと思います。
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
index: "test-%{[aws.s3.bucket.name]}"
conditionsに書きたいということでしたら、例えばobject.keyではこのように書けるかと思います。
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
index: "test-%{[aws.s3.bucket.name]}"
indices:
- index: "test-%{[aws.s3.bucket.name]}-aaaaa"
when.contains:
aws.s3.object.key: "hoge"
- index: "test-%{[aws.s3.bucket.name]}-bbbbb"
when.contains:
aws.s3.object.key: "bar"
ご参考になれば幸いです
harue
(harue)
November 21, 2019, 7:08am
3
回答頂きありがとうございます。
Filebeatにて以下変数名で情報を受け取ることができるのですね。
aws.s3.bucket.name
aws.s3.object.key
参考になりました。
ありがとうございました。
system
(system)
Closed
December 20, 2019, 5:07am
5
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.