아무거나

[logstash] db에서 es로 데이터 전송 본문

Data Store/Elastic Stack

[logstash] db에서 es로 데이터 전송

전봉근 2019. 5. 28. 17:00
반응형

[logstash를 이용한 db에서 es로 데이터 전송 5.5.0 기준]

 

# 스펙

# tar.gz 형태

# logstash 5.5.0

# mysql-connector-java-5.1.36.jar

 

1. logstash를 설치한다.

   ex) wget https://artifacts.elastic.co/downloads/logstash/logstash-5.5.0.tar.gz

 

2. logstash 압축을 푼다

   ex) tar -xvzf logstash-5.5.0.tar.gz

 

3. mysql-connector-java-5.1.38.jar 다운

   * 참조 : https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38

   - wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar

 

4. conf파일 생성

   - /logstash-5.5.0/bin/category.conf

#[category.conf]

input {
  jdbc {
    jdbc_driver_library => "../lib/mysql-connector-java-5.1.36.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://{dbhost}:3306/{dbname}"
    jdbc_user => "user"
    jdbc_password => "passwd"

    statement => "select * from category"

    jdbc_pool_timeout => 10
    jdbc_paging_enabled => true
    jdbc_page_size => 10000
  }
}

output {
  elasticsearch {
    hosts => ["http://{esurl}:5004"]
    index => "ws_product"
    document_type => "category"
  }
  stdout {
  	codec => rubydebug
  }
}

 

 

5. 실행

   - cd /logstash-5.5.0/bin

   - ./logstash -f category.conf 로 실행(단, -f 에는 파일 경로를 지정해주어야한다.)

반응형
Comments