시스템환경
OS version : MacOS sonoma
logstash version : 7.17.3
mysql version: 8.2.0
logstash 설치하기
저는 local 환경에서 진행한 점 참고 부탁드리며, elasticsearch와 kibana가 설치가 안되어있다면 여기서 게시글을 보고 먼저 다운 받아주세요 !
먼저 logstash를 설치하기 위해 아래 사이트를 통해 알맞은 버전으로 다운로드 받아줍니다.
이후 tar.gz파일의 압축을 풀어줍니다.
MySQL Connector 파일 다운받기
아래의 경로를 통해 사용 중인 MySQL의 버전과 맞게 다운 받아주세요 !
이후 .jar파일을 아래의 경로에 넣어줍니다 !
logstash-7.17.3/logstash-core/lib/jars
logstash.conf 파일 설정하기
logstash-7.17.3/config
상단의 경로로 이동했을 때 logstash.conf 파일이 안보이더라구요...? 그래서 해당 파일을 하나 생성한 뒤 아래와 같이 설정해주었습니다.
input {
jdbc {
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_driver_library => "/Users/ichanhan/Desktop/coding/tools/logstash-7.17.3/logstash-core/lib/jars/mysql-connector-j-8.2.0.jar"
jdbc_connection_string => "jdbc:mysql://localhost:3306/TheJapen?serverTimezone=Asia/Seoul"
jdbc_user => "DBUSER"
jdbc_password => "DBPASSWORD"
statement => "SELECT * FROM word ORDER BY word_num"
use_column_value => true
record_last_run => true
tracking_column => "word_num"
clean_run => true
schedule => "*/3 * * * *"
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "word"
document_id => "%{word_num}"
}
}
설정파일의 역할
설정 내용들의 역할 설명에 앞서 우선저는 filter를 사용하지 않은 점 참고 부탁드리겠습니다.
input : logstash에서 데이터를 수집하기 위한 정보를 등록합니다. (sql이외에 csv 등 다양하게 이용할 수 있습니다.)
jdbc : logstash가 Mysql에 연결하기 위한 JDBC를 설정합니다.
jdbc_driver_class : 사용할 JDBC 드라이버 클래스를 정의합니다.
jdbc_driver_library : JDBC 드라이버 JAR 파일의 경로를 지정합니다.
jdbc_connection_string : JDBC를 통해 연결할 데이터베이스의 연결 문자열을 지정합니다.
jdbc_user와 jdbc_password : 데이터베이스에 연결할 때 사용할 사용자 이름과 비밀번호를 지정합니다.
statement : 실행할 SQL 쿼리를 지정합니다.
use_column_value : 컬럼 값을 사용하여 변경 사항을 추적할지 여부를 지정합니다.
record_last_run : 마지막 실행 시간을 기록할지 여부를 지정합니다.
tracking_column : 변경 사항을 추척할 컬럼을 지정합니다.
clean_run : logstash 시작 시 이전 실행 기록을 제거할지 여부를 지정합니다.
schedule : 실행 스케줄을 cron 표현식으로 지정합니다. (설정해 놓은건 3분마다 한번씩 갱신)
jdbc_fetch_size : 각 쿼리에서 한 번에 가져올 행의 수를 지정합니다.
output : 수집한 데이터를 전달하기 위한 정보를 등록합니다.
elasticsearch : elasticsearch로 데이터를 전달하기 위해 정보를 등록합니다.
hosts : elasticsearch 클러스터의 호스트를 지정합니다.
index : elasticsearch에 색인될 인덱스 이름을 지정합니다.
document_id : elasticsearch에 저장될 문서의 ID를 지정합니다.
logstash 실행하기
logstash폴더로 접속한 뒤 아래 명령어를 통해 실행할 수 있습니다 !!
./bin/logstash -f config/logstash.conf
'개발공부 > Elasticsearch' 카테고리의 다른 글
[Elasticsearch] elasticsearch 기본 설정 및 cluster 구성하기(start error) (0) | 2024.05.13 |
---|---|
[ELK] logstash와 mysql 다중 테이블 가져오기 (0) | 2024.04.25 |
[EKL] Elasticsearch와 kibana 로컬서버에 설치하기 ! (0) | 2024.04.22 |
[EKL] Elasticsearch란 ? (0) | 2024.04.17 |
개발의 모든 것 !
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!