Filebeatでインデックス名を任意に作成する方法

filebeat.ymlにインデックス名の設定をしてElasticSearchからファイルを転送したのですが、デフォルトのインデックス名(filebeat-%{[agent.version]}-%{+yyyy.MM.dd})で作成されてしまいます。インデックスを任意に指定する方法を教えて下さい

■filebeat.yml設定内容(抜粋)
#==================== Elasticsearch template setting ==========================

setup.template.name: "filebeat-test"
setup.template.pattern: "filebeat-test*"
setup.template.settings:
index.number_of_shards: 5
#index.codec: best_compression
#_source.enabled: false

#================================ General =====================================

-------------------------- Elasticsearch output ------------------------------
output.elasticsearch: # Array of hosts to connect to.
hosts: ["localhost:9200"]
index: "filebeat-test-%{[agent.version]}-%{+yyyy.MM.dd}"

こんにちわ。

お使いのバージョンが書かれていないので、7.3.0だと仮定して書きます。

設定箇所としては、outputところでのindexと、templateの設定でindex名は指定できますが、
ILMの部分の設定はどのようにされてますでしょうか?

#============================== Setup ILM =====================================

# Configure index lifecycle management (ILM). These settings create a write
# alias and add additional settings to the index template. When ILM is enabled,
# output.elasticsearch.index is ignored, and the write alias is used to set the
# index name.

# Enable ILM support. Valid values are true, false, and auto. When set to auto
# (the default), the Beat uses index lifecycle management when it connects to a
# cluster that supports ILM; otherwise, it creates daily indices.
#setup.ilm.enabled: auto

ここによりますと、ILMが有効だと output.elasticsearch.indexの設定値は無視されるとあります。

When ILM is enabled, output.elasticsearch.index is ignored,

デフォルトはauto(true)なので、この設定のためにインデックス名を指定できていないのではないでしょうか?

ILMが有効だと、setup.ilm.rollover_aliasの値も設定する必要があるかと思います。

setup.ilm.rollover_alias: "forumtest"

setup.ilm.rollover_aliasの設定で解決できました。
以前これも試していたのですが、設定方法が誤っていたようです。
ご回答ありがとうございました。

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