备战360第6天
输入插件(input plugins)用于从给定的源系统中提取或接收数据。 Logstash 参考指南中提供了支持的输入插件列表:Input plugins | Logstash Reference [8.2] | Elastic
本次是试用jdbc
Jdbc input plugin | Logstash Reference [8.2] | Elastic
其中参数:
jdbc_driver_library: jdbc驱动路径 如使用"" 需要把驱动jar放到logstash-core/lib/jars路径下 我这里使用的是mysql-connector-java-5.1.47.jar。例:""
-
jdbc_driver_class
: jdbc驱动类全路径名: 因为我这里使用的驱动版本是5.1.47所以这要用com.mysql.jdbc.Driver。例:com.mysql.jdbc.Driver -
jdbc_connection_string: 连接url。例:jdbc:mysql://localhost:8098/test
-
jdbc_user: 数据库用户名
-
jdbc_password: 数据库密码
-
jdbc_validate_connection:是否校验连接。例:true
-
statement:需要执行的语句。例:SELECT * from songs where artist = :favorite_artist 参数可以配合parameters使用
-
parameters: 配合statement参数。例:{ "favorite_artist" => "Beethoven" }
-
schedule:定时运行语句的时间安排,以 Cron 格式例如:“* * * * *”(每分钟执行一次查询,按分钟执行)默认情况下没有时间表。如果没有给出时间表,则语句只运行一次。这里是可以精确到s的。每秒定时:*/1 * * * * *
-
use_column_value: 当设置为 时
true
,使用定义的 tracking_column值作为:sql_last_value
。设置为 时false
,:sql_last_value
反映上次执行查询的时间 -
tracking_column: 需要检测的列,定时任务跟踪的列。
-
tracking_column_type: 定时任务跟踪列的类型,类型为
["numeric", "timestamp"]其中之一
-
last_run_metadata_path:
上次运行时间的文件路径。 例:/home/soft/logstash/lastrun/.project_last_run。内容格式:--- 2022-04-26 09:59:59.000000000 +08:00
输入完整例子:
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:8098/mtc_oefs"
jdbc_user => "root"
jdbc_password => "root"
jdbc_validate_connection => true
jdbc_driver_library => ""
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "SELECT * FROM sys_user"
use_column_value => true
tracking_column => "update_time"
tracking_column_type => "timestamp"
schedule => "*/1 * * * * *"
record_last_run => true
last_run_metadata_path => "/home/soft/logstash/lastrun/.project_last_run"
}
}