[LOGSTASH] 02. Logstash Mysql input 사용하기
1. conf파일 기본 형태
#데이터를 가지고옴.
input {
}
#데이터를 가공함.
filter {
}
#데이터를 출력함.
output {
}
2. mysql에서 데이터 가져와서 파일로 생성해보기.
1) mysql-connector를 직접 다운받아, path를 지정해줘야함.
(1) connector 다운로드
wget ‘https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz’
- ‘https://dev.mysql.com/downloads/connector/j/’ 링크를 통해서 직접 다운로드 받을 수도 있다.
(2) 압축풀기
tar -xvf ./mysql-connector-java-5.1.46.tar.gz
(3) 파일이동
- 필요한 파일만 원하는 디렉토리로 이동
mv ./mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar ./lib/mysql-connector-java-5.1.46.jar
(4) 불필요한 파일 삭제
rm -rf ./mysql-connector-java-5.1.46*
- pwd 명령어를 사용하면 편하게 path를 가져올수있음.
2) mysql로 input 사용
(1) plugin 확인
bin/logstash-plugin list jdbc
- 없을 경우 install 해야한다.
bin/logstash-plugin install logstash-input-jdbc
(2) input conf
input {
jdbc {
jdbc_driver_library => "~/lib/mysql-connector-java-5.1.46.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=utf8&useSSL=false"
jdbc_user => "user_name"
jdbc_password => "user_password"
statement => "SELECT 1 FROM DUAL"
}
}
- 옵션설명(https://www.elastic.co/guide/en/logstash/6.2/plugins-inputs-jdbc.html)
옵션명 | 기능 | 비고 |
---|---|---|
jdbc_driver_library | mysql-connector 라이브러리 위치 | 앞에서 다운받은 위치 |
jdbc_driver_class | 드라이버 클래스 | Mysql : com.mysql.jdbc.Driver |
jdbc_connection_string | Connect String 설정 | |
jdbc_user | 계정명 | |
jdbc_password | 계정 비밀번호 | |
statement | 조회하려는 쿼리 | SELECT 1 FROM DUAL |
(3) 간단하게 확인하기 위해 json 형태로 출력하자
output {
stdout { codec => json }
}
(4) 실행 확인
- 문법확인도 함께 하려면 옵션에 -t 를 추가한다.
bin/logstash -f ~/sample.conf
- 응답
[INFO ][logstash.inputs.jdbc ] (0.041156s) SELECT 1 FROM DUAL
{"1":1,"@version":"1","@timestamp":"2018-03-22T07:44:43.471Z"}