ELK平台架构

       ELK实战:https://blog.csdn.net/beyond_qjm/article/details/81943187

一、ELK简介

ELK不是一款软件,而是elastic 公司旗下三款产品 ElasticSearch 、Logstash 、Kibana 的首字母组合。

Elasticsearch:提供存储数据、全文搜索、分析引擎三大功能。基于 Apache Lucene构建的RESTful 风格的开源软件,并具有高可伸缩、高可靠和易管理等特点。

Logstash:数据收集、分析、过滤工具。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、统一格式等操作,然后能输出多种设配包括文件、邮件、Redis、elasticsearch等;

Kibana:Web数据分析和可视化平台。通常与 Elasticsearch 配合使用,不仅可以对其中数据进行搜索、分析和以统计图表的方式展示,还可以以特殊的方式查询和过滤数据。

 

二、为什么使用ELK

对于很多公司来说,通常会很多个应用,并部署在大量的服务器上。当应用出现问题时,运维和开发人员常常需要通过查看日志来定位问题。试想如果没有统一日志管理平台,那么就需要登录到远程服务器上查看日志文件,是多么费时费力的事情。如果是分布式集群应用这个过程将会更加繁琐。

而通过 ELK 平台,可以同时实现日志收集、日志搜索和日志分析的功能。可以快速的在海量的日志信息中快速的定位、提取关键信息。

三、ELK架构

1. 架构(Logstash + Elasticsearch + Kibana)

ELK平台架构_第1张图片

由Logstash分布于各个节点上搜集相关日志、数据,并经过分析、过滤后发送给远端服务器上的Elasticsearch进行存储。Elasticsearch将数据存储并提供多种API供用户查询检索Kibana调用Elasticsearch提供的API已web方式对其中数据进行搜索、分析和以统计图表的方式展示。

优点:搭建简单便于维护易于上手

缺点: logstash耗资源较大,运行占用CPU和内存高;当集群故障时,存在数据丢失隐患。

2. 架构(Beats + Logstash + Elasticsearch + Kibana)

ELK平台架构_第2张图片

添加beats接替Logstash在各个节点上收集数据,logstash以几个甚至单节点存在(具体看服务规模决定),负责过滤、分析数据、将数据存储的elasticsearch。

优点:解决logstash消耗资源过大,占多过多服务器的资源,将过多资源消耗限制较少的服务器上。

缺点:不能解决当集群故障时,存在数据丢失隐患。

3. 架构1(Beats + 缓存队列 + Logstash + Elasticsearch + Kibana)

ELK平台架构_第3张图片

在beats和Logstash之间添加Kafka、Redis、RabbitMQ 等消息队列,缓存收集到的日志数据。

优点:可以减小数据量过大时给各个节点造成的巨大压力,并可以降低当集群故障时数据丢失隐患

缺点:更适合日志数量庞大的集群应用。

你可能感兴趣的:(ELK)