Fluentd提取发送日志中的value-SingleValue

使用Fluentd收集的日志,fluentd会加上time,tag,以及json格式字符串一起存入日志中,有时需要将time,tag去除,并且取出希望得到的json格式字符串中的字段。

fluentd日志格式如下:

2016-09-18T23:42:36+08:00 docker.temp01 {“container_id”:”cc3c42b73c43eb56f53804da81f3ea7850d0f85bf48f7b3095b73d841dee7010″,”container_name”:”/temp01″,”source”:”stdout”,”log”:”hello”}

由于这里是存储在本地磁盘,所以使用的Plugin是 file Output Plugin

服务器端fluentd

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

<match err.docker.*>
  type forest
  subtype file
  <template>
    output_tag false
    output_time false
    message_key log
    format single_value
    type file_alternative
    path /home/lee/fluentd-log/${tag_parts[2]}/temp
  </template>
</match>

这里的forest和file_alternative是为了给日志输出指定路径,用法参考

添加output_tag和utput_time两个字段,并设置为false,不输出timetag

message_key log和format single_value将json格式中log字段提取出来

打印日志格式变为:[I 160918 20:22:25 web:1971] 304 GET / (192.168.126.1) 1.30ms

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部