赞
踩
前段时间有考核任务,需要学习logstash来将mysql的数据同步到ES,现将同步数据的demo分享。其主要功能为日志搜索处理,这部分日后用到了补充。
mysql----->ES
logstash -f 配置文件.conf
//输入 input { jdbc { jdbc_driver_library => "D:/environment/mysql-connector-java-8.0.24.jar"//mysql简介驱动的jar包 jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/myproject"//连接的具体数据库 jdbc_user => "root"//用户名密码 jdbc_password => "root" schedule => "* /3 * * * *"//同步事件,此处为3秒一同步 statement => "select m.id,m.value,m.year,m.projectId,p.company,p.name,p.properties from tb_message m,tb_project p where m.projectId=p.id"//查询的sql语句 use_column_value => true tracking_column => "update_time" last_run_metadata_path => "syncpoint_table" type => "jdbc" } } //输出 output { elasticsearch { # ES的IP地址及端口 hosts => ["localhost:9200"]//es服务的地址 # 索引名称 可自定义 index => "my"//要存入es的具体索引 # 需要关联的数据库中有有一个id字段,对应类型中的id document_id => "%{id}"//将数据库中查询出的id字段指定给es的_id document_type => "myproject"//es中具体的type,即要存到该索引库的那个表中 } stdout { # JSON格式输出 codec => json_lines } }
按此配置文件启动logstash即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。