Logstash 安装及简单实用(同步MySql数据到Elasticsearch)

Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件

Windows环境:

  1、下载logstash

  地址: https://www.elastic.co/cn/downloads/logstash

  2、下载: mysql-connector-java.jar

  在logstash目录下创建一个mysql目录,把驱动文件放进去。

  2、修改配置文件

  在安装目录下,创建新的配置文件,命名为:mysqltoes.conf 

  这个文件名可以换成其他的,启动时脚本命令改成对应的就可以了。

  在文件中加入以下内容:

input {
  
  # 多张表的同步只需要设置多个jdbc的模块就行了
  jdbc {
      # mysql 数据库链接,shop为数据库名
      jdbc_connection_string => "jdbc:mysql://数据库IP地址:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => ""

      # 驱动
      jdbc_driver_library => "E:/DevelopEnvironment/Logstash/logstash-7.2.0/mysql/mysql-connector-java-8.0.16.jar"

      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"

      #是否分页
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"

      #直接执行sql语句
      statement =>"select * from employee"
      # 执行的sql 文件路径+名称
      # statement_filepath => "/hw/elasticsearch/logstash-6.2.4/bin/test.sql"

      #设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"

      # 索引类型
      #type => "jdbc"
    }

}


output {
  elasticsearch {
        #es的ip和端口
        hosts => ["http://ip:9200"]
        #ES索引名称(自己定义的)
            index => "blog"
        #文档类型
        document_type => "log"
        #设置数据的id为数据库中的字段
        document_id => "%{id}"
    }
    stdout {
        codec => json_lines
    }

}

需要配置好:

数据库地址、数据库账号密码、数据库驱动路径、查询语句、定时扫描时间

es地址、索引、类型、主键字段

配置好后,打开cmd窗口,敲入启动命令:bin\logstash.bat -f config\mysqltoes.conf 如下图所示:

如果找不到文件,请检查命令路径,以及文件名称。

运行成功:

 

猜你喜欢

转载自www.cnblogs.com/zyulike/p/11263113.html