키보드워리어

[ELK] kafka, filebeats 어떻게 설치할까? 본문

ELK

[ELK] kafka, filebeats 어떻게 설치할까?

꽉 쥔 주먹속에 안경닦이 2023. 10. 1. 15:35
728x90

나도 잘 모른다.. 하나하나 천천히 기록해 가면서 해보자.

참고로 현재 최신 엣지버전은 8.10.2이다.

먼저 ELK 설치해주고..

Kafka는 스트리밍 데이터를 처리하고,

Filebeat는 로그 파일을 수집하여 Logstash 또는 Elasticsearch로 전송한다.

그림출처: https://github.com/hotehrud/log-system

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 설치 및 설정

  1. 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를 받자

  1. 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