250x250
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
- 자바기초
- eclips
- 코딩초보
- Java
- 배열
- 스프링
- Git
- 자바 스프링
- 리눅스
- 제이쉘
- 프로그래밍언어
- 초보코딩
- 스프링 기초
- 데이터베이스
- 프로그래밍
- 알고리즘
- 클래스
- 프로그래밍기초
- 컴퓨터과학개론
- JShell
- 자바프로그래밍
- 메소드
- 기초코딩
- spring
- JAVA기초
- 이클립스
- github
- Elk
- 자바
- 초보코딩탈출
Archives
- Today
- Total
키보드워리어
[ELK] kafka, filebeats 어떻게 설치할까? 본문
728x90
나도 잘 모른다.. 하나하나 천천히 기록해 가면서 해보자.
참고로 현재 최신 엣지버전은 8.10.2이다.
먼저 ELK 설치해주고..
Kafka는 스트리밍 데이터를 처리하고,
Filebeat는 로그 파일을 수집하여 Logstash 또는 Elasticsearch로 전송한다.
1. Kafka Download & Install (3.5.0)
wget http://www.apache.org/dyn/closer.cgi?path=/kafka/3.5.0/kafka_3.5.0.tgz
tar -xzf kafka_3.5.0.tgz
cd kafka_3.5.0
Zookeeper는 어떻게 해?
공식문서에서 kafka 3.5.0부터 사용중단했다고 한다.
카프카의 config/server.properties로 가서 설정도해준다.
# Broker의 고유 ID.
broker.id=0
# 통신할 포트 설정.
listeners=PLAINTEXT://:9092
# 로그를 저장할 디렉토리 지정.
log.dirs=/tmp/kafka-logs
# 컨슈머가 읽을 수 있는 메시지의 최소 레플리케이션 수.
min.insync.replicas=1
# 토픽에 데이터를 유지할 시간.
log.retention.hours=168
# 삭제되거나 컴팩트된 로그를 유지할 수 있는 시간.
log.segment.bytes=1073741824
# 레플리케이션 팩터 설정.
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
# Log cleaner 설정.
log.cleaner.enable=true
실행은
# cd kafka_3.5.0/bin # bin 디렉터리로 이동
# ls -l # 디렉터리의 파일 목록 확인 명령어
# ./kafka-server-start.sh # 카프카 시작
# ./kafka-server-start.sh ../config/server.properties
다음은 filebeat설정이다.
2. Filebeat 설치 및 설정
- Filebeat Download & Install
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.10.2-linux-x86_64.tar.gz tar -zxvf filebeat
가장 최신 버전 8.10.2를 받자
- Filebeat Configuration
/etc/filebeat/filebeat.yml
파일을 열어 Filebeat를 설정합니다.- output을 Elasticsearch 또는 Logstash로 설정하고, 로그를 읽어올 경로를 설정합니다.
filebeat.inputs: - type: log enabled: true paths: - /var/log/server/req.log fields: topic: req-log output.kafka: hosts: ["kafka-broker1:9092"] topic: 'log' partition.round_robin: reachable_only: false required_acks: 1 compression: gzip max_message_bytes: 1000000
3. Logstash Configuration
- Logstash에서 Kafka input과 Elasticsearch output을 설정합니다.
/etc/logstash/config/logstash.conf
파일을 생성하거나 수정하세요
input {
kafka {
bootstrap_servers => "kafka-broker1:9092"
topics => ["log"]
}
}
## Add your filters / logstash plugins configuration here
output {
elasticsearch {
hosts => "elasticsearch:9200"
index => "req-%{+YYYY.MM.dd}"
ecs_compatibility => disabled
}
}
VM에서 해보자.
그러면 위 세 가지가 작동할까??? 추석 연휴 이후에 회사에서 해보자!
환경변수를 설정하고 해 볼 것이다.
728x90
'ELK' 카테고리의 다른 글
[ELK] ML 학습해보기 (2) | 2023.10.29 |
---|---|
[ELK] JSON 데이터를 파이썬으로 파싱 후 적재해보자. (1) | 2023.10.27 |
[ELK]logstash란? (0) | 2023.10.20 |
[ELK] 키바나 시각화 (2) | 2023.10.09 |
[ELK] 엘라스틱서치 설치 (2) | 2023.10.01 |