一、ELK是什么?

ELK实际上是三个工具的集合,Elasticsearch + Logstash + Kibana,这三个工具组合形成了一套实用、易用的监控架构,很多公司利用它来搭建可视化的海量日志分析平台。

1. ElasticSearch

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

 

2. Logstash

Logstash是一个用于管理日志和事件的工具,你可以用它去收集日志、转换日志、解析日志并将他们作为数据提供给其它模块调用,例如搜索、存储等。

 

3. Kibana

Kibana是一个优秀的前端日志展示框架,它可以非常详细的将日志转化为各种图表,为用户提供强大的数据可视化支持。

 

二、ELK有何优势?

1. 强大的搜索功能,elasticsearch可以以分布式搜索的方式快速检索,而且支持DSL的语法来进行搜索,简单的说,就是通过类似配置的语言,快速筛选数据。

2. 完美的展示功能,可以展示非常详细的图表信息,而且可以定制展示内容,将数据可视化发挥的淋漓尽致。

3. 分布式功能,能够解决大型集群运维工作很多问题,包括监控、预警、日志收集解析等。

 

三、ELK一般用来做啥?

ELK组件在海量日志系统的运维中,可用于解决:

- 分布式日志数据集中式查询和管理

- 系统监控,包含系统硬件和应用各个组件的监控

- 故障排查

- 安全信息和事件管理

- 报表功能

 

ELK组件在大数据运维系统中,主要可解决的问题如下:

- 日志查询,问题排查,上线检查

- 服务器监控,应用监控,错误报警,Bug管理

- 性能分析,用户行为分析,安全漏洞分析,时间管理