部署方案: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 设置认证kafka filebeat kafka版本_elk

Filebeat,配置并不难,只需要配置将空的日志文件全路径和输出端的IP,默认输出是到ElasticSearch,需要调整输出到kafka(避免丢消息),具体配置可以参考:


filebeat 设置认证kafka filebeat kafka版本_elk_02

2、Kafka

下载地址:kafka.apache.org/downloads  本次采用版本:2.12-2.1.0

下载后进行解压,修改kafka配置文件:server.properties

填写zookeeper地址(用于注册kafka):


filebeat 设置认证kafka filebeat kafka版本_filebeat 设置认证kafka_03

filebeat 设置认证kafka filebeat kafka版本_filebeat 设置认证kafka_04

启动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


filebeat 设置认证kafka filebeat kafka版本_elk_05

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交流


filebeat 设置认证kafka filebeat kafka版本_elk_06

启动es:nohup ./elasticsearch 2>&1 &

5、Kibana

下载地址: https://www.elastic.co/downloads/kibana 本次采用版本:6.5.4

解压后修改配置文件kibana.yml,


filebeat 设置认证kafka filebeat kafka版本_kafka_07

启动kibana:nohup ./kibana 2>&1 &