fluentd使用es插件作为输出

警告
本文最后更新于 2020-06-02 11:50,文中内容可能已过时。

##参数

  • @type (必须) 指定插件
  • host (可选) es主机地址,默认localhost
  • port (可选) es端口,默认9200
  • hosts (可选) 如果是集群,指定多个地址和端口,如果使用此选项,则忽略hostport选项。配置格式如下:
1
2
3
hosts host1:port1,host2:port2,host3:port3
# or
hosts https://customhost.com:443/path,https://username:password@host-failover.com:443
  • user, password (可选) es的登陆凭证
1
2
user fluent
password mysecret
  • scheme (可选) 指定协议,默认http
  • path (可选) restapi用于发出写请求的路径(默认值: nil)
  • index_name (可选) es索引名称,默认fluentd
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 支持使用占位符
index_name fluentd.${tag}

# 可以使用动态的时间占位符
ndex_name fluentd.${tag}.%Y%m%d

# 要使用占位符需要在区块键中设置tag和time键。还需要为缓冲块的时间片指定timekey
<buffer tag, time>
  timekey 1h # chunks per hours ("3600" also available)
</buffer>
  • logstash_format (可选) 设置为true后,Fluentd使用传统的索引名格式logstash-%Y.%m.%d(默认值: false)。 此选项取代index_name选项。
  • @log_leve (可选) 日志级别,支持fatal,error,warn,info,debug,trace.
  • logstash_prefix (optional) 索引的前缀,默认logstash

配置文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
  <source>
    @type http
    port 8888
  </source>
  <match **>
    @type elasticsearch
    host "localhost"
    port 9200
    index_name "fluentd.${tag}.%Y%m%d"
    <buffer tag,time>
      timekey 60s
      flush_mode interval
      flush_interval 10
    </buffer>
  </match>

启动服务td-agent -c demo3.conf

发送日志测试:curl localhost:8888/test1 -d 'json={"aaa":"bbb"}' 等待10秒后,索引已经被创建了

71568-kvzlvbpuwh.png
71568-kvzlvbpuwh.png

请我喝杯水
SoulChild 微信号 微信号
SoulChild 微信打赏 微信打赏
0%