Elasticsearch(十一)利用logstash将mysql数据输出到ES

Elasticsearch: 6.4.2
Logstash: 6.4.2

利用Logstash插件logstash-input-jdbc将mysql数据库中的数据存到ES中.

准备工作:

logstatsh的pipeline文件:

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
    stdin {
    }
    jdbc {
      jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=Asia/Shanghai&useSSL=true&useUnicode=true&characterEncoding=UTF-8"
      jdbc_user => "root"
      jdbc_password => "123456"
      jdbc_driver_library => "../jar/mysql-connector-java-5.1.47-bin.jar"
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      statement => "select * from user"
      type => "jdbc"
    }
}
filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}
output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "users"
        document_id => "%{id}"
    }
    stdout {
        codec => json_lines
    }
}
  • jdbc_driver_library:路径是相对于logstash根目录下的config目录。

启动

bin/logstash -f ../config/logstash-mysql.conf

上一篇
使用Psycopg2高效更新数据(一) 使用Psycopg2高效更新数据(一)
Python: 3.7 Psycopg: 2.7 最近要对Postgresql数据库某表中的几百万条数据进行计算并更新某字段的值,在此期间使用过协程+aiopg,7分钟更新2000条数据,速度太慢;后来查看Psycopg2文档发现了一
2018-11-30
下一篇
Elasticsearch(十) Logstash入门 Elasticsearch(十) Logstash入门
Logstash: 6.4.2 1. 配置语法1.1 语法区段Logstash使用{}来定义区段,区域内可以包含插件区域定义,可以在一个区域内定义多个插件;插件区域内可以定义键值设置,例如: input { stdin{} }
2018-11-28
目录