【发布时间】:2020-02-28 14:18:53
【问题描述】:
我正在使用 logstash 从 mysql 获取数据并将它们传递给 elasticsearch。
不幸的是,日期格式默认解析为祖鲁时间。
需要获取日期时间格式的数据
像 yyyy-mm-dd H:i:s 没有 t 和 z。下面是我的logstash配置
jdbc {
jdbc_driver_library => "/etc/mysql/driver/mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/db"
jdbc_user => root
jdbc_password => "secret"
tracking_column => "id"
use_column_value=> true
statement => "SELECT * FROM db.logs;"
schedule => " * * * * * *"
}
}
output {
elasticsearch {
document_id=> "%{id}"
document_type => "_doc"
index => "logs"
hosts => "http://localhost:9200"
sniffing => true
}
stdout{
codec => rubydebug
}
}
filter {
date {
match => ["date", "yyyy-MM-dd HH:mm:ss"]
}
}
在这种情况下,我收到了"_dateparsefailure"。
我也尝试使用 mutate gsub 和 convert 但没有成功。
现在,结果是"date" => "2020-02-28T09:18:18.000Z",但预期结果是2020-02-28 9:19:18
【问题讨论】:
标签: mysql elasticsearch logstash