ELK(一)介绍

ELK简介

ELK是三个开源软件的缩写(Elasticsearch、Logstash、Kibana),它是一个轻量级的日志收集处理。ELK近实时日志分析搜索系统。

Elasticsearch是用Java语言编写,基于Lucene全文检索引擎框架,是一个开源分布式搜索引擎,提供收集、分析、存储数据三大功能。

特点是:分布式、零配置、自动发现、索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,主要用来对日志进行收集、分析、过滤的,支持大量的数据获取方式。一般工作方式是C/S架构,client端安装在需要收集日志的主机上,server端负责将收到的各个节点日志进行过滤、修改操作在一并发往elasticsearchss上。

Kibana 是一个开源、免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供日志分析的 Web 界面,可以汇总、分析和搜索重要数据日志。

早期的ELK架构中使用的是Logstash进行收集、解析和过滤日志,但是Logstash对CPU、内存、IO等资源的消耗过高,相比于Logstash,Beats所占用的CPU和内存几乎可以忽略。

FileBeat属于Beats,是一个轻量型的日志采集器。目前Beats包括:Packagebeat(搜索网络流量数据)、Topbeat(搜集系统、进程和文件系统级别的CPU和内存使用情况等数据)、Filebeat(搜集文件数据)、Winlogbeat(搜集Windows事件日志数据)。

应用场景

大规模的日志进行搜索,进行分析。

假设前端nginx代理集群有5台,这上面都分布了nginx日志。突然当前时间点用户反馈网站访问不了,那我们就要去查看过滤出nginx日志http状态码为404,4xx,5xx的日志。

如果使用grep、awk进行操作,那就需要登录到5台机器上进行操作,然后对结果进行一个合并。这种情况就不适用于命令行工具去做分析和搜索,这种方法比较麻烦,效率低,日志量大,搜索慢。

对于这种情况,我们的日志就要进行集中化管理,集中化分析。

ELK提供了一整套的解决方案,并且都是开源的软件,软件之间相互配合使用,高效的满足了很多场合的使用。当前主流的一种日志系统。

收集:能够采集多种来源的日志数据

传输:能够稳定的把日志数据传输到中央系统

存储:如何存储日志数据

分析:可以至此UI分析

警告:能够提供错误报告,监控机制

ELK官方网站:https://www.elastic.co/cn/elastic-stack/

ELK架构

首先由Logstash分布于各个节点上搜集相关日志、数据,并经过分析、过滤后发送给远端服务器上的Elasticsearch进行存储。

Elasticsearch将数据以分片的形式压缩存储并提供多种API供用户查询,操作。用户亦可以更直观的通过配置Kibana Web方便的对日志查询,并根据数据生成报表。

架构二

加入了消息队列机制。位于各个节点上的Logstash Agent首先将数据/日志传输给Kafka(或者Redis)。

然后将队列中消息或数据间接传递给Logstash,Logstash过滤分析之后将数据传输给Elasticsearch进行存储。

最后再由Kibana将日志和数据呈现给用户。

优点:引入了Kafka(或redis),使得远端的Logstash server因为故障停止运行之后,数据会先被存储下来,从而避免数据的丢失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩未零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值