1.官网
https://www.elastic.co/products/beats/filebeat
轻量型日志采集器
当您要面对成百上千、甚至成千上万的服务器、虚拟机和容器生成的日志时,请告别 SSH 吧。Filebeat 将为您提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂。
2.下载、配置
下载
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.3-linux-x86_64.tar.gz && tar -zxvf filebeat-6.5.3-linux-x86_64.tar.gz -C ../ && cd ..
配置
FileBeat Input
filebeat.prospectors:
- input_type: log
paths:
- /var/log/apache/httpd-*.log
FileBeat Output
输出到elasticsearch
output.elasticsearch:
hosts: ["http://localhost:9200"]
输出到控制台开发使用
output.console:
pretty:true
output前处理
drop_event
decode_json_fields
processors:
- drop_event:
when:
regexp:
message: "^DEB:"
- decode_json_fields:
fields: ["inner"]
3.运行
./filebeat -e
4.简单收集ngxin日志
配置
vim nginx.yml
filebeat.inputs:
- type: log
paths:
- /var/log/nginx/*.log
output.elasticsearch:
hosts: ["http://localhost:9200"]
运行
./filebeat -e -c nginx.yml
5.使用模块收集nginx日志
安装ingest-geoip、ingest-user-agent
bin/elasticsearch-plugin install ingest-geoip
bin/elasticsearch-plugin install ingest-user-agent
配置filebeat.yml
output.elasticsearch:
hosts: ["<es_url>"]
setup.kibana:
host: "<kibana_url>"
启动nginx模块
./filebeat modules enable nginx
修改nginx的配置文件
modules.d/nginx.yml
设置filebeat
./filebeat setup
启动
./filebeat -e
查看
在浏览器的dashboard菜单可以看到