2017-08-07 28 views
1

這是我的配置:fluentd in_http插件給出錯誤的時間

<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和fluentd服務器都使用相同的時間和時區,但fluentd總髮送時間爲3h向後所以如果真正的時間是

[email protected]:~# date 
Mon Aug 7 21:22:04 IDT 2017 

fluentd隨着時間插入新的數據:

週一8月7日18時22分04秒IDT 2017年

我看了fluentd輸入和輸出插件,有沒有配置的時區

回答

0

我認爲,發生的是,fluentd您timestamp轉換UTC格式(沒有時區)之後,mysql將UTC時間格式轉換爲GMT + 0,這可能是您的時區-3小時。在 參數 '時區':

你可以在這個example配置fluentd時區,如:

<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> 
+0

我越來越[提醒]。我猜這@type sql只是不支持這一點 –

相關問題