是否可以在单个 filebeat.yml 中定义两个 ILM 策略

Is it possible to define two ILM policies in single filebeat.yml

我想知道按以下方式配置 FileBeat 是否可行:

我有一个带有多个 MQTT 主题的 rabbitmq。 我想将来自主题 foo/# 的消息保存在索引 index-foo 中,并将来自主题 bar/# 的消息保存在索引 index-bar 中,以便设置单独的滚动策略。

我设法通过在 filebeat.inputs 上设置 index 属性 将 MQTT 消息拆分为单独的索引,但我无法应用滚动策略。

此外 ILM 语法

setup.ilm:
  enabled: true
  rollover_alias: "jkk-logs-filebeat-yml-rollover_alias"
  pattern: "{now/d}-000001"
  overwrite: true
  policy_name: "jkk-policy"
  policy_file: /usr/share/filebeat/ilm.json

允许只设置一个策略的接缝。

我想避免 运行 两个单独的 FileBeat 实例。

可能吗?任何人都可以向我指出一个教程或 GitHub 存储库来说明如何做到这一点吗?

我正在使用 ES 和 FB 版本 7.17.0(如果它确实重要的话)。

没有办法处理这样的倍数,您需要直接在 Elasticsearch 中设置 ilm 策略,然后告诉 Filebeat 发送到别名

正如 Mark 所指出的,您应该执行以下操作,

使用 Elasticsearch 上的索引模式和 ILM 策略创建两个索引模板。 在 Filebeat 上,禁用 ILM 设置并告诉它将数据发送到别名。

如果您不能在 Filebeat 上使用不同的别名,您可以在两个索引模板上使用摄取管道来根据某些值更改目标索引名称。