Добрый день.
Установил эластик версии 7.0.0.
В настройках прописал имя нового индекса:
#==================== Elasticsearch template ==========================
# загружать шаблон индекса в эластик, если шаблон есть он не перезаписывается
setup.template.enabled: true
# имя шаблона искомого в эластике для разбора индекса
setup.template.name: "onectj"
# паттерн шаблона
setup.template.pattern: "onectj-*"
setup.template.json.enabled: false
setup.template.json.path: "${path.config}\\onectj.json"
setup.template.json.name: "onectj"
# загрузить шаблон filebeat в elastic
#setup.template.overwrite: true
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
# имя индекса, если нет то создается новый
index: "onectj-%{+yyyy.MM.dd}"
# разобъем на индексы по типам сообщений
indices:
- index: "onectj-scall-%{+yyyy.MM.dd}"
when.contains:
message: "SCALL"
- index: "onectj-call-%{+yyyy.MM.dd}"
when.contains:
message: "CALL"
- index: "onectj-conn-%{+yyyy.MM.dd}"
when.contains:
message: "CONN"
- index: "onectj-excp-%{+yyyy.MM.dd}"
when.contains:
message: "EXCP"
- index: "onectj-hasp-%{+yyyy.MM.dd}"
when.contains:
message: "HASP"
timeout: 60
pipeline: "onectj_pipeline"
#==============================================
Но создается основной индекс filebeat-7.0.0-2019.06.17-000001 по другой маске, почему?
При этом по индексам созданным по условиям все создается корректно и применяется шаблон.
$ grep ILM < filebeat 130 ↵
2019-06-17T07:09:31.354-0400 INFO [index-management] idxmgmt/std.go:165 Set output.elasticsearch.index to 'filebeat-7.1.1' as ILM is enabled.
do not generate ilm policy: exists=true, overwrite=false
2019-06-17T09:45:09.184+0700
INFO
[index-management]
idxmgmt/std.go:238
ILM policy successfully loaded.
2019-06-17T09:45:09.184+0700
INFO
[index-management]
idxmgmt/std.go:361
Set setup.template.name to '{filebeat-7.0.0 {now/d}-000001}' as ILM is enabled.
2019-06-17T09:45:09.184+0700
INFO
[index-management]
idxmgmt/std.go:366
Set setup.template.pattern to 'filebeat-7.0.0-*' as ILM is enabled.
2019-06-17T09:45:09.184+0700
INFO
[index-management]
idxmgmt/std.go:400
Set settings.index.lifecycle.rollover_alias in template to {filebeat-7.0.0 {now/d}-000001} as ILM is enabled.
2019-06-17T09:45:09.184+0700
INFO
[index-management]
idxmgmt/std.go:404
Set settings.index.lifecycle.name in template to {filebeat-7.0.0 map[policy:{"phases":{"hot":{"actions":{"rollover":{"max_age":"30d","max_size":"50gb"}}}}}]} as ILM is enabled.
Оказывается политика управления жизненным циклом индекса по умолчанию подставляет свои обозначения, чтобы брались настройки надо либо ее отключить либо доработать.
Для отключения добавил секцию
#============================== Setup ILM =====================================
# Configure Index Lifecycle Management Index Lifecycle Management creates a
# write alias and adds additional settings to the template.
# The elasticsearch.output.index setting will be replaced with the write alias
# if ILM is enabled.
# Enabled ILM support. Valid values are true, false, and auto. The beat will
# detect availabilty of Index Lifecycle Management in Elasticsearch and enable
# or disable ILM support.
# изменение имени индекса по умолчанию будет игнорироваться
# если включена ILM (управление жизненным циклом индекса)
# filebeat 7.0+
setup.ilm.enabled: false
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.