ELK日志方案介绍

2020-05-22 00:00:00 索引 创建 数据 阶段 生命周期

ELK组件

什么是ELK?

ELK是Elasticsearch、Logstash与Kibana三个组件的首字母的缩写,三个开源组件组合在一起就构成了一个完整的日志采集、处理与查询解决方案,下图是Elastic公司给出的ELK方案架构图。


底层是Beats与Logstash,Beats是一个数据迁移工具可以将各种数据源如文件、网络数据包、Syslog等数据做简单解析后写入Logstash做进一步处理或直接写入Elasticsearch;Logstash与Beats功能稍有重合,它可以接收Beats发送出来的数据或者直接读取本地文件,他注重的主要是数据的预处理,本文也将对Logstash做比较详细的介绍;中间层是Elasticsearch,主要负责数据的持久化与分析,是ELK Stack的核心;上层是Kibana,主要负责对Elasticsearch中的数据进行可视化展示。

Logstash

Logstash由两个必要组件:INPUT与OUTPUT,一个可选组件FILTER组成,INPUT组件主要负责数据读取(如Beats、本地文件、syslog等),FILTER组件负责数据的预处理,OUTPUT组件负责数据输出(如Elasticsearch、Kafka、本地文件等)。


本节将详细介绍Filebeat读取本地apache日志作为输入、Elasticsearch作为输出的ELK Stack日志解决方案。


配置Filebeats

标准apache日志日志示例:

86.1.76.62 - - [04/Jan/2015:05:30:37 +0000] "GET /projects/xdotool/ HTTP/1.1" 200 12292 "http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_questions" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140205 Firefox/24.0 Iceweasel/24.3.0"
86.1.76.62 - - [04/Jan/2015:05:30:37 +0000] "GET /reset.css HTTP/1.1" 200 1015 "http://www.semicomplete.com/projects/xdotool/" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140205 Firefox/24.0 Iceweasel/24.3.0"
86.1.76.62 - - [04/Jan/2015:05:30:37 +0000] "GET /style2.css HTTP/1.1" 200 4877 "http://www.semicomplete.com/projects/xdotool/" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140205 Firefox/24.0 Iceweasel/24.3.0"

相关文章