Fluentd 高可用性自定义索引

Fluentd High Availability Custom Index

我设置了一个 fluentd/elasticsearch/kibana 堆栈,与所描述的非常相似 here. When I look at the logs in kibana I notice that they are automatically indexed by day using the format "logstash-[YYYY].[MM].[DD]. Based on the documentation for the fluentd elasticsearch plugin 您似乎可以通过设置 "index_name" 属性 创建自定义索引。

我已经在日志转发器和日志聚合器上都试过了,但我似乎仍然在 elasticsearch 中获得默认索引名称。在 HA 设置中自定义此索引名称还需要其他内容吗?

这是日志转发器配置:

<source>
  type tail
  path /var/log/debug.json
  pos_file /var/log/debug.pos
  tag asdf
  format json
  index_name fluentd
  time_key time_field
</source>

<match *>
  type copy
  <store>
    type stdout
  </store>
  <store>
    type forward
    flush_interval 10s
    <server>
      host [fluentd aggregator]
    </server>
  </store>
</match>

这是日志聚合器配置:

<source>
  type forward
  port 24224
  bind 0.0.0.0
</source>

<match *>
  type copy
  <store>
    type stdout
  </store>
  <store>
    type elasticsearch
    host localhost
    port 9200
    index_name fluentd
    type_name fluentd
    logstash_format true
    include_tag_key true
    flush_interval 10s # for testing
  </store>
</match>

我找到了一个解释此行为的 issue on the fluent-plugin-elasticsearch 存储库。将 "logstash_format" 选项设置为 true 时,"index_name" 字段将被忽略。

从 中删除 logstash_format true。您将获得您的自定义 index.But 您将不会在您的 data.For 中获得时间戳 获得时间戳 您必须更新 ruby 的版本并且然后将时间格式传递给fluentd的配置文件。