๐กflow ์ดํด
1. ์ฐ์ ๋ด๊ฐ ์์งํ๋ ค๋ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ master / detail ๋ก ๋๋์ด์ ธ ์์
- ์ธ๋ฑ์ค ํ๋๋ก field๋ผ๋ ๊ตฌ๋ถ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์์งํ ์์
2. filebeat.yml์์ data input, output ์ธํ ํด์ค
3. kafka ํ ํฝ์ผ๋ก ์ ํ์ผ์ ์์งํ๋๋ก ํจ
4. logstash๋ ํ ํฝ๊ณผ ์ฐ๊ฒฐํ์ฌ ํ ํฝ ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ elastic์ ๋ฟ๋ ค์ค
filebeat > kafka > logstash > elasticsearch
๐ก์ค์ต
1. filebeat.yml (permission X์ธ ๊ฒฝ์ฐ sudo๋ก ์งํ)
filebeat inputs ๋ถ๋ถ์ fields๋ก master / detail ๊ตฌ๋ถํด์ฃผ๋๋ก ํจ
๋ค๋ฅธ output๋ถ๋ถ ์ฃผ์์ฒ๋ฆฌํด์ฃผ๊ณ kafka ๋ถ๋ถ๋ง ์ฃผ์์ ๊ฑฐํ์ฌ ํ ํฝ ์ค์ ํด์ฃผ๋๋ก ํจ
(hosts์ https๋ถ์ด์ง ์๋๋ก ์ ์ํ๊ธฐ!)
์ ์ฅ ํ ํ์ผ๋นํธ ์คํํ๊ธฐ ./filebeat -e (sudo ./filebeat -e)
2. ์นดํ์นด ํด๋๋ก ์ด๋ํ์ฌ ์๋ฒ ๊ธฐ๋์ํค๊ธฐ
./bin/kafka-server-start.sh ./config/kraft/server.properties
3. topic list ํ์ธํ๊ธฐ
bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
apple-topic ๋ค์ด์จ ๊ฑธ ํ์ธํ ์ ์์
๊ทธ๋ผ ์ ํ ํฝ์์ filebeat๋ก ์ ๋ฐ์ดํฐ๊ฐ ์์ง๋์ด ์๋ ๊ฒ!
์๋ ๋ช ๋ น์ด ํตํด์ ํ ํฝ ์ ๋ฐ์ดํฐ๋ค์ ํ์ธํ ์ ์์
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic apple-topic
4. ๋ก๊ทธ์คํ์ ํด๋๋ก ์ด๋ (์๋ ๋ช ๋ น์ด ์ ๋ ฅ)
vi kafka.conf
์๋์ ๊ฐ์ด ์ ๋ ฅํด์ค
input {
kafka {
bootstrap_servers => "localhost:9092"
group_id => "logstash"
topics => ["apple-topic"]
auto_offset_reset => "earliest"
}
}
output {
elasticsearch {
hosts => ["https://localhost:9200"]
index => "apple_test"
ssl_certificate_verification => false
user => "elastic"
password => "elastic"
}
}
5. ๋ก๊ทธ์คํ์ ์คํ - elasticsearch๋ก ์ธ๋ฑ์ค ์์ฑ๋์ด ์ถ๊ฐ๋จ
bin/logstash -f kafka.conf
'DataBase' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kafka] Additional Components (0) | 2024.04.09 |
---|---|
[Kafka] Core Overview (0) | 2024.04.02 |
[Elastic Search] Lab 5.3 aggregations (0) | 2024.01.30 |
[Elastic Search] Analyzer (tokenizer, char_filter, token filter) (1) | 2024.01.10 |
[Elastic Search] Multi cluster operations (CCR,CCS) (0) | 2024.01.10 |
๋๊ธ