Telegraf与Kafka跨Docker网络时出现DNS解析错误,求助解决
解决Telegraf Kafka消费者DNS解析失败问题
错误日志
[inputs.kafka_consumer] Error in plugin: consume: dial tcp: lookup cd191218e4d8 on 192.168.0.1:53: no such host.
问题分析
该错误是DNS解析失败导致的,核心原因是Telegraf与Kafka容器不在同一Docker网络内,Telegraf无法通过Kafka的容器名(cd191218e4d8)解析到对应的IP地址。
解决方案
方案一:将Telegraf加入Kafka所在的Docker网络
- 查询Kafka容器所属的Docker网络名称:
docker inspect <kafka容器名或ID> | grep -i "networks" - 将Telegraf容器加入该网络:
docker network connect <查到的Kafka网络名> <Telegraf容器名或ID> - 修改Telegraf配置文件中
inputs.kafka_consumer的servers参数为cd191218e4d8:9092,重启Telegraf容器:docker restart <Telegraf容器名或ID>
方案二:直接使用Kafka的实际IP配置
- 查询Kafka容器的实际IP地址:
docker inspect <kafka容器名或ID> | grep -i "ipaddress" - 修改Telegraf配置文件中
inputs.kafka_consumer的servers参数为192.168.0.xx:9092(替换为查到的实际IP),重启Telegraf容器。
验证
重启后检查Telegraf日志,确认错误是否消失:
docker logs <Telegraf容器名或ID>
内容的提问来源于stack exchange,提问作者Caroline
相关产品推荐
相关产品推荐

