Beats介绍
Beats 是轻量型数据采集器,Beats 是一个免费且开放的平台,集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。
官网:https://www.elastic.co/cn/beats/
文档:https://www.elastic.co/guide/en/beats/libbeat/current/index.html
架构图
Filebeat介绍
FileBeat 是一款轻量型日志采集器,当您要面对成百上千、甚至成千上万的服务器、虚拟机和容器生成的日志时,请告别 SSH 吧。Filebeat 将为您提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂。
Filebeat使用
使用准备:
系统:CentOS 7.4
本例使用的是ES 7.6.1版,Filebeat也是7.6.1版
ES安装参考:【ElasticSearch】 ElasticSearch安装(一)
使用步骤
1、下载Filebeat,filebeat-7.6.1-linux-x86_64.tar.gz
2、解压到指定目录
命令:tar -zxvf filebeat-7.6.1-linux-x86_64.tar.gz /data/soft/
Filebeat目录结构如下:
目录布局
类型 | 描述 | 默认位置 | 配置选项 |
home | Filebeat安装的主目录。 | path.home | |
bin | 二进制文件的位置。 | {path.home}/bin | |
config | 配置文件的位置。 | {path.home} | path.config |
data | 永久数据文件的位置。 | {path.home}/data | path.data |
logs | Filebeat创建的日志的位置。 | {path.home}/logs | path.logs |
3、在主目录中,自定义一个测试配置文件test.yml,内容如下:
1 # 输入 2 filebeat.inputs: 3 # 标准输入 4 - type: stdin 5 enabled: true 6 7 # 输出 8 # 输出到控制台 9 output.console: 10 pretty: true 11 enable: true
4、启动filebeat,指定配置文件运行filebeat
命令:./filebeat -e -c test.yml
5、在控制台输入hello,效果如下:
6、命令说明
命令:./filebeat -e -c filebeat.yml
-
- -c:配置文件位置
- -path.logs:日志位置
- -path.data:数据位置
- -path.home:家位置
- -e:关闭日志输出
- -d 选择器:启用对指定选择器的调试。 对于选择器,可以指定逗号分隔的组件列表,也可以使用-d“*”为所有组件启用调试.例如,-d“publish”显示所有“publish”相关的消息。
后台启动filebeat
-
- nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 & 将所有标准输出及标准错误输出到/dev/null空设备,即没有任何输出
- nohup ./filebeat -e -c filebeat.yml > filebeat.log &
关闭命令:
-
- 查看filebeat进程:ps -ef|grep filebeat
- 杀死进程:kill pid
读取文件
filebeat读取文件示例
1、自定义一个测试配置文件test-log.yml,内容如下:
1 # 自定义测试配置文件test-log.yml 2 3 # 输入 4 filebeat.inputs: 5 - type: log 6 enabled: true 7 paths: 8 - /data/logs/*.log 9 # 输出 10 output.console: 11 pretty: true 12 enable: true
2、指定配置文件运行filebeat
命令:./filebeat -e -c test-log.yml
3、增加日志文件,并添加内容到日志文件中
命令:echo "hello" >> /data/logs/test.log
命令:echo "world" >> /data/logs/test.log
4、查看filebeat控制台输出内容,如下:
输出到Elasticsearch
1、自定义一个测试配置文件test-log.yml,内容如下:
1 # 自定义测试配置文件test-log.yml 2 3 # 输入 4 filebeat.inputs: 5 - type: log 6 enabled: true 7 paths: 8 - /data/logs/*.log 9 10 # 指定索引的分区数 11 setup.template.settings: 12 index.number_of_shards: 3 13 14 # 输出到指定ES的配置 15 output.elasticsearch: 16 hosts: ["127.0.0.1:9200"] 17 username: "elastic" 18 password: "123456"
2、指定配置文件运行filebeat
命令:./filebeat -e -c test-log.yml
3、增加日志文件,并添加内容到日志文件中
命令:echo "abc" >> /data/logs/test.log
命令:echo "123" >> /data/logs/test.log
4、查看ES索引数据,如下:
增加了2个索引
索引数据