logstash同步数据

前段时间有考核任务,需要学习logstash来将mysql的数据同步到ES,现将同步数据的demo分享。其主要功能为日志搜索处理,这部分日后用到了补充。

logstash同步数据

mysql----->ES

  • logstash安装:下载解压即可用
  • logstash启动:到安装目录bin下打开cmd(命令提示行)窗口,执行命令logstash -f 配置文件.conf
  • 自定义同步配置文件(重点):
    通过jdbc连接驱动来连接数据库
//输入
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即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值