ELK日志方案--使用Filebeat收集日志并输出到Kafka
1,Filebeat简介
Filebeat是一个使用Go语言实现的轻量型日志采集器。在微服务体系中他与微服务部署在一起收集微服务产生的日志并推送到ELK。
在我们的架构设计中Kafka负责微服务和ELK的分离,Filebeat负责收集微服务的日志并推送到Kafka中,如图:

2,Filebeat安装使用步骤
下载压缩包官网地址 https://www.elastic.co/cn/downloads/beats/filebeat
2.1 下载并解压Filebeat
在以上网址中下载和操作系统匹配的版本

其中CentOS属红帽系列选择RPM,Ubuntu属Debian系列选择DEB,其他Linux选择Linux通用。我用的win10选择Windows 64-bit,下载并解压到自定义目录(比如:C:\Programs\filebeat-6.5.1-windows-x86_64)
2 .2 编辑filebeat.yml配置文件
修改其中的input选项
#=========================== Filebeat inputs ============================= filebeat.inputs: # Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations. - type: log # Change to true to enable this input configuration.
enabled: true #此处默认为false,切记改为true.否则坑到天黑 # Paths that should be crawled and fetched. Glob based paths.
paths:
#- /var/log/*.log #Linux使用此处配置
- C:\Logs\*.log #Windows使用此配置
修改output选项,添加输出到kafka的配置
#================================ Outputs ===================================== # Configure what output to use when sending the data collected by the beat. #-------------------------- Kafka output ------------------------------
output.kafka:
# Array of hosts to connect to.
hosts: ["192.168.8.32:9092"] #hosts是string数组类型,支持多个kafka实力地址(此处不是配置zookeeper地址)
topic: elklog #kafka的topic名称
2.3 运行命令启动Filebeat
sudo ./filebeat -e -c filebeat.ymlWindows运行以下命令:
filebeat.exe -e -c filebeat.yml
3,测试
在我们配置好的input选项中的目录下,新建一个test.log文件,并写入测试字符串保存并关闭。

可以看到Kafka已经有数据了

如果ELK运行正常,Elasticsearch和Kibana中也有数据了。
ELK日志方案--使用Filebeat收集日志并输出到Kafka的更多相关文章
- elk-日志方案--使用Filebeat收集日志并输出到Kafka
1,Filebeat简介 Filebeat是一个使用Go语言实现的轻量型日志采集器.在微服务体系中他与微服务部署在一起收集微服务产生的日志并推送到ELK. 在我们的架构设计中Kafka负责微服务和 ...
- filebeat收集日志到elsticsearch中并使用ingest node的pipeline处理
filebeat收集日志到elsticsearch中 一.需求 二.实现 1.filebeat.yml 配置文件的编写 2.创建自定义的索引模板 3.加密连接到es用户的密码 1.创建keystore ...
- docker容器日志收集方案(方案一 filebeat+本地日志收集)
filebeat不用多说就是扫描本地磁盘日志文件,读取文件内容然后远程传输. docker容器日志默认记录方式为 json-file 就是将日志以json格式记录在磁盘上 格式如下: { " ...
- 第十一章·Filebeat-使用Filebeat收集日志
Filebeat介绍及部署 Filebeat介绍 Filebeat附带预构建的模块,这些模块包含收集.解析.充实和可视化各种日志文件格式数据所需的配置,每个Filebeat模块由一个或多个文件集组成, ...
- ELK之收集Java日志、通过TCP收集日志
1.Java日志收集 使用codec的multiline插件实现多行匹配,这是一个可以将多行进行合并的插件,而且可以使用what指定将匹配到的行与前面的行合并还是和后面的行合并. 语法示例: inpu ...
- 使用filebeat收集日志传输到redis的各种效果展示
0 环境 Linux主机,cengtos7系统 安装有openresty软件,用来访问生成日志信息 1.15.8版本 安装有filebeat软件,用来收集openresty的日志 7.3版本 安装有r ...
- .Nginx安装filebeat收集日志:
1.安装filebeat: [root@nginx ~]# vim /usr/local/filebeat/filebeat.yml [root@nginx ~]# tar xf filebeat-6 ...
- ELK之在windows安装filebeat收集日志
登录官方网站下载filebeat的windows客户端 https://www.elastic.co/downloads/beats 下载压缩包,无需解压 修改配置文件filebeat.yml 其余设 ...
- filebeat收集日志传输到Redis集群,logstash从Redis集群中拉取数据
前提:已配置好Redis集群,并设置的有统一的访问密码 架构是filebeat-->redis集群-->logstash->elasticsearch,需要修改filebeat的输出 ...
随机推荐
- python基础学习3----列表
一.字符格式化输出 占位符 %s s = string 字符串 %d d = digit 整数 %f f = float 浮点数 name = input(&q ...
- 判断用户访问方式为pc or Phone
<scripttype="text/javascript"> (function () { var sUserAgent= navigator.userAgent.to ...
- FIO_工具_专业
一.FIO工具安装: 1.查看fio是否安装 [root@localhost /]#rpm –qa|grep fio 2.源码安装(推荐) 官网地址:http://freecode.com/proje ...
- 一些node模块的学习思考
12月14日清单 1 readline模块 var readline = require("readline"); // input 是必须的,output是可选的 rl = re ...
- ceph kubernetes中使用
1.在管理节点上,进入刚创建的放置配置文件的目录,用 ceph-deploy 执行如下步骤 mkdir /opt/cluster-ceph cd /opt/cluster-ceph ceph-depl ...
- Mac svn使用学习-2-服务端
2.在mac环境下搭建一个SVN服务器环境 1)创建一个名为myCode的仓库——svnadmin命令 格式: svnadmin SUBCOMMAND REPOS_PATH [ARGS & O ...
- Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-2-Compose 命令说明
Compose 命令说明 1)命令对象与格式 对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中 的服务或者容器.如果没有特别的说明,命令对象将是项目,这意味着项目中所有 ...
- svn 更新提交文件冲突
文件冲突定义:svn up更新服务器文档到本地的时候发现本地的文件有所改动,和svn服务器不同步 服务器会报冲突,让你觉得已谁的为准,根据实际情况我们需要选择是以服务器还是以本地代码为准 报错: Co ...
- python:'ascii' codec can't encode character
python默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错,python没办法处理非ascii编码的, 此时需要自己设置python的默认编码,一般设置为u ...
- 从CMDB动态获取服务器列表,按照Ansible的约定
目标效果: [root@ansible ~]# python query.py --list{ "test": [ "10.1.2.1", "10.1 ...