Beats 平台集合了多种单一用途数据采集器。这些采集器安装后可用作轻量型代理,从成百上千或成千上万台机器向 Logstash 或 Elasticsearch 发送数据。
轻量级的数据采集器
其中,Beat 负责数据收集,logstash 负责数据解析和转换,Elasticsearch负责构建索引和数据存储,Kibana 负责数据展示。
一、logstash 和filebeat 是什么关系?
logstash 和filebeat都具有日志收集功能,filebeat更轻量(Golang开发),占用资源更少,但logstash 具有filter功能,能过滤分析日志。一般结构都是filebeat采集日志,然后发送到消息队列、redis、kafaka。然后logstash去获取,利用filter功能过滤分析,然后存储到elasticsearch中。
二、Filebeat 的构成
Filebeat是一个日志文件收集工具,在服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstash中存放。
以下是filebeat的工作流程:当你开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测你指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。
filebeat是一个轻量级的logstash,当你需要收集信息的机器配置或资源并不是特别多时,可以使用filebeat来收集日志。日常使用中,filebeat十分稳定。
三、下载、安装、配置 Filebeat
https://www.elastic.co/cn/downloads/beats
下载完成,解压缩。
配置文件:filebeat.yml
(1)定义日志文件路径
filebeat.inputs:
– type: log
enabled: true
paths:
– D:ElasticStackelasticsearch-7.3.0logs*.log
# – /var/log/*.log
#- c:programdataelasticsearchlogs*
获取在D:ElasticStackelasticsearch-7.3.0logs*.log 路径下的所有log文件作为输入。
(2)输出设置
发送输出目录到Elasticsearch(并且不用Logstash),那么设置IP地址和端口以便能够找到Elasticsearch。
#——- Elasticsearch output ——–
output.elasticsearch:
# Array of hosts to connect to.
hosts: [“localhost:9200”]
如果你想使用Logstash对Filebeat收集的数据执行额外的处理,那么你需要将Filebeat配置为使用Logstash。
#——- Logstash output ——–
#output.logstash:
# The Logstash hosts
#hosts: [“localhost:5044”]
(3)Kibana仪表盘
如果你打算用Kibana仪表盘,可以这样配置Kibana端点。
setup.kibana:
host: “localhost:5601”
四、启动Elasticsearch、Kibana和Filebeat
binelasticsearch
binkibana
启动 Filebeat:filebeat -e -c filebeat.yml
查看Kibana仪表板示例
在浏览器访问 http://localhost:5601/,首先创建索引模式,从Elasticsearch索引中获取数据。
然后,选择安装时间进行排序。
创建完成之后,选择最上面的Discover就会显示查询日志主界面,在Kibana中看看查询日志效果。
可以访问
http://localhost:9200/_cat/indices?v,查看Elasticsearch中的索引。
也可以在Kibana中查询到索引记录。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!