客户端同学应该理解的 ELK Stack 组件知识

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 客户端同学应该理解的 ELK Stack 组件知识

前言


  • ELK Stack 是一套开源的数据搜索 / 分析解决方案,核心组件包括:Elasticsearch、Logstach、Kibana 和后来的 Beants。对于客户端同学来说,一般只会接触到其中的 Kibana 组件。
  • 在这篇文章里,我将简单总结 ELK Stack 背后运行的架构逻辑,以及总结 Kibana 的使用。如果能帮上忙,请务必点赞加关注,这真的对我非常重要。


目录


image.png

1. 背景


传统的日志分析是直接从日志文件中grep / awk 日志信息,这种方式文本搜索慢,难以多维度查询。在大型系统中,往往采用的是分布式部署的架构(不同服务模块部署在不同的服务器节点上)。在出现问题时,需要一套集中化的日志管理工具来收集 / 分析所有节点上的日志,提高定位问题的效率。


提示:

  • Linux grep 命令:用于查找文件里符合条件的字符串;
  • awk 是一个文本分析工具。


2. ELK Stack 架构


ELK Stack 组件包含 Elasticsearch、Logstash、Beats 和 Kibana。早期版本的 ELK 组件只包含 Elasticsearch、Logstash 和 Kibana 三个组件,这就是 “ELK” 三个字母的来源。在 2015 年,ELK 组件增加了 Beats,为了命名方便,以后 ELK 组件的更新迭代版本都统称为 ELK Stash。依据

image.png


下面简单介绍几个组件的负责的职能,因为我们是客户端同学,只要理解大概的用途即可。


  • Elasticsearch: 开源的分布式搜索和分析引擎(RESTful 风格);
  • Logstash: 开源的数据采集工具,允许在将数据索引到 Elasticsearch 之前,收集多个来源的数据,进行过滤和转换。在实现上,Logstash 采取的是 C/S 架构,Logstash Agent 安装在需要收集数据的主机上,Logstash Server 收集各个主机上的数据。
  • Kibana: 开源的 Elasticsearch 数据可视化和管理工具,可以提供多种实时图表(例如:直方图、线形图、饼状图、地图等)。
  • Beats: 轻量级的数据采集工具,集合了多种单一用途数据采集器。早期 ELK 组件采用 Logstash 进行日志收集,但是 Logstach 对资源消耗高,使用 Beats 性能占用更加轻量。Beats 和 Logstash 虽然有重叠的功能,但是依然可以将数据转发至 Logstash 获得更强大的数据转换能力。


另外,ELK Stack 组件往往还需要配合 Kafka 或 Redis 消息队列,这是为了降低数据丢失隐患。在没有消息队列的情况下,如果服务侧组件出现故障,那么会出现数据丢失。而引入消息队列的情况下,在出现故障时数据会被存储下来,降低了数据丢失隐患。

image.png

3. Kibana 的使用


对于客户端同学,更关心的应该在面向分析侧的 Kibana,这一节我们就着重来总结 Kibana 的使用。


3.1 数据搜索

image.png


数据搜索是 Kibana 最基础也是最主要的功能,在数据探索(Discover)页面可以交互式地探索你的数据。


简单熟悉下页面中的几块区域:


  • 搜索条件:可以使用简单的文本查询,或者使用 Lucene 语法,也可以使用基于 JSON 的 Elasticsearch 查询 DSL;
  • 时间筛选:选择搜索数据的时间跨度,需要注意选择是跨度越长,对应的数据搜索耗时越大;
  • 项目筛选:选择搜索数据的项目,一般每个项目的日志是独立收集并通过 Logstash 采集到 Elasticsearch;
  • 字段筛选:对搜索结果进行过滤,只显示包含特定字段值的数据。


image.png

在数据展示区,你可以看到所有筛选后的数据。展开具体一条数据,其中的 msg 字段值就是你的项目中上报的数据(payload)。


3.2 可视化


在可视化(Visualize)页面可以创建可视化控件,在仪表盘(Dashboards)页面可以把你创建的多个可视化控件整合在一起展示。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
3月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
3月前
|
Go 数据处理 Docker
elk stack部署自动化日志收集分析平台
elk stack部署自动化日志收集分析平台
80 0
|
存储 消息中间件 运维
Kubernetes中部署ELK Stack日志收集平台(上)
Kubernetes中部署ELK Stack日志收集平台
Kubernetes中部署ELK Stack日志收集平台(上)
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus VS ELK Stack:容器监控与日志管理工具的比较与选择
在容器化时代,有效的容器监控与日志管理工具对于确保应用程序的可靠性和可维护性至关重要。本文将比较两个主流工具,Prometheus和ELK Stack,探讨它们在容器监控和日志管理方面的特点、优势和适用场景,帮助读者做出明智的选择。
|
10月前
|
存储 监控 安全
【Elastic Stack-初识篇】 ELK介绍、搭建最新 ELK 日志分析系统
【Elastic Stack-初识篇】 ELK介绍、搭建最新 ELK 日志分析系统
682 0
|
11月前
|
消息中间件 缓存 负载均衡
【日志架构】ELK Stack + Kafka 端到端练习
【日志架构】ELK Stack + Kafka 端到端练习
|
11月前
|
消息中间件 监控 固态存储
带你读《Elastic Stack 实战手册》之71:——4.1.3.企业ELK日志搜索引擎
带你读《Elastic Stack 实战手册》之71:——4.1.3.企业ELK日志搜索引擎
BXA
|
11月前
|
Prometheus Kubernetes 监控
搭建高效微服务架构:Kubernetes、Prometheus和ELK Stack的完美组合
微服务架构是一种软件设计模式,它将单个应用程序拆分成一组更小、更独立的服务。每个服务在自己的进程中运行,并使用轻量级通信机制进行通信。由于每个服务都是独立的,因此可以独立部署、扩展和更新,从而使开发和运维更加容易。
BXA
302 0
|
存储 监控 安全
【Elastic Stack】 搭建最新 ELK 日志分析系统 8.2.2版
大家好,我是无名小歌。 今天给大家分享一个centos7系统搭建2022年最新ELK日志分析系统,目前版本是8.2.2。值得注意的是安装 ELK 时,您必须在整个ELK中使用相同的版本,如:Elasticsearch 8.2.2,则安装Kibana 8.2.2 和 Logstash 8.2.2,如果出现不对应的情况,如:Elasticsearch 是8.2.2版本、Kibana-6.8等或是其他版本,则需要进行对应版本的升级到8.2.2版本。
1259 0
【Elastic Stack】 搭建最新 ELK 日志分析系统 8.2.2版
|
Kubernetes 数据可视化 API
Kubernetes中部署ELK Stack日志收集平台(下)
Kubernetes中部署ELK Stack日志收集平台
Kubernetes中部署ELK Stack日志收集平台(下)