filebeat -> logstash -> elasticsearch
filebeat 安装
brew install filebeat
进入到filebeat的安装目录后,首先对filebeat.yml进行备份
cp filebeat.yml filebeat.yml.bak
开始编写第一个filebeat.yml
修改filebeat.yml
,在 input_type
中修改日志paths,根据不同的输出修改output的值。
- 项目中会采集多个日志文件,那么可以通过document_type来区分不同的日志源,方便根据不同的type来做后续处理。
比如;
paths:
- /var/log/test.log
input_type: log
document_type: test
filebeat启动
./filebeat -e -c filebeat.yml -d "publish"
logstash 安装
Mac
brew install logstash
Linux
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.2.1.tar.gz
tar -zxvf logstash-5.2.1.tar.gz
安装之后先测试一下:
cd logstash-5.2.1
bin/logstash -e 'input { stdin { } } output { stdout {} }'
可以看见以下输出:
The stdin plugin is now waiting for input:
此时在控制台输入 hello world
,
|
|
就就表示logstash已经安装成功啦!
安装beats
logstash的输入源是filebeat,那么我们需要安装一下beats:
./bin/logstash-plugin prepare-offline-pack logstash-input-beats
bin/logstash-plugin install file:///home/bigData/logstash-5.5.0/logstash-offline-plugins-5.5.0.zip
开始编写
读取本地日志文件,输出到elasticsearch
log格式为
log_fmt = '%(asctime)s %(filename)s,line %(lineno)s,%(levelname)s: %(message)s'
进入logstash/bin目录,新建pangrou.conf:
|
|
运行:
./logstash -f pangrou.conf
接收filebeat数据,输出到elasticsearch
配置 5044 端口作为 Filebeat 的连接
|
|
在elasticsearch中的索引为 filebeat-*
结尾
logstash运行起来后,开启filebeat,就可以在elasticsearch中查看日志了。