filebeat是elk套装里的基本组件beats下的一种,这应该是最简单的一款了。在windows下面分为两种安装方式,一种是msi安装,一种是压缩包解压使用。本篇介绍使用msi安装包安装,压缩包的也可以参照其执行的命令进行启动。
msi安装文件方式
从官网下载和elastic与kibana匹配的版本后,双击安装,这里统一使用的是8.7.0版本。
这种安装方式会在windows下安装为一个服务。 通过cmd输入services.msc进入服务管理界面,可以找到一个名为Elastic File beat 8.7.0的服务。不同版本可能名称不一样。
右键查看属性,可以看到他的启动命令为:
"C:\Program Files\Elastic\Beats\8.7.0\filebeat\filebeat.exe" --path.home "C:\Program Files\Elastic\Beats\8.7.0\filebeat" --path.config "C:\ProgramData\Elastic\Beats\filebeat" --path.data "C:\ProgramData\Elastic\Beats\filebeat\data" --path.logs "C:\ProgramData\Elastic\Beats\filebeat\logs" -E logging.files.redirect_stderr=true 可以看出,配置文件所在位置是C:\ProgramData\Elastic\Beats\filebeat,我们需要根据这个文件夹下的filebeat.example.yml ,生成自己的配置文件filebeat.yml。
简易配置文件
filebeat.inputs:
- type: log
enabled: true
paths:
- D:\test_data\*.log
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["http://localhost:9200"]
index: "test-%{+yyyy.MM.dd}"
setup.template.settings:
index.number_of_shards: 1
setup.template.enabled: true
setup.template.overwrite: false
setup.template.name: "test"
setup.template.pattern: "test-*"
在filebeat.inputs配置区域指定的是输入的数据,path里配置了路径,filebeat从这个地方找数据进行上传。
在output.elasticsearch区域制定了向外的输出,hosts设置了elasticsearch的url,index指定了索引形式。在elasticsearch配置了安全认证和SSL认证的情况下,output还需要配置证书和认证方式,为了便于使用,我把elasticsearch和kibana的相关设置都取消掉了。
很久以前的老版本只需要配置这两个即可,新版本还需要配置setup.template,这个根据需要,将template的名称和索引配置上即可。参考默认的example文件,setup.template.pattern在output.elasticsearch配置index时是必须要有的。
配置完成后需要重启服务。
观察数据
在kibana上,Discover页面,Data views上需要先创建一个data view来匹配我们在filebeat下方填写的index。
名称name是随意的,基本可以和index pattern相同。Index pattern代表匹配的数据,是一种正则表达式。前面filebeat用的是"test-%{+yyyy.MM.dd}",这里可以忽略日期,设置为test-*。这里-是很有必要的,我们在数据设置的时候,filebeat建立索引前面的部分尽量不要用-,只用来和日期做分隔,在名称多了以后可以很有效的避免互相包含。
创建后再回到discover页面,可以方便的观察各时段的数据情况。
观察数据
点击数据列最左侧的放大,可以看到详细的数据。
@timestamp表示收集到数据的时间
host.name是filebeat主机的名称
log.file.path是数据来源文件的路径
log.offset是数据在文件的偏离位置
fields.level和fields开头的另一个数据是在filebeat配置文件中预定义的,通过配置中写入下面的选项,可以给数据附加字段。不同的附加字段可以用来区分不同的input。
message字段就是数据本身的内容。