logstash output時區差8個小時


  

logstash版本6.3.2,解決方式如下,不需要修改源碼:

 1 input { 
 2     redis { 
 3         host => "127.0.0.1"
 4         port => "6379"
 5         password => "password"
 6         db => 0
 7         key => "key_test"            #隊列名稱
 8         data_type => "list"          #隊列類型
 9         threads => 1
10     }
11 }
12 filter {
13     ruby { 
14         code => "event.set('timestamp', event.get('@timestamp').time.localtime + 8*60*60)" 
15     }
16     ruby {
17         code => "event.set('@timestamp',event.get('timestamp'))"
18     }
19     mutate {
20         remove_field => ["timestamp"]
21     }
22 }
23 output {
24     elasticsearch {
25         hosts => ["127.0.0.1:9200"]
26         action => index
27         index => "index_test"              #es中的索引名稱
28         document_id => "%{id}"             #以數據中的哪個字段做es中的_id
29         document_type => "type_test"       #es中的mapping名稱
30         codec => json_lines
31     }
32     file {
33         path => "/root/data/%{+yyyyMMddHH}.txt"
34     }
35 }

logstash生成文件名中的日期是從@timestamp字段的值中獲取,通過設置filter將timestamp中的時間轉換成系統時間,問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM