1. 背景
ELKB(Elasticsearch、Logstash、Kibana、Beat的组合)是一套开源的分布式日志管理方案。凭借其闭环的日志处理流程、高效的检索性能、线性的扩展能力、较低的运维成本等特点,ELKB在最近几年迅速崛起,成为实时日志处理开源领域的首要选择。本文先向大家初步介绍ELK生态及其应用场景,后续会更多的介绍我们在ELK方面的工作。
在日志处理方面,用户经常遇到如下需求:
ELKB生态正是为满足以上日志分析需求而诞生的。
ELKB是一套开源的、闭环的分布式日志管理方案,覆盖日志从采集,到清洗、存储、分析、可视化等全流程。在实际应用场景中,ELKB的常见部署架构如下:
其中,每个组件的功能如下: Beat:非常轻量的Agent,部署于业务机器上,用于实时采集产生的数据传递给下游。
Logstash:一个集日志采集、清洗功能于一身的模块。
Elasticsearch:一个构建于Apache Lucene搜索引擎 基础上的弹性分布式系统,非常容易进行集群扩展,提供全文搜索和分析型数据库能力。
Kibana:一个基于Web的图形界面,用于搜索、分析和可视化Elasticsearch中的日志数据。
备注:
ELKB主要目标市场在日志领域,典型的应用场景如下:
ELKB不适合的场景如下:
目前我们主要使用ELK支持如下两类场景: 时序数据处理:我们基于Elasticsearch进行研发,支持时序数据模型,满足用户对高写入吞吐、高并发查询、低存储成本等能力的需求,并且提供数据降精度、权限、冷热数据管理等高级功能特性。相比于InfluxDB(DB-Engines时序数据库排名第一),我们的写入吞吐提高30%(单机20w/s),去除了对写入数据的种种限制,查询并发提高将近4倍(单机2w qps),且提供更丰富的分析能力。 日志处理:我们通过交互式日志接入、自动化采集上报、调优日志解析/分析性能等方面,优化日志处理闭环,提供一个简单高效的日志平台。另外,通过研发监控告警、数据导出、权限、日志管理等功能特性,丰富日志分析能力,辅助用户充分挖掘日志价值。 后续我们会逐步展开介绍我们的工作内容,希望大家多多关注。