filebeat学习笔记
About 1 mintoolfilebeat
一、概述
Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放。filebeat是一个轻量级的logstash,当你需要收集信息的机器配置或资源并不是特别多时,使用filebeat来收集日志。日常使用中,filebeat十分稳定。
logstash 功能虽然强大,但是基于ruby的配置语法、依赖jdk、消耗系统资源等弊端,使得考虑其他方式来替换logstash,filebeat则是一个完美的替代者
二、安装
最新下载地址: https://www.elastic.co/cn/downloads/beats/filebeat
解压文件夹:
启动: sudo ./filebeat -e -c filebeat.yml
docker安装
mac: brew install filebeat linux: wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-linux-x86_64.tar.gz tar -zxvf filebeat-7.3.1-linux-x86_64.tar.gz nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 & // 后台启动将所有标准输出及标准错误输出到/dev/null空设备,即没有任何输出 docker: docker pull docker.elastic.co/beats/filebeat:7.3.1 docker tag docker.elastic.co/beats/filebeat:7.3.1 filebeat docker run -d --name logstash 10.45.53.221:5000/filebeat docker run --name filebeat -d --link logstash -v ~/elk/yaml/filebeat.yml:/usr/share/filebeat/filebeat.yml -v ~/elk/logs/:/home/logs/ filebeat // 启动filebeat并关联logstash
三、配置文件
filebeat.yml
filebeat.prospectors:
- paths:
- /home/user/elk/logs/order/*.log
multiline:
pattern: ^\d{4}
negate: true
match: after
fields:
doc_type: order
- paths:
- /home/user/elk/logs/customer/*.log
multiline:
pattern: ^\d{4}
negate: true
match: after
fields:
doc_type: customer
output.logstash: # 输出地址
hosts: ["logstash:5043"]