阅读量:0
利用logstash收集mysql数据库表中的数据,logstash支持jdbc插件,可以用来采集数据库中的数据。
jdbc插件官方手册参考:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html
logstash具体配置示例:
input{ jdbc{ jdbc_driver_library => "/data/jdbc/mysql-connector-java-5.1.49.jar" # mysql驱动存放路径 jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://mysql-ip:3306/database-name" # jdbc连接地址 jdbc_user => "username" # 数据库用户名 jdbc_password => "passwd" # 数据库密码 use_column_value => true tracking_column => "id" # 每次查询基于哪个字段筛选,这个字段必须是自增的(比如这里是字段名是id) schedule => "*/5 * * * *" # 采集频率,每5分钟采集一次 statement => "select * from tabname where id > :sql_last_value" # 查询语句(:sql_last_value是固定的语法) record_last_run => true # 重点在这里,mysql语句中查询的时候必须包含作为偏移量的字段(这里指id字段),如果不包含的话就不更新偏移量文件,然后就会重复的从之前保留的那个偏移量读取数据 last_run_metadata_path => "/data/jdbc/logstash_offset.txt" # 每次查询执行后,变量字段的值保存的位置,即sql_last_value的值 clean_run => false } } output{ stdout{} }