大数据:数据采集平台之Logstash

大数据:数据采集平台之Logstash


  1. Apache Flume
    详情请看文章:《大数据:数据采集平台之Apache Flume

  2. Fluentd
    详情请看文章:《大数据:数据采集平台之Fluentd

  3. Logstash
    详情请看文章:《大数据:数据采集平台之Logstash

  4. Apache Chukwa
    详情请看文章:《大数据:数据采集平台之Apache Chukwa

  5. Scribe
    详情请看文章:《大数据:数据采集平台之Scribe

  6. Splunk Forwarder
    详情请看文章:《大数据:数据采集平台之Splunk Forwarder


官网: https://github.com/elastic/logstash

Logstash 是著名的开源数据栈ELK (ElasticSearch, Logstash, Kibana)中的那个L。

Logstash用JRuby开发,所以运行时依赖JVM。

Logstash的部署架构如下图,当然这只是一种部署的选项。
大数据:数据采集平台之Logstash
一个典型的Logstash的配置如下,包括了Input,filter的Output的设置。

input {
    file {
        type =>"apache-access"
        path =>"/var/log/apache2/other_vhosts_access.log" 
    }
    
    file {
        type =>"pache-error"
        path =>"/var/log/apache2/error.log" 
    }
}

filter {
    grok {
        match => {"message"=>"%(COMBINEDAPACHELOG)"}
    }
    
    date {
        match => {"timestamp"=>"dd/MMM/yyyy:HH:mm:ss Z"}
    }
}

output  {
    stdout {}
    redis {
        host=>"192.168.1.289"
        data_type => "list"
        key => "logstash"
    }
}

几乎在大部分的情况下ELK作为一个栈是被同时使用的。所有当你的数据系统使用ElasticSearch的情况下,logstash是首选。

参考:https://mp.weixin.qq.com/s/emQ_94T0_Hw3ywQc0-4Dtg