# 【Filebeat】s3のログ情報を取得する方法

**URL:** <https://discuss.elastic.co/t/filebeat-s3/208795>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [November 21, 2019, 1:32am UTC](https://discuss.elastic.co/t/filebeat-s3/208795 "2019-11-21T01:32:28Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![harue](https://avatars.discourse-cdn.com/v4/letter/h/82dd89/32.png) [@harue](https://discuss.elastic.co/u/harue)\
**Post date:** [November 21, 2019, 1:32am UTC](https://discuss.elastic.co/t/filebeat-s3/208795/1 "2019-11-21T01:32:28Z")

</div>

お世話になります。

Filebeatのs3 inputについて質問です。  
[公式ドキュメント](https://www.elastic.co/guide/en/beats/filebeat/7.4/filebeat-input-s3.html#filebeat-input-s3-fields)

s3にログをアップロード後、s3→SQS→Filebeatの疎通を実施しています。

Filebeatのymlにて、ログがアップロードされたs3のバケット名、ファイル名を取得する方法があれば教えてください。  
取得理由：バケット名、ファイル名によりindex名を振り分けたいため情報が必要です。

SQSに格納されているメッセージには以下の情報が出力されています。  
この情報を取得出来ればと考えております。

"bucket":{"name":"(s3のバケット名)"  
"object":{"key":"(ログ名)",

御存知の方はお手数ですが返信をお願い致します。

---

<div class="post-metadata">

**Author:** ![tsgkdt](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tsgkdt/32/39151_2.png) [@tsgkdt](https://discuss.elastic.co/u/tsgkdt)\
**Post date:** [November 21, 2019, 3:41am UTC](https://discuss.elastic.co/t/filebeat-s3/208795/2 "2019-11-21T03:41:07Z")

</div>

[https://www.elastic.co/guide/en/beats/filebeat/current/elasticsearch-output.html#index-option-es](https://www.elastic.co/guide/en/beats/filebeat/current/elasticsearch-output.html#index-option-es)

たとえば、バケット名でindexを分けたいということであれば、上記の内容を参考にして以下のように書けるかと思います。

```auto
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["localhost:9200"]
  index: "test-%{[aws.s3.bucket.name]}"

```

conditionsに書きたいということでしたら、例えばobject.keyではこのように書けるかと思います。

```auto
#-------------------------- 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"

```

ご参考になれば幸いです

---

<div class="post-metadata">

**Author:** ![harue](https://avatars.discourse-cdn.com/v4/letter/h/82dd89/32.png) [@harue](https://discuss.elastic.co/u/harue)\
**Post date:** [November 21, 2019, 7:08am UTC](https://discuss.elastic.co/t/filebeat-s3/208795/3 "2019-11-21T07:08:07Z")

</div>

回答頂きありがとうございます。

Filebeatにて以下変数名で情報を受け取ることができるのですね。

aws.s3.bucket.name  
aws.s3.object.key

参考になりました。  
ありがとうございました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 20, 2019, 5:07am UTC](https://discuss.elastic.co/t/filebeat-s3/208795/5 "2019-12-20T05:07:50Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
