由于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
将 enable 改为 true
paths 为要搜集的目录的路径
2.2.2、filebeat.output
output有多种输出模式,可直接输出到logstash、elasticsearch、kibana和redis,根据实际需要选择,这里选择输出到logstash
将其他的output注释掉,将logstash释放进行配置
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没有监听端口,主要看日志和进程
- 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<br>kill -9 进程号
最后
以上就是开朗大象最近收集整理的关于Filebeat的安装和使用的全部内容,更多相关Filebeat内容请搜索靠谱客的其他文章。
发表评论 取消回复