Logstash

作者: 刘计计计 | 来源:发表于2017-06-10 22:53 被阅读0次

    概述

    Logstash是一个用ruby开发的开源工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。Logstash在其过程中担任搬运工的角色,它为数据存储,报表查询和日志解析创建了一个功能强大的管道链。Logstash提供了多种多样的inputfilterscodecsoutput组件,让使用者轻松实现强大的功能。

    Logstash安装

    tar -zxvf logstash-5.4.1.tar.gz
    mv logstash-5.4.1 /usr/local/logstash/
    #测试
    ./bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}' 
    ./bin/logstash -f test.conf #配置文件启动
    

    核心配置之input output

    1. client 日志生产服务器client.conf
    input {
      file {
           path => "/var/log/aliyun-util.log"
           start_position => beginning
      }
    }
    output {
     stdout { codec => rubydebug }
    }
    

    2.Syslog系统日志之Syslog.conf

    input {  
      tcp {  
        port => 5000  
        type => syslog  
      }  
      udp {  
        port => 5000  
        type => syslog  
      }  
    }  
    output {
      elasticsearch { 
        host => localhost:9200
       }  
      stdout { codec => rubydebug }  
    }
    在`windows`打开`cmd` telnet localhost 5000 访问端口
    

    核心配置之filters

    filters是一个行处理机制将提供的为格式化的数据整理成你需要的数据,让我们看看下面的一个例子,叫grok filter的过滤器。

    filter {  
      grok {  
        match => { "message" => "%{COMBINEDAPACHELOG}" }  
      }  
      date {  
        match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]  
      }  
    } 
    
    filter {  
      if [path] =~ "access" {  
        mutate { replace => { type => "apache_access" } }  
        grok {  
          match => { "message" => "%{COMBINEDAPACHELOG}" }  
        }  
        date {  
          match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]  
        }  
      } else if [path] =~ "error" {  
        mutate { replace => { type => "apache_error" } }  
      } else {  
        mutate { replace => { type => "random_logs" } }  
      }  
    } 
    

    Beats代理

    Beatselasticsearch公司开源的一款采集系统监控数据的代理agent。官方推荐用Beats来进行监控,然后推送给logstash,或者直接推送给elasticsearch

    1. Filebeat用于监控、收集服务器日志文件,其已取代 logstash forwarder
    tar -zxvf filebeat-5.4.1-linux-x86_64.tar.gz
    mv filebeat-5.4.1-linux-x86_64 /usr/local/filebeat/
    vim filebeat.yml
    filebeat.prospectors:
      input_type: log
         C:/Java Work/My-SpringBoot-Learning/log_mongoDB/*.log
     output.elasticsearch:
    

    相关文章

      网友评论

          本文标题:Logstash

          本文链接:https://www.haomeiwen.com/subject/ewbcqxtx.html