码迷,mamicode.com
首页 > 其他好文 > 详细

日志收集之--将Kafka数据导入Elastic

时间:2017-03-15 22:23:07      阅读:645      评论:0      收藏:0      [点我收藏+]

标签:如何   绑定   sts   flume   导入   ora   数据存储   highlight   消息   

     最近需要搭建一套日志监控平台,结合系统本身的特性总结一句话也就是:需要将Kafka中的数据导入到elasticsearch中。那么如何将Kafka中的数据导入到elasticsearch中去呢,总结起来大概有如下几种方式:

  • Kafka->logstash->elasticsearch->kibana(简单,只需启动一个代理程序)
  • Kafka->kafka-connect-elasticsearch->elasticsearch->kibana(与confluent绑定紧,有些复杂)
  • Kafka->elasticsearch-river-kafka-1.2.1-plugin->elasticsearch->kibana(代码很久没更新,后续支持比较差)

 根据以上情况,项目决定采用方案一将Kafka中的数据存入到elasticsearch中去。

一、拓扑图

    项目拓扑图如下所示:

技术分享

  此时消息的整体流向为:日志/消息整体流向Flume => kafka => logstash => elasticsearch => kibana

二、环境搭建

 关于Kafka及Flume的搭建在这里不再详细论述,如有需要请参见本文其它说明。在这里重点说明logstash的安装及配置。

  A.下载logstash的安装包; 

  B.新建kafka-logstash-es.conf置于logstash/conf目录下;

  C.配置kafka-logstash-es.conf如下:

input {
    kafka {
        zk_connect => "c1:2181,c2:2181,c3:2181"
        group_id => "elasticconsumer"   ---随意取
        topic_id => "xxxlog"  ---与flume中的Channel保持一致
        reset_beginning => false 
        consumer_threads => 5  
        decorate_events => true 
        codec => "json"
        }
    }
output {
    elasticsearch {
        hosts => ["c4:9200","c5:9200"]
        index => "traceid"--对应kafka的json中真实存在的字段,注意:index必须小写
        workers => 5
        codec => "json"
		  }
     }

运行logstash命令为:nohup bin/logstash -f /XXX/logstash/conf/kafka-logstash-es.conf &

三、调测过程中遇到的一些坑

A.在集成ELK过程中总以为head插件是必须的,其实head插件为非必需品。elasticsearch仅提供了一个数据存储的煤介,head为了让大家更方便的去查看数据; 

B.采用以上方案进行布署时,当系统正常运行时,可以在elasticsearch服务器上http://IP:9200/*搜索index是否创建成功

 

日志收集之--将Kafka数据导入Elastic

标签:如何   绑定   sts   flume   导入   ora   数据存储   highlight   消息   

原文地址:http://www.cnblogs.com/moonandstar08/p/6556899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!