Trying to get the Kafka integration working with chirpstack running in Docker, a synthetic device, and Kafka broker running in Docker.
I have the synthetic device talking to Chirpstack in Docker and a HTTP integration working so I know the first part is good.
I verified that I can post and consume messages to the Kafka broker from the command line.
I wanted to enable a Kafka integration. However there is no Integration section for this on the Applications/Integration page. So I simply enabled the Kafka integration in the Chirpstack Application Server toml file.
But when run nothing seems to get to the broker.
However the Chirpstack Application Server log shows that a call is being made to Kafka but the connection is being refused:
time=“2021-11-11T04:21:10.6757893Z” level=error msg=“integration/multi: integration error” ctx_id=8a9d5165-9481-458e-9b65-70aa1c4cfc78 error=“writing message to kafka: dial tcp 127.0.0.1:9093: connect: connection refused” integration="*kafka.Integration"
So presumably the Integration is enabled, though possibly not correctly.
The Kafka log says it has the following error:
kafka Invalid receive (size = 1195725856 larger than 104857600)
which stackoverflow suggests that 1195725856 is GET[space] encoded as a big-endian - implying http data is being sent to the Kafka broker.
I then removed the http integration in case only one integration could be active at one time. But the issue remains.
Googled extensively but seems it works for majority of people so presumably I’m making a neophyte mistake.
Can anyone suggest what setup step I’ve missed? Or point me to a good writeup on how to get the Kafka integration going.