Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- nest
- logstash
- 이메일 전송
- Mongoose
- 카카오로그인
- nestjs
- 위크맵
- 구조 분해 할당
- 카카오 소셜로그인
- 위크셋
- DB
- 참조에 의한 객체 복사
- JSON.stringify
- javacript
- AGGREGATE
- 객체
- nextjs
- react-slick
- TypeScript
- 중첩 구조 분해
- nodemailer
- 캐러셀
- Map
- JSON.parse
- 로그스태시
- 자바스크립트
- context switch
- JavaScript
- 화살표 함수
- MongoDB
Archives
- Today
- Total
뚜sh뚜sh
[Logstash] 로그스태시의 input으로 jdbc 플러그인 사용하기 본문
1. JDBC 플러그인 설치
내가 설치한 logstash-8.16.0은 jdbc 플러그인이 포함되어 있어서 따로 설치할 필요 없었다!
logstash에 jdbc 플러그인이 포함되어 있는지 확인하는 방법
- 아래 명령어를 실행했을 때 목록에 logstash-input-jdbc가 포함되어 있는지 확인하면 됨
/path/to/logstash/bin/logstash-plugin list
2. JDBC 드라이버 준비
jdbc 플러그인은 데이터베이스에 연결하기 위해 JDBC 드라이버가 필요했다
나는 MySQL에 연결할 예정이어서 MySQL JDBC 드라이버를 설치했다
3. 로그스태시 설정 파일(logstash.conf)
input {
jdbc {
jdbc_driver_library => "path/to/logstash-8.16.0/lib/mysql-connector-j-9.1.0/mysql-connector-j-9.1.0.jar"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_connection_string => [jdbc_url]
jdbc_user => [username]
jdbc_password => [password]
statement => "SELECT * FROM book WHERE CONVERT_TZ(updated_at, '+09:00', '+00:00') > :sql_last_value"
schedule => "*/1 * * * *"
# 증분 추적을 위한 설정
use_column_value => true
tracking_column => "updated_at"
tracking_column_type => "timestamp"
last_run_metadata_path => "/path/to/logstash-8.16.0/last_run_metadata"
}
}
output {
stdout {
codec => "rubydebug"
}
elasticsearch {
hosts => [[elasticsearch url]]
index => [index name]
document_id => "%{book_id}"
user => [user]
password => [password]
}
}
- jdbc_driver_library: 데이터베이스에 접근하기 위해 필요한 JDBC 드라이버 파일의 경로
- jdbc_driver_class: 사용할 JDBC 드라이버의 클래스 이름
- jdbc_connection_string: 데이터베이스에 연결하기 위한 JDBC URL
- jdbc_user / jdbc_password: 데이터베이스에 접근하기 위한 사용자 이름과 비밀번호
- statement: 주기적으로 실행할 SQL 쿼리, 여기서 :sql_last_value는 마지막 실행 이후 변경된 데이터를 가져오는 데 사용
- schedule: 쿼리를 실행할 주기, 여기서 매 1분마다 쿼리를 실행
- last_run_metadata_path: Logstash가 마지막 실행 시간을 기록하는 파일 경로
4. logstash.yml
config.reload.automatic: true
설정 파일이 변경될 때 자동으로 리로드하도록 설정한다.
sudo systemctl restart logstash
logstash 서비스를 재시작하여 설정이 반영되도록 한다.
'Elasticsearch' 카테고리의 다른 글
Logstash 설정 파일(logstash.conf) (1) | 2024.11.27 |
---|---|
[Logstash] 로그스태시를 시스템 서비스로 설정하는 방법 (0) | 2024.11.14 |
[Logstash] 서버 안에 로그스태시 설치 및 설정 파일 (2) | 2024.11.14 |
Comments