LogStash 同步 MySQL 数据到控制台
LogStash 版本: logstash-7.6.2
在上一个示例中,我们演示了从标准输入到标准输出和到 ES 的过程。
此次我们将 MySQL 中的数据同步到标准输出,也就是输出到控制台。
插件 logstash-input-jdbc
LogStash 要访问 MySQL 数据库需要安装 jdbc 插件。
由于我们使用的 LogStash 的版本为 7.6.2 因此我们不用安装 logstash-input-jdbc 插件。
旧版本的话可能需要安装。安装命令如下:
.\bin\logstash-plugin install logstash-input-jdbc
创建配置文件
在 LogStash 目录下创建一个名为 my 的新目录(名称随意),新目录来存放配置文件。
在目录下创建文件 logstash-mysql-simple-short.conf
内容如下:
input {
jdbc {
jdbc_driver_library => "./my/mysql-connector-java-8.0.19.jar"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://192.168.0.2:3306/template?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
jdbc_user => "root"
jdbc_password => "123456"
schedule => "* * * * *"
statement => "select * from user"
}
}
output{
stdout { codec => rubydebug }
}
对比一下之前的配置文件内容:
input { stdin { } }
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
新的配置文件,input 即输入不再是 stdin,而是 jdbc。
而后 jdbc_driver_library、jdbc_driver_class、jdbc_connection_string、jdbc_user、jdbc_password 都是对连接数据库进行的配置。
schedule 是类似 Corn 表达式的一种写法。这里的 * 表示每分钟同步一次数据。
statement 是执行的语句,也就是我们把 user 表里面的记录同步了过来。
下载 Java 驱动
上面的配置文件中指定了 Java 驱动的 Jar 包,因此我们需要自己下载。
驱动下载地址:
https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.19/mysql-connector-java-8.0.19.jar
下载页面:
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.19
下载好的 jar 包也放在 my 目录下即可。
执行
在 LogStash 目录下运行命令./bin/logstash -f ./my/logstash-mysql-simple-short.conf
运行之后,就可以在控制台看到输出的 mysql 记录了。
重要
一定要在 LogStash 目录下执行。因为 jdbc_driver_library 的路径配置是相对路径。
*昵称:
*邮箱:
个人站点:
*想说的话: