设置参数 `node.name` 可以自定义 Elasticsearch 节点的名字。 此条 Tips 由 medcl 贡献。

filebeat无法把消息输入到kafka中?

Beats | 作者 doyenseer | 发布于2018年02月28日 | 阅读数:6593

环境:
centos7.4
kafka2.11
filebeat5.6.8
-----------------------
filbeat配置:
- input_type: log
  paths:
    - /var/log/nginx/*.log
  encoding: utf-8
  tags: ["nginx-accesslog"]
output.kafka:
  enabled: true
  hosts: ["127.0.0.1:9092"]
  topic: logstash-nginx

创建主题: logstash-nginx
启动filebeat,zookeeper及kafka(单节点)

执行消费消息命令:bin/kafka-console-consumer.sh --zookeeper 192.168.31.101:2181 --topic logstash-nginx --from-beginning

访问nginx页面,生成新消息到nginx的log文件中。
此时,消费消息终端,显示错误信息:
WARN Fetching topic metadata with correlation id 0 for topics [Set(logstash-nginx)] from broker [BrokerEndPoint(0,ec2-52-60-148-196.ca-central-1
.compute.amazonaws.com,9092)] failed (kafka.client.ClientUtils$)java.nio.channels.ClosedChannelException
    at kafka.network.BlockingChannel.send(BlockingChannel.scala:110)
    at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:80)
    at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:79)
    at kafka.producer.SyncProducer.send(SyncProducer.scala:124)
    at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:60)
    at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:95)
    at kafka.consumer.ConsumerFetcherManager$LeaderFinderThread.doWork(ConsumerFetcherManager.scala:68)
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63)

请问是什么原因导致?如何解决?谢谢。


 
已邀请:

juneryang

赞同来自:

1\filebeat与kafka版本是否兼容?2、是不是kafka创建topic有问题?尝试下手动创建好topic,filebeat再发送试试

hailin0

赞同来自:

楼主使用的kafka1.0吗   filebeat兼容吗

xuzewei_

赞同来自:

遇到问题的解决方法:不是马上贴问题询问答案,这是拿来主义。ELK各个组件都有详细的log可以查看,filebeat可以通过配置log级别来设置,例如:在filebeat.yml添加logging.level: debug这一行。重启进程看下具体的log。kafka也是一样。通过编辑器或者vim打开日志文件查找“fail”“error”“warn” “exception”等关键单词,或许很快定位到问题所在。还是找不到就google,最后发帖提问。

要回复问题请先登录注册