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的配置文件。
我设置了一个 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的配置文件。