코딩은하고싶을때
로그인
코딩은하고싶을때
로그인
[ES] LogStash로 기존 RDBMS와 ES 동기화 시키기
코박
·
2022년 8월 9일
팔로우
0
Logstash
logstash mysql
logstash 동기화
로그스태시
로그스태시 동기화
0
ElasticSearch
목록 보기
4/5
Logstash와 MySQL 동기화
설치한 LogStash 접속
sudo docker exec -u 0 -it logstash /bin/bash
(해당 명령어로 접속해야 root 권한 획득 가능)
명령어 설치
sudo 패키지 설치
yum install sudo
wget 패키지 설치
sudo yum install wget
연동 준비
MySQL-Connector-J 설치
wget
https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.18.tar.gz
받은 tar 파일 압축해제
tar -xvf ./mysql-connector-java-8.0.18.tar.gz
필요없는 파일 제거
rm -rf ./mysql-connector-java-8.0.18.tar.gz
bin 폴더내에 사용자 폴더 생성
cd bin/
mkdir hofe
생성한 폴더로 jar 파일 이동시키기
cp mysql-connector-java-8.0.18/mysql-connector-java-8.0.18.jar /usr/share/logstash/bin/hofe
필요없는 파일 다시 제거
rm -rf mysql-connector-java-8.0.18
연동
중복 instance 제거
cd data
ll -lah
rm -rf .lock (에러 날 시 .lock 대응책 마련)
config 설정
cd config
logstash.yml 설정
- path.data 설정 안해줄 시 instance 중복 오류 발생
pipeliness.yml 설정
- 여러개의 파이프라인 설정 가능
index_metadata 디렉토리 생성
mkdir index_metadata
.dat 파일 생성
조회 할 테이블의 첫번째 데이터의 식별 문자를 기입
ex) --- 1
.conf 파일을 넣을 사용자 디렉토리 생성
mkdir customconf
conf 파일 생성
input, filter, output 순서로 구성
각 속성에 맞게 값 입력
filter에서 받아온 데이터 가공가능 (여러 플러그인 보유)
주요 속성:
- jdbc_driver_library: Connector-J 파일의 path
use_column_value: 해당 칼럼의 값을 사용
tracking_column: 읽어나갈 식별할 칼럼
last_run_metadata_path: 읽어나갈 기준이 될 문자/숫자의 값을 저장해둔 파일 path
statement: 데이터를 가져올 쿼리문
schedule: 주기 (ex: 1분 => * * * * * )
doc_as_upsert: 값이있다면 update, 없으면 insert
document_id: 해당 데이터의 식별 값
- ex(%{[@metadata][_id]} 를 통해 식별번호를 기준)
실행
./bin/logstash
정상적으로 쿼리가 날아가며 내부 데이터 정보가 로그에 찍히면 정상적으로 잘 읽어오고 잘 넣고 있다는 뜻!
코박
웹 개발자 할래요
팔로우
이전 포스트
[ES] ELK 스택 준비
다음 포스트
[ES] ELK X-pack 적용 (보안)
0개의 댓글
댓글 작성