目前我正在用mysql做弹性栈,mysql数据库中的数据都可以用logstash进行ElasticSearch,但是当新数据进入mysql数据库时,我需要重新启动logstash,或者可以用logstash配置文件中的schedule来完成
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/testdb"
# The user we wish to execute our statement as
jdbc_user => "root"
jdbc_password => "ankit"
# The path to our downloaded jdbc driver
jdbc_driver_library => "/home/ankit/Downloads/mysql-connector-java-5.1.38.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
#run logstash at an interval of on minute
#schedule => "* * * * * *"
# our query
statement => "SELECT * FROM ghijkl"
}
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/testdb"
# The user we wish to execute our statement as
jdbc_user => "root"
jdbc_password => "ankit"
# The path to our downloaded jdbc driver
jdbc_driver_library => "/home/ankit/Downloads/mysql-connector-java-5.1.38.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
#run logstash at an interval of on minute
#schedule => "* * * * * *"
# our query
statement => "SELECT * FROM abcdef"
}
}
但这不是一个好方法,我正在考虑使用web钩子,但没有资源可以这样做,我尝试从文档页logstash http输入插件,但没有从这方面的帮助。
请帮忙。
1条答案
按热度按时间cmssoen21#
您只能下载最近的数据,比如说每15分钟使用特殊查询:
代替
:sql_last_value
将插入最新记录的时间戳。第一次运行查询时tracking_column
值设置为01.01.1970
.日志存储所需的配置:
对于每个输入,还应指定
last_run_metadata_path
参数以避免将来出现问题,当您有许多输入,而有些输入使用同一个表但不同的架构时,元数据可能会被重写并产生意外的结果。