我正在尝试建立一个流利的服务来收集日志并将其发送到弹性搜索。
一切都很好,除了我无法获得自定义索引名称并保持类似于logstash_format: true
的时间戳。
这是我的fluent.conf文件:
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match *.**>
@type copy
<store>
@type elasticsearch
hosts hostaddressandport
user theuser
password password
include_tag_key true
tag_key @log_name
index_name myindex-%Y.%m
<buffer>
flush_interval 3s
</buffer>
</store>
</match>
该索引实际上是弹性创建的,它显示myindex-%Y.%m
我已经尝试过myindex-$ {%Y.%m}并获得相同的行为。
如果我改用logstash_format: true
,则会得到类似logstash-2019.07.09
的索引,但我不希望这样。
这是我从https://docs.fluentd.org/output/elasticsearch那里得到想法的地方,但是我没有看到预期的行为。
我在上述文档中找到了以下内容:
<buffer tag, time>
timekey 1h # chunks per hours ("3600" also available)
</buffer>
但是它很模糊,我不明白chunk_keys是什么。
答案 0 :(得分:0)
您可以使用logstash_format
和logstash_prefix
来更改索引前缀。不过,这不会使用您需要的日期格式。
logstash_format true
logstash_prefix myindex
答案 1 :(得分:0)
请使用此配置,您将获得索引名称的自定义日期格式
配置文件
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match *.**>
@type copy
<store>
@type elasticsearch
hosts hostaddressandport
user theuser
password password
include_tag_key true
tag_key @log_name
logstash_format true
logstash_dateformat %Y.%m
logstash_prefix index_name
<buffer>
flush_interval 3s
</buffer>
</store>
</match>
输出
indexname-2021.08