Skip to content

Logstash

Calvin Xiao edited this page Jan 8, 2014 · 4 revisions

1.Centralized Logging

在Cluster环境下,集中化的管理日志是一个很普遍的需求,有两篇日志对各种架构和选型做了很好的总结:

在日志的收集、转换、传输部分,LogStashFluentd堪称一生之敌。基于各种原因,个人目前喜欢Logstash多一点,日后也可能变化。

2.Logstash Overview

Logstash基于Ruby编写,因为种种原因,用JRuby将自己打包成一个可执行的Jar包,作者有详细解释:Why JRuby

Logstash作者现在ElasticSearch上班,所以Logstash + ElasticSearch(Storage) + Kibana(GUI) 是标准组合。

Logstash的特点之一是插件众多,分成Input/Output/Codec/Filter四大类别,所有人都可以fork一个logstash,写自己的插件,按一定的格式写好注释,然后发出一个pull request,作者看完就会merge代码,在网页上也会自动生成插件的文档。我的同事就发布了一个

3. 经典部署模型

LogStash Shipper(input:file, output:redis)-> Redis -> LogStash Collector(input:redis, output:Elastic Search) -> Elastic Search -> Kibana.

Logstash

3.2 File

3.3 Redis

3.4 Elastic Search/Kibana

4. 重要的Codec/Filter

4.1 Grok

4.2 Grep

5. 其他Input/Output

5.1 TCP