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
- DSL
- typescript
- filebeat
- elastic
- logstash
- elasticsearch
- OPCUA
- node.js
- airflow
- framework
- windows
- ubuntu
- PYTHON
- path.data
- CSV
- 7.7.1
- Data Engineering
- venv
- dense_vector
- Crontab
- grok
- ELK
- configure
- package.json
- kibana
- devtools
- query
- json
- Tutorial
- KoA
Archives
- Today
- Total
Gibbs Kim's playground
[ElasticStack-31] Logstash - JDBC input 본문
SQL DB의 데이터를 Elasticsearch로 인덱싱하려고 할때 logstash conf 파일을 어떻게 설정하는지에 대한 내용을 작성합니다.
== SQL DB (MariaDB) 예시 == | == 테이블 (TEST_TABLE) 예시 ==
PORT : 1234 | NO | ID | CODE_NAME
DB Name : test
User : test_user
PWD : 1234
Table명 : TEST_TABLE
============
Logstash conf 파일 작성내용입니다.
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:1234/test?characterEncoding=UTF-8&serverTimezone=UTC"
jdbc_driver_library => "D:/logstash-7.10.1/mysql-connector-java-8.0.22.jar"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
lowercase_column_names => false
jdbc_user => 'test_user'
jdbc_password => '1234'
statement => "SELECT * from TEST_TABLE"
}
}
filter {
mutate {
remove_field => ["@version", "host", "message", "tags", "path"]
}
}
output {
elasticsearch {
hosts => "localhost:9200"
index => "test_table_data"
document_id => "%{[NO]}_%{[ID]}_%{[CODE_NAME]}"
}
}
특이사항으로, 로그스태시는 DB의 컬럼명을 무조건 소문자로 변환하여 엘라스틱서치에 저장합니다.
(예시 기준으로 생성되는 필드명은 no, id, code_name)
해당 사항을 피하면서 기존 DB의 컬럼명을 그대로 사용하고 싶을때는 위와같이 옵션을 추가해줍니다.
(lowercase_column_names => false)
옵션을 선언하지 않는다면 기본값이 'true'이기에 DB의 컬럼명이 엘라스틱서치에서 소문자로 저장됩니다.
관련 링크 : LINK
'Tech 기록지 > Elastic Stack' 카테고리의 다른 글
[ElasticStack-33] Machinebeat test with opcua (0) | 2021.06.01 |
---|---|
[ElasticStack-32] Elasticsearch (On-premise) to Elasticsearch (Cloud) through Logstash (0) | 2021.03.03 |
[ElasticStack-30] Elastic Cloud 사용자 사전 (0) | 2021.03.03 |
[ElasticStack-29] Elasticsearch 동의어 관리 방식 (2) | 2020.09.01 |
[ElasticStack-28] search.max_buckets, max_result_window 사이즈 증가 (0) | 2020.08.18 |