logstashでindexを作成する際のmappingの設定はlogstash.yml内に記載するのでしょうか?
Logstashのoutput-elasticsearchでデータを送ってIndexを作成する場合、そのときはtemplateを使ってmapping情報が構成されます。
ですので、templateをどう指定できるかと考えた方が良いかと思います。
詳しくは以下を見てください。
a template is applied to Elasticsearch during Logstash’s startup if one with the name
template_name
does not already exist.
manate_template(初期値true)の他にテンプレートをどのように指定できるか、という観点では以下の3つがポイントになるかと思います。
- template
- template_name
- template_overwrite (上書きするならtrue デフォルト値はfalse)
これを踏まえますと、例えばこんな指定ができます。
output {
elasticsearch {
hosts => ["https://localhost:9200"]
index => "forum1102"
template => "my_template.json"
template_name => "my_template"
template_overwrite => true
}
}
templateはjsonが書かれたファイルです。サンプルとしては、logstashの中のフォルダを探すとelasticsearch-template-es7x.json
というファイルがあるかと思うので、そちらを参考にすると良いと思います。
回答ありがとうございます。
jsonファイルでtemplateを作成してlogstash.yml内で指定してあげれば良いんですね!
試して経過をお伝え致します。
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.