使用filebeat替换logstash

说明

logstash 功能虽然强大,但是基于ruby的配置语法、依赖jdk、消耗系统资源等弊端,使得考虑其他方式来替换logstash,filebeat则是一个完美的替代者

  • filebeat基于YAML,配置简单,格式明了
  • filebeat只是一个二进制文件,没有任何依赖,所以占用资源极少

安装

官网:https://www.elastic.co/downloads/beats/filebeat

#下载
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-linux-x86_64.tar.gz
#解压安装
tar zxvf filebeat-5.1.1-linux-x86_64.tar.gz
#启动
./filebeat -e -c conffile.yaml
# -e 输出日志
# -c 指定配置文件

实例

  • 入门实例
filebeat.prospectors:
 - input_type: log
    paths: /var/log/nginx/access.log

 output.console:
    enabled: true

配置解释:
filebeat.prospectors: 定义数据原型
input_type: log,指定数据原型为log类型

  • log 指定为日志(默认)
  • stdin 标准输入

paths: 指定日志路径
output.console: 指定控制台标准输出

nginx日志实例

nginx 日志格式已配置成json字符串格式:

{"@timestamp":"2017-01-11T16:38:42+08:00","host":"172.16.11.193","clientip":"172.16.11.239","size":"body_bytes_sent","responsetime":0.000,"upstreamtime":"-","upstreamhost":"-","http_host":"172.16.11.193","url":"/index.html","xff":"-","referer":"-","agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36","status":"200"}

filebeat配置:

filebeat.prospectors:
- input_type: log
  paths: /var/log/nginx/access.log
  json.message_key:

output.elasticsearch:
  hosts: ["172.16.11.199"]
  index: "filebeat-nginx-%{+yyyy.MM.dd}"

配置详解:

  • json.message_key:定义日志格式为json格式,filebeat会根据日志格式自动转换为key=》value
  • output.elasticsearch:指定输出到elasticsearch
  • hosts:指定elasticsearch服务器地址
  • index:配置索引

详细配置可查看filebeat解压自带的filebeat.full.yml文件

你可能感兴趣的:(使用filebeat替换logstash)