带有filebeat的elasticsearch中的动态索引

Dynamic index in elasticsearch with filebeat

我在服务器上安装了 filebeat 并监控以下日志文​​件

C:\appl\dev\*\*\ms\*\*.log

我已经配置filebeat.yml如下

filebeat.inputs:
    - paths:
        - 'C:\appl\dev\*\*\ms\*\*.log'
      type: log
processors:
    - dissect:
        field: log.file.path
        tokenizer: "C:\appl\dev\%{field1}\%{field2}\ms\"

我有两个要求,
一种是使用两个附加字段 filed1 和 field2 获取事件(这是按照上述配置工作的)。
另一种方法是在 elastic 中为索引名称附加此附加字段(field1 或 field2)。

当前索引是一个变量(index: appname-%{[agent.version]}-%{+yyyy.MM.dd})
我需要它 appname-field1-%{[agent.version]}-%{+yyyy.MM.dd}

请指教

在您的输出配置中,您需要更改 index setting,如下所示:

output.elasticsearch:
  hosts: ["http://localhost:9200"]
  index: "appname-%{[field1]}-%{[agent.version]}-%{+yyyy.MM.dd}" 

对我来说添加 output.elasticsearch 还不够,还必须添加 setup.template

output.elasticsearch:
  hosts: ["http://localhost:9200"]
  index: "appname-%{[field1]}-%{[agent.version]}-%{+yyyy.MM.dd}"

setup.template:
  name: 'appname'
  pattern: 'appname-*'
  enabled: false