ELK是三个开源工具ElasticSearch,Logstash,Kibana组合而成的软件栈,其中的核心是开源的分布式搜索引擎Elasticsearch,辅以Logstash灵活多样的日志收集,过滤,传送功能以及Kibana炫酷的前端展示面板,组合成一套可以媲美商业应用的解决方案。
下面是个典型的ELK架构方案;
看起来很简单,logstash像一把瑞士军刀,可以通过plugin的方式从多种渠道输入日志、内部深加工(filter),再输出到多种类型的目的地,这里我们送到Elasticsearch做索引和存储。 中间的Redis用作消息队列,使得架构的容错性更高,当ES故障或者下线维护的时候,日志可以缓存一段时间而不至于丢失。
本系列的博客只是简单的说明搭建ELK的方法,以及简单的列出了常用的应用场景,不涉及到Kafka等其他组件。
本篇内容主要涉及到ELK的环境搭建,其中Elasticsearch,Kibana安装在同一台机器上,Logstash安装到需要进行数据采集的节点上