Filebeat和Logstash部署步骤

ELK简介

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往Elasticsearch上去。

Kibana 是一个开源和免费的工具,Kibana可以为 Logstash 和 Elasticsearch提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

FileBeat,隶属于Beats,是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash。Filebeat 是客户端,一般部署在 Service 所在服务器(有多少服务器,就有多少 Filebeat),不同 Service 配置不同的input_type(也可以配置一个),采集的数据源可以配置多个,然后 Filebeat 将采集的日志数据,传输到指定的 Logstash 进行过滤,最后将处理好的日志数据,存储到指定的 Elasticsearch。经验证,Filebeat不可同时向多个Logstash写日志。当配置多个Logstash地址时,默认往第一个logstash写数据,当某一个logstash服务不可用时,会向其它服务写入数据,保证高可用。此外,两个不同端口的低版本Filebeat可以同时向两个不同版本的Logstash写数据。

 

收集日志

需要记录日志的服务将日志输出到特定ES日志文件。Filebeat负责收集服务的日志,然后传输给Logstash。Logstash负责将日志传输到到ES集群中。

部署FIlebeat

下载Filebeat,地址为:https://www.elastic.co/downloads/beats/filebeat。以Linux系统为例,直接在命令行执行wget + url,下载后文件filebeat-6.6.0-linux-x86_64.tar.gz。

https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.1-linux-x86_64.tar.gz

用命令tar -zxvf filebeat-6.6.0-linux-x86_64.tar.gz解压压缩包

修改filebeat.yml中Filebeat的日志路径地址为需要收集的服务日志路径,并配置Lostash地址和端口,然后启动Filebeat服务。

启动命令:nohup ./filebeat -e -c filebeat_gate.yml &

或者 ./filebeat -e -c filebeat.yml -d "publish"

-d参数指定了调试的selectors,例如-d publish显示所有与publish相关的信息。不同的selectors用逗号分隔,-d "*"表示调试所有的信息。

部署Logstash

Logstash地址:https://artifacts.elastic.co/downloads/logstash/logstash-6.4.1.tar.gz

获取工具: wget URL

解压工具包:tar -zxvf **

修改配置:修改logstash-gateway.conf 中hosts地址修改为ES集群地址和端口号等,然后启动Logstash服务。如果搭建了ES集群,即可查看ES集群是否有数据录入,若没有搭建ES集群,可通过控制台启动命令,直接打印收到的数据。

服务启动命令:nohup bin/logstash -f config/logstash.conf &

控制台启动命令:bin/logstash -e 'input {beats {port => 5044}} output {stdout { codec => rubydebug }}'

 

猜你喜欢

转载自blog.csdn.net/liwu_xa/article/details/87911818
今日推荐