使用Filebeat配置Logstash

配置ELK堆栈以分析Apache Tomcat日志的文章中,我们配置了Logstash从目录中提取数据,而在本文中,我们将配置Filebeat将数据推送到Logstash。 在配置之前,让我们简要介绍为什么需要Filebeat。

为什么要使用Filebeat?

Filebeat有助于分散服务器的位置,从而从处理日志的位置生成日志,从而分担一台计算机的负载。

现在,让我们从配置开始,执行以下步骤:

第1步:下载和提取Filebeat在任意目录,对我来说这filebeat下目录/用户/ ArpitAggarwal /如下:

$ mkdir filebeat
$ cd filebeat
$ wget https://download.elastic.co/beats/filebeat/filebeat-1.0.0-darwin.tgz
$ tar -xvzf filebeat-1.0.0-darwin.tgz

步骤2:将目录/Users/ArpitAggarwal/filebeat/filebeat-1.0.0-darwin/中filebeat.yml内容替换为以下内容:

filebeat:
  prospectors:
    -
      paths:
        - /Users/ArpitAggarwal/tomcat/logs/*.log*"
      input_type: log
      document_type: my_log
output:
  logstash:
    hosts: ["localhost:5000"]
  console:
    pretty: true
shipper:
logging:
  files:
    rotateeverybytes: 10485760 # = 10MB

上面指定的paths标记是要从中提取数据的位置。 上面指定的document_type是在logstash配置的“类型”字段中发布的类型。

步骤3:启动filebeat作为后台进程,如下所示:

$ cd filebeat/filebeat-1.0.0-darwin
$ ./filebeat -c filebeat.yml &

步骤4:将 Logstash配置为从filebeat接收数据并将其输出到在localhost上运行的ElasticSearch。 做同样的,创建一个目录,我们将创建logstash配置文件,对我来说这logstash目录下/用户创建/ ArpitAggarwal /如下:

$ cd /Users/ArpitAggarwal/
$ mkdir logstash patterns
$ cd logstash
$ touch logstash.conf
$ cd ../patterns
$ touch grok-patterns.txt

将以下内容复制到logstash.conf

input {
   beats {
     type => beats
     port => 5000
   }
}
filter {
    multiline {
              patterns_dir => "/Users/ArpitAggarwal/logstash/patterns"
              pattern => "\[%{TOMCAT_DATESTAMP}"
              what => "previous"
    }
    if [type] == "my_log" and "com.test.controller.log.LogController" in [message] {
        mutate {
                add_tag => [ "MY_LOG" ]
               }
        if "_grokparsefailure" in [tags] {
                  drop { }
              }
       date {
             match => [ "timestamp", "UNIX_MS" ]
             target => "@timestamp"
            }
        } else {
            drop { }
      }
}
output {
   stdout {
          codec => rubydebug
   }
   if [type] == "my_log"  {
                elasticsearch {
                           manage_template => false
                           hosts => ["localhost:9201"]
                 }
    }
}

接下来,将内容从文件https://github.com/elastic/logstash/blob/v1.2.2/patterns/grok-patterns复制到patterns / grok-patterns.txt

步骤5:下载Logstash并将其解压缩到任何目录中,对我来说,它是在/ Users / ArpitAggarwal /目录下的logstash安装 ,如下所示:

$ wget https://download.elastic.co/logstash/logstash/logstash-2.1.0.zip
$ unzip logstash-2.1.0.zip

步骤6:使用以下命令验证logstash配置文件:

$ cd /Users/ArpitAggarwal/logstash-installation/logstash-2.1.0/bin
$ ./logstash -f /Users/ArpitAggarwal/logstash/logstash.conf --configtest --verbose —debug

步骤7:安装logstash-input-beats插件并启动Logstash作为后台进程,以将数据推送到Filebeat接收的ElasticSearch中 ,如下所示:

$ cd /Users/ArpitAggarwal/logstash-installation/logstash-2.1.0/bin
$ ./plugin install logstash-input-beats
$ ./logstash -f /Users/ArpitAggarwal/logstash/logstash.conf &

翻译自: https://www.javacodegeeks.com/2015/12/configuring-logstash-filebeat.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值