ELK 스택/Filebeat+ELK
[ MySQL + ELK ] Logstash과 MySQL DB 연동하기
new_challenge
2020. 1. 2. 23:59
반응형
[Filebeat+ELK] 첫번째 로그 모니터링 서버 구축기
03. MySQL DB와 연동하기
DB에 존재하는 파일들을 Logstash를 통해 전처리하여 엘라스틱서치에 전달하는 과정의
파이프라인을 진행, 또한 최종적으로 DB의 데이터를 키바나를 통해 시각화
DB-connector 다운로드 (MySQL)
"우선 DB와 연결하기 위해서는 연결하기 위한 connector가 필요하다"
Connector 다운
- 아래 링크를 타고 들어가면 최신 버전을 확인 할 수 있으니 확인 후 다운
$ wget 'https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.18.tar.gz'
https://dev.mysql.com/downloads/connector/j/
압축풀기
- 다운 받은 압축 파일을 풀어준다.
tar -xvf ./mysql-connector-java-8.0.18.tar.gz
필요한 파일 위치 변경 후 남은 파일 삭제
- 압축해제 후 필요한 파일만 원하는 위치로 이동 후 남은 파일은 삭제한다
$ mv ./mysql-connector-java-8.0.18/mysql-connector-java-8.0.18.jar ./lib/mysql-connector
-java-8.0.18.jar
$ rm -rf ./mysql-connector-java-8.0.18*
Logstash input plugin 설치
MySQL을 로그스테이시의 인풋으로 사용하기 위한 플러그인 설치
- deb으로 logstash 설치 시 bin 폴더의 위치는 /usr/share/logstash에 존재한다
bin/logstash-plugin install logstash-input-jdbc
Logstash input conf 설정
- Input으로 jdbc를 사용
- Input 설정에 관한 자세한 사항은 공식 문서를 통해 확인 가능함
input {
jdbc {
jdbc_driver_library => "위에서 설치한 connector의 위치"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql:[MySQL_접속경로]/[데이터베이스_이름]"
jdbc_user => "유저이름"
jdbc_password => "비밀번호"
statement => "쿼리문"
schedule => "* * * * *" # Query주기 설정
}
}
# 필터가 필요하다면 아래 설정
filter {
}
# Elasticsearch로 output 설정
output {
elasticsearch {
host
}
}
< 공식 문서 링크 >
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html
반응형