部署方案:filebeat+kafka+logstash+elasticsearch+kibana
Filebeat:轻量级日志采集器
Kafka:高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据
Logstash:实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网
ElasticSearch:分布式多用户能力的全文搜索引擎,基于RESTful web接口
Kibana:ElasticSearch的用户界面
服务器:
| 应用 | IP | 备注 | 
| kafka-1 | kafka集群 | |
| kafka-2 | ||
| kafka-3 | ||
| kafka-manager | kafka管理界面 | |
| zookeeper | 用于发现kafka集群 | |
| logstash-1 | 2台loagstash消费kafka消息 | |
| logstash-2 | ||
| es-master | es的master节点,日志清理脚本 | |
| es-master&data | master节点和存储节点 | |
| es-data | es的存储节点 | |
| es-data | es的存储节点 | |
| kibana | 查询界面 | 
应用部署:
1、Filebeat
    下载地址:
    
     www.elastic.co/downloads/b…
    
    本次采用版本:6.5.4
   
下载后进行解压,创建配置文件 beat-kafka.yml (默认的配置文件是filebeat.yml)
   
Filebeat,配置并不难,只需要配置将空的日志文件全路径和输出端的IP,默认输出是到ElasticSearch,需要调整输出到kafka(避免丢消息),具体配置可以参考:
   
2、Kafka
    下载地址:
    
     kafka.apache.org/downloads
    
    本次采用版本:2.12-2.1.0
   
下载后进行解压,修改kafka配置文件:server.properties
填写zookeeper地址(用于注册kafka):
   
   
启动kafka: nohup ./kafka-server-start.sh /apps/svr/kafka/config/server.properties 2>&1 &
验证kafka是否启动正常:
    1、新建topic:
    
     kafka-topics.sh –create –zookeeper ip:2181 –replication-factor 1 –partitions 1 –topic test
    
   
    2、检查topic是否生成正确:
    
     kafka-topics.sh –list –zookeeper :2181    kafka-topics.sh –describe –zookeeper ip:2181 –topic test
    
   
    3、创建一个生产者:
    
     kafka-console-producer.sh –broker-list  ip:9092 –topic test
    
    然后随便输入一些字符
   
    4、另起一个页面创建一个消费者:
    
     kafka-console-consumer.sh –bootstrap-server ip:9092 –topic test –from-beginning
    
    能查看到生产者创建的数据
   
3、Logstash
    下载地址:
    
     www.elastic.co/downloads/l…
    
    本次采用版本:6.5.4
   
下载后进行解压,修改logstash配置文件kafka.conf (默认是logstash-sample.conf),由于日志的过滤和合并已经在filebeat配置,logstash只需要配置input和ouput
   
input用于配置消息来源(即kafka集群),outpurt用于配置消息输出,输出地址为es的集群
4、Elasticsearch
    下载地址:
    
     www.elastic.co/downloads/e…
    
    本次采用版本:6.5.4
   
下载后解压,修改配置文件elasticsearch.yml,其中node.data 和node.master需要注意,node.data为true(存储节点),node.master为true(master节点),两者都不为true(分发节点),
集群情况下需要额外配置transport.tcp.port ,用于内部tcp交流
   
启动es:nohup ./elasticsearch 2>&1 &
5、Kibana
    
     下载地址: https://www.elastic.co/downloads/kibana
    
    本次采用版本:6.5.4
   
解压后修改配置文件kibana.yml,
   
    启动kibana:
    
     nohup ./kibana 2>&1 &
    
   
 
