請教如何令filebeat做到多個indexes配上不同template和ilm

我是新手,已測試了filebeat如何取得多個不同log源,也試了單一ilm是怎樣發生,也稍為明白template的用途。
現在有一個以下問題,目標是在同一伺服器上,把/var/log/syslog和/var/log/auth.log經filebeat分別套用在不同template上,然後各自也配不同ilm
例如syslog的ilm是hot 1day, delete 30days,而auth.log的ilm是hot 30 day, delete 365days。
應該要怎樣做?
如果單用Filebeat設定ilm便會所有放進同一indexes裡,我想系統能夠分別有像server001-auth和server001-syslog之類分別查看。

使用版本:
elasticsearch 7.13
filebeat 7.13
kibana 7.13

謝謝

filebeat 的設定上可以自定義 fields,將這兩種不同來源的資料區分開來。

filebeat.inputs:
- type: log
  paths:
    - /var/log/syslog/*
  fields:
    - log_type: syslog
- type: log
  paths:
    - /var/log/auth.log
  fields:
    - log_type: authlog

ILM 自己先在 Elasticsearch 設定好這兩種不同的規則,建立好各自的 aliases,然後把 Filebeat 的 ILM disable,不要讓 Filebeat 自己決定 Elasticsearch output 時的 index name.

setup.ilm.enabled: false

在 output 時,可以指定 index name 包含這個自定義的 fields.

output.elasticsearch:
  hosts: ["http://localhost:9200"]
  index: "server001-%{[fields.log_type]}"

這樣就可以寫到不同的 alias 之中 (這時應該就不用指定日期,就讓 ILM 的機制自己去 rollover index)。

======
中文的討論歡迎到 Facebook 社團: Elasticsearch Taiwan - ELK 台灣臉書群
或是 喬叔的 Elastic 技術交流粉絲頁

好像做到了XD
在filebeat裡備註所有setup.template.XXXX
然後只加入setup.template.enable: false和joecwu介紹的setup.ilm.enabled: false,接著在kibana建立index templates和ilm

成功了,真的大大大的感謝

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