流利的in_http插件给出错误的时间

时间:2017-08-07 18:25:43

标签: fluentd

这是我的配置:

<source>
  @type http
  port 8080
  bind 0.0.0.0
  body_size_limit 1m
  keepalive_timeout 20s
  cors_allow_origins ["http://example.net"]
  add_remote_addr true
</source>

<match log>
  @type sql
  host 127.0.0.1
  port 3306
  database user
  adapter mysql2
  username user
  password pass
  socket /var/run/mysqld/mysqld.sock
  flush_interval 1s
  num_threads 2
  <table>
    table http_logs
    column_mapping 'timestamp:created_at,REMOTE_ADDR:ip,name:name,value:value,value2:value2,url:url'
  </table>
</match>

我将数据发送到mysql, mysql和流利的服务器使用相同的时间和时区,但流利的总是向后发送3小时的时间,所以如果实时是

root@fluentd:~# date
Mon Aug  7 21:22:04 IDT 2017

流利的是插入新数据的时间为:

  

Mon 8月7日18:22:04 IDT 2017

我查看了流畅的输入和输出插件,没有时区配置

1 个答案:

答案 0 :(得分:0)

我认为发生的事情是,在mysql将UTC时间格式转换为距离您的时区大约-3小时的GMT + 0之后,流畅地将您的时间戳转换为UTC格式(没有时区)。

您可以配置流畅的时区,例如example

<match pattern>
  type file
  path /var/log/fluent/myapp
  time_slice_format %Y%m%d
  time_slice_wait 10m
  time_format %Y%m%dT%H%M%S%z
  timezone +08:00
</match>