Filebeat的安装和使用

由于logstash采集日志时的资源消耗较大,故搜集日志的工作交给其他轻量级工具,再传输给logstash进行处理。Filebeat是比较好用的一款工具,filebeat是本地文件的日志数据采集器。 作为服务器上的代理安装,Filebeat监视日志目录或特定日志文件,tail file,并将它们转发给Elasticsearch或Logstash进行索引、kafka 等。

官方网站:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html

使用filebeat之前可根据实际需要选择安装好logstash、elastic、kibana等组件,本次采用filebeat和ELK联合使用,故已经安装好ELK组件

1、安装filebeat

本次采用yum安装,需要配置yum源(由于filebeat会和ELK配套使用,所以该YUM源里面也会有elk组件的yum安装,配置好可同时用于安装ELK)

1.1、yum源配置。进入yum.repos.d创建一个.repo格式的文件

cd /etc/yum.repos.d

vim 文件名.repo

然后将下述内容添加到文件中,保存退出

[filebeat]

name=Elasticsearch repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

gpgcheck=0

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

1.2、yum安装filebeat

yum -y install filebeat

rpm -qa filebeat     

安装好之后可用whereis filebeat查看下安装情况,方便找配置文件

 

2、配置filebeat

2.1、filebeat配置文件: filebeat.yml

find / -name filebeat.yml

vim /etc/filebeat/filebeat.yml

2.2 具体模块的配置

2.2.1、filebeat.inputs

Filebeat的安装和使用_第1张图片

将 enable 改为 true

paths 为要搜集的目录的路径

2.2.2、filebeat.output

Filebeat的安装和使用_第2张图片

output有多种输出模式,可直接输出到logstash、elasticsearch、kibana和redis,根据实际需要选择,这里选择输出到logstash

将其他的output注释掉,将logstash释放进行配置

Filebeat的安装和使用_第3张图片

hosts为logstash服务器的地址和端口,端口一般默认为5044

配置好之后启动filebeat

cd /usr/share/filebeat/bin

后台启动filebeat

如果直接启动运行会报错:

loading config file: stat filebeat.yml: no such file or direct

是因为未找到配置文件所致,这里采取简单的方法:在运行时直接加上配置文件路径

./filebeat -e -c /etc/filebeat/filebeat.yml

注意:filebeat没有监听端口,主要看日志和进程

  1. logstash的设置

在logstash服务中编写配置文件

其中input需要用beats接收,设置ip和端口

input {

    beats {

        host => "192.168.1.86"

        port => 5044

    }

}

注意:此处的host为logstash服务器的ip,如果启用本机的logstash服务该项可以注释掉。port为filebeat.yml文件配置的端口

Output先输出到控制台调试

output{

 stdout {

                codec => rubydebug

        }

}

调用配置文件启动logstash(调试时可不用后台启动)

./logstash -f filebeattest.conf --path.data=/logdata/filebeat

--path.data=/logdata/filebeat 为在一台服务器中启动多实例,需要制定具体的数据存放路径,此处以后再详解

成功部署后logstash就能成功输出日志信息了

 

其他相关操作:

测试filebeat启动后,查看相关输出信息:

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

后台方式启动filebeat:

 ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &  将所有标准输出及标准错误输出到/dev/null空设备,即没有任何输出

./filebeat -e -c filebeat.yml > filebeat.log &

停止filebeat:查找进程ID并kill掉:

ps -ef |grep filebeat
kill -9  进程号

你可能感兴趣的:(Filebeat的安装和使用)