初识ELK

一、ELK 是什么

简单说,ELK就是一个分布式日志系统,。

在微服务中,有很多的软件、比如php、nginx、consul、RabbitMQ、ElasticSearch、MySQL、kafka、zookeeper、keepalived等等,这些软件都有各自的日志,出现问题,挨个服务器的去查询日志,查询起来会很麻烦。

ELK的作用就是将这些日志汇总在一起,展示给开发和运维人员。

ELK = ElasticSearch + Logstash + kibana。

(1)ElasticSearch

使用elasticsearch来存储日志信息,对一般系统来说可以理解为可以存储无限条数据,因为elasticsearch有良好的扩展性。

(2)logstash

可以把理解为数据接口,为elasticsearch对接外面过来的log数据,它对接的渠道,有kafka,有log文件,有redis等等,足够兼容N多log形式。

(3)kibana

它主要用来做数据展现,log那么多数据都存放在elasticsearch中,我们得看看log是什么样子的吧,这个kibana就是为了让我们看log数据的,但还有一个更重要的功能是,可以图表形式来对log数据进行直观的展现。

日志对于任何的系统来讲都是极其重要的组成部分,通常日志分散在不同的设备上,对于一个大型应用来讲,应用程序有可能分布在几十甚至上百台应用服务器上。如果对应用日志不进行统一的收集,对于这种分布式部署的应用日志就非常不方便开发人员或者运维人员查询,同时分散的日志也不便于管理,因此构建一个统一的日志管理系统就十分有必要。