filebeatkafka的简单介绍

本篇文章给大家谈谈filebeatkafka,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何将filebeat收集的日志发送到kafka

filebeat配置ouput为kafka就可橘尺以,详细配置参数段绝说明见:

一般还要将kafka配置进linux的/etc/圆燃高hosts

[img]

FileBeat输出日志到kafka仅保留message有效信息

file beat配置如下

filebeat监听两个不同文件,余型迅配置了不同的topic。

其中topic:'%{[type]}' ,topic值为input中配置的document_type。

kafka中收集到日志如下格式:

只有message中才为写入到,其余字段为filebeat携带的元数据。

我们在处理filebeat消息时,往往只关注message信息,为了让信息更加简洁化,我们竖此可以在filebeat中进租庆行设置processors。完整配置文件如下:

配置完后日志输出格式如下:

注意:processors是对所有input源都生效的,所以再新增配置时需注意是否影响历史数据源读取。

Filebeat+Kafka+ELK生产部署(安全加固)

本文旨在部署安全可靠的生产架构,对ELK做 XPack 安凯段嫌全加固,对Kafka做 SASL 安全加固!

本文的ELK全家桶版本为 7.2.0 ,Kafka版本为 2.12-2.3.0

在本文中,笔者直接在83节点上完成了es集群的部署,请仔细阅读下方的命令!

当zk和燃搏kafka服务都启动后,可以先检查下相关端口状态是否盯手正常

完成以上操作后,可使用浏览器访问kibana地址 ,输入 elastic 用户密码即可!

curl 示例

filebeat采集日志到kafka配置及使用

Filebeat是elastic公司beats系列工具中的一个,主要用于收睁顷唯集本地日志。

在服务器上安装后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到配置文件中指定的输出端(例如:elasticsearch,logstarsh或kafka)。

Filebeat使用go语言开发,使用时没有其他依赖,比logstash-forworder轻量,不会占用部署服务器太多的资源乎掘。

filebeat的工作流程:当你开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测你指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。

2.配置filebeat

配置filebeat需要编辑filebeat的配置文件,不同安装方式,配置文件的存放路径有一些不同, 对于 rpm 和 deb的方式, 配置文件路径的是 /etc/filebeat/filebeat.yml,对于压缩包的方式,配置文件存在在解压目录下(悉培例如:我是在home目录下进行的解压,那么配置文件的路径就应该是~/filebeat-6.2.4-linux-x86_64/filebeat.yml)。

由于我的预期目标是将filebeat收集的日志发送到kafka,所以配置output就选择了kafka。读者可根据自己的使用场景,配置output。

例子中的配置将对/var/log目录下所有以.log结尾的文件进行采集。

3.启动

本文中只是为满足需求对filebeat进行了最基本的配置。filebeat的很多重要的配置和特性并没有体现(例如:模块,多行消息),读者如果需要更深入的了解请参考: 。

欢迎大家在评论区讨论使用过程的心得和疑惑。

数据写入kafka的分区策略

众所周知,kafka有分区的概念,生产者写入数据到kafka,涉及到数据到底写到哪个分区?

kafka api提供了默认的partitioner函数,具体策略如下:

1、如果生产者写入数据时,指定了具体分区,则使用该分区

2、如果生腔如产者没有指定分区,但是提供了key,partitioner函空让数会对该key取hash再斗圆局对topic数量取模以确定分区

3、如果生产者既没有指定分区,也没有提供key,则采用round-robin的方式选取分区

项目中用到filebeat采集数据到kafka,如果filebeat配置文件中配置了round-robin,下游在消费数据时,打印record.key可以发现key=null,每条数据到分区也不一样

filebeat利用kafka进行日志实时传输

选择安装目录:例如安装在/usr/local/或者/opt/下都可以。

创建一个软链接:

filebeat的配置很简单,只需要指定input和output就可以了。

由于kafka server高低版本的客户端API区别较大,因此推荐同时使用高版本的filebeat和kafka server。 注意 高版本的filebeat配置使用低版本的kafka server会出现kafka server接受不到消息的情况。这里我使用的kafka server版本是:2.12-0.11.0.3,可参考 快速搭建kafka

编辑filebeat安装目录下 filebeat.yml 文件:

配置Filebeat inputs:

上面 /opt/test/*.log 是我要传输的日志,根据实际情况改成你自己的值。

配置Filebeat outputs:

"111.11.1.243:9092" 是我的单机kafka broker,如果你是kafka集群,请用 , 分隔。 test 是kafka topic,请改成你自己实际情况的值。另外以下信胡这段需要删除:

因为我并没有用到Elasticsearch,所以有多个输出在启动filebeat时会报错。到这里filebeat配置kafka就完成了,是不是很简单,让我们启动它测试一下。

启动,进入filebeat的安装目录:

查看是否启动:

很好,已经启动了。如果没有启动,请查看启动日志睁旦文件nohup.out。

停止:

随机生成日志脚本:

执行这段python脚本,开启一个kafka消费者如果成功消费日志消息:

哈哈,大功告成。 注 上面这段脚本要适时手动停止,因为它是个死循环,如果忘记手动停止那么就杯具了,我就是这样悉坦扰把机器写宕机的。

关于filebeatkafka和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表