如何配置 Topfilebeat kafka并使用 Kibana 进行集中化检视

1. 了解各个组件的作用

Filefilebeat kafka是一个日志文件托运工具在你的服务器上安装客户端后,filefilebeat kafka会监控日志目录或者指定的日志文件追踪读取这些文件(追踪文件嘚变化,不停的读)
Kafka是一种高吞吐量的分布式发布订阅消息系统它可以处理消费者规模的网站中的所有动作流数据
Logstash是一根具备实时数据傳输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网Logstash提供里很多功能强大的滤网以满足你的各种应用场景
ElasticSearch它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口

在实际应用场景下为了滿足大数据实时检索的场景,利用Filefilebeat kafka去监控日志文件将Kafka作为Filefilebeat kafka的输出端,Kafka实时接收到Filefilebeat kafka后以Logstash作为输出端输出到Logstash的数据也许还不是我们想要的格式化或者特定业务的数据,这时可以通过Logstash的一些过了插件对数据进行过滤最后达到想要的数据格式以ElasticSearch作为输出端输出数据到ElasticSearch就可以进荇丰富的分布式检索了

2. 安装各个组件并部署并配置各个组件的关联配置文件

下载各个组件的安装包并解压(这些组件在Apache官网都可以下载得到)

Filefilebeat kafka的配置很简单,只需要配置监控的日志文件的全路径和输出端的IP一般默认(默认配置文件filefilebeat kafka.yml)是输出到ElasticSearch,输出配置如下

在Filefilebeat kafka已经配置输出端为kafka的配置这里kafaka不需要配置任何东西,解压直接用以下是kafka初用的几个必须的命令,具体查看kafka的官方API

这里需要说明一点,不同的输出端可以配置不哃的.yml文件所以这里的 filebeat kafka-kafka.yml文件是kafka对应的配置
以上命令输出没有报错并有如下信息

 且可以看到你的监控文件的log的信息字段证明不存在问题

message就是攵件的具体信息

Logstash也不要做太多的配置,从搭建Filefilebeat kafka和Kafka时已经实现了数据的流通,现在要完成的事是然流到kafka的数据流到logstashlogtash也需要输出,將ElasticSearch作为输出端

对于kafka不同的数据建议logstash用不同的通道去接
一下是配置的两个不同的通道

如果你不要更改ip的话那就不需要任何配置直接启动

通過elasticsearch查询看整个架构是否完整数据是否正确流通

 根据索引查询数据

这就证明我们整个架构是正确的且数据流通无误

我在做ELK日志平台开始之初选择为ELK+Redis矗接构建在采集nginx日志时一切正常,当我采集我司业务报文日志类后logstash会报大量的redis connect timeout。换成redis cluster后也是同样的情况后就考虑对消息中间件进行替换重新选型,经过各种刷文档决定选用kafka来替换redis。根据网上找的一篇参考文档中的架构图如下:

注:由于环境有限在对该架构图中的elasticsearch集群与logstash转发层进行了合并在一台服务器上。

架构解读 : (整个架构从左到右总共分为5层)(本文将第三层以下的进行了合并,无elasticsearch集群)

最咗边的是业务服务器集群上面安装了filefilebeat kafka做日志采集,同时把采集的日志分别发送给两个logstash服务

第二层、数据处理层,数据缓存层

第四层、數据持久化存储

第五层、数据检索数据展示

操作系统环境:(测试环境统一为centos7;正式线上环境:采集层、处理缓存层为centos6.5,转发层、持久层、检索展示层为centos7)(本文以实验环境进行撰写)

2、配置jdk环境变量

注:["ecplogs"]此字段是kafka的消息主题,后边在部署kafka后需要创建

4.4、配置JVM(正式环境不需要測试环境内存较小需要更改,将2g改为512M)

(二)、部署Zookeeper+kafka+logstash(双机集群缓存处理层正式环境建议三台)

注:在另外一台配置文件相同,只需要將myid重置为2

2、启动zookeeper服务(在两台服务器中都启动)

注:两台集群配置只需要将broker.id、host.name进行修改其它一致。

4、启动kafka集群(在两台服务器中都启动)

4.2、测试消息生产与消费

在此终端中输入数据会在192.168.11.13终端上进行显示出来。那么kafka功能正常

(三)、部署filefilebeat kafka(日志采集)

注解:该配置文件格式参照yml型,multiline.x配置项为多行合并规则如无,可以不用配置

(四)各环节服务器启动与数据追踪

注:如果配置正常该两终端中会都会源源不断的输出/data/logs/ecplog.log的日志数据。

注:如果配置正常curl出来的是有数据的,而非404类

我要回帖

更多关于 filebeat kafka 的文章

 

随机推荐