[ERROR] Logstash (Broker may not be available)

KwangYong·2024년 3월 8일

TFT

목록 보기
4/5
post-thumbnail

에러 로그

User
[2024-03-08T06:52:19,437]
[WARN ]
[org.apache.kafka.clients.NetworkClient][main]
[f155bb9de90915a9c48733ef822fc063803f4a142888f711e13b6b2bfdeb7096] 
[Consumer clientId=logstash-0, groupId=logstash] 
Connection to node 1 (localhost/127.0.0.1:9092) 
could not be established. Broker may not be available.

docker-compose.yml 파일의 설정을 살펴보면, Kafka 서비스에 대한 KAFKA_ADVERTISED_LISTENERS 설정이 중요한 역할을 합니다. 현재 설정된 내용은 Kafka 서비스가 내부적으로 kafka:29092에서 통신하고, 외부 호스트 OS에서는 localhost:9092를 통해 접근할 수 있도록 설정되어 있습니다. 이 설정은 가상 환경 내부에서 Kafka에 접근하는 서비스와 호스트 OS에서 Kafka에 접근하는 서비스 모두를 고려한 것입니다.

Logstash 설정에서는 KAFKA_BOOTSTRAP_SERVERS 환경 변수가 kafka:29092로 설정되어 있는데, 이는 Logstash가 동일한 Docker 네트워크 내에서 Kafka 서비스에 접근하기 위한 설정입니다.

그러나 Logstash가 localhost:9092에 접근하지 못하는 오류가 발생하고 있습니다. 이는 localhost가 Logstash 컨테이너의 관점에서 볼 때, 해당 컨테이너 자체를 가리키기 때문에 발생할 수 있는 문제입니다. 즉, Logstash는 자신의 localhost에서 Kafka 서버를 찾고 있지만, 실제 Kafka 서버는 다른 컨테이너(또는 가상 환경)에 위치해 있습니다.

시도
docker-compose.yml에서 logstash의 environment 설정을 추가함

  logstash-oss:
     image: opensearchproject/logstash-oss-with-opensearch-output-plugin:7.13.2
     container_name: logstash-oss
     volumes:
      - /data/logstash/data:/usr/share/logstash/data
      - /data/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
     ports:
       - 5044:5044
     restart: always
     environment:
       - ES_HOST=opensearch
       - KAFKA_BOOTSTRAP_SERVERS=kafka:29092

하지만 같은 에러가 발생함.

해결 방법

Logstash 환경 변수 변경: KAFKA_BOOTSTRAP_SERVERS 환경 변수를 localhost:9092에서 kafka:29092로 변경하여, Logstash가 Kafka 서버에 올바르게 접근하도록 합니다.

root@ubuntu-VirtualBox:/data/logstash/pipeline# ls
logstash.conf

logstash.conf 에서 input 설정의 kafka bootstrap_server port가 9092로 설정돼있었는데 29092로 변경함

input {

        kafka {

                codec => plain

                bootstrap_servers =>  "kafka:29092"

                group_id => "logstash"

                topics => ["test_input"]

                consumer_threads => 1

        }

}
profile
바른 자세로 코딩합니다 👦🏻💻

0개의 댓글