
kafka 입력을 사용하여 kafka의 메시지를 소비하도록 filebeat를 얻으려고 합니다. 어떤 이유로 SASL로 인증할 수 없으며 그 이유가 무엇인지 잘 모르겠습니다. SASL과 함께 사용하려고 하면 Kafka와 Filebeat에 대한 문서가 약간 부족합니다.
내 파일비트 구성은 다음과 같습니다.
filebeat.config:
modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
filebeat.inputs:
- type: kafka
hosts: 'the.kafka.server.com:9092'
topics: 'my_topic'
group_id: 'my_group'
ssl.enabled: yes
username: "$ConnectionString"
password: "org.apache.kafka.common.security.plain.PlainLoginModule required username='my_username' password='my_password';"
processors:
- add_cloud_metadata: ~
- add_docker_metadata: ~
output.console:
pretty: true
출력은 다음과 같습니다
INFO input/input.go:114 Starting input of type: kafka; ID: 14409252276502564738
INFO kafka/log.go:53 kafka message: Initializing new client
INFO kafka/log.go:53 client/metadata fetching metadata for all topics from broker the.kafka.server.com:9092
INFO crawler/crawler.go:106 Loading and starting Inputs completed. Enabled inputs: 1
INFO cfgfile/reload.go:171 Config reloader started
INFO cfgfile/reload.go:226 Loading of config files completed.
INFO kafka/log.go:53 kafka message: Successful SASL handshake. Available mechanisms: %!(EXTRA []string=[PLAIN OAUTHBEARER])
INFO kafka/log.go:53 Failed to read response while authenticating with SASL to broker the.kafka.server.com:9092: EOF
INFO kafka/log.go:53 Closed connection to broker the.kafka.server.com:9092
INFO kafka/log.go:53 client/metadata got error from broker -1 while fetching metadata: EOF
여기서 무슨 일이 일어나고 있는지 잘 모르겠습니다. 나는 또한 compression: none
서버 인증서를 확인할 수 있다는 것을 openssl로 확인하고 도움이 되지 않는 추가를 시도했습니다. 내가 여기서 뭘 잘못하고 있는 걸까? 문제의 kafka 서버는 클라우드 호스팅 kafka 서버이며 서버 구성을 볼 수 없습니다. kafka의 클라우드 UI에서 "연결 문자열"이 제공되었습니다.
답변1
문제를 발견했습니다. $ConnectionString
구문이 합류 클라우드 kafka 클러스터에서 작동하지 않습니다. 올바른 구문은 다음과 같습니다.
filebeat.inputs:
- type: kafka
hosts: 'the.kafka.server.com:9092'
topics: 'my_topic'
group_id: 'my_group'
ssl.enabled: yes
username: <API KEY>
password: <API SECRET>
연결하고 소비하기에 충분합니다.