对ELK的理解

news/2024/7/24 5:27:29 标签: elk, elasticsearch, 大数据

什么是ELK

ELK是一套针对日志数据做解决方案的框架,由三款产品组成:ElasticSearch(ES)、Logstash、Kibana。

  • ElasticSearch负责日志的存储和检索。
  • Logstash负责日志的收集、过滤和格式化。
  • Kibana则负责日志的展示统计和数据可视化。

ELK框架对服务行为数据进行分析。它能解决应用出现故障需要通过日志排查故障信息的问题。当应用已部署了多个环境时,排查的难度和耗时就是一个巨大的损耗。而ELK就可以对多个环境的日志进行收集、过滤、存储、检错和可视化。届时只需要查看Kibana上的日志信息,就可以找出故障所在。 ELK也能够针对应用在生产环境上的表现需要数据支撑,如访客数、功能调用量、出错率等等。这类数据的收集可以通过使用别的产品或编写一套程序进行输出,但能像ELK这样对应用无入侵,且功能强大的开源软件是少之又少的。

ELK框架由三个开源软件组成。Elasticsearch是日志存储和搜索的组件,提供了分布式的实时搜索和分析引擎。Elasticsearch是一个开源的分布式搜索引擎,支持全文检索、结构化搜索和分析,并且可以扩展到数百台服务器上处理PB级别的数据。Logstash是ELK中的日志收集、处理和转发组件。它可以从各种数据源(如文件、系统日志、数据库、AWS、消息队列等)收集数据,并将数据转换为统一的格式,然后发送给Elasticsearch等目标。Kibana是一个开源的数据可视化平台,可以从Elasticsearch中检索数据,进行分析和展示。它支持实时图表和地图、仪表盘、警报等功能。

ELK的部署和配置需要考虑输出日志的合理性和符合规范。在研发过程中,需要考虑哪些内容应该被输出到日志,这些问题将影响ELK的配置和部署。ELK在实际中可以通过多种方式部署,如单机部署、集群部署、Docker容器部署等。 单机部署适用于小型场景,但在大型场景下可能无法满足要求。集群部署可以在多台服务器上实现高可用和负载均衡,但需要考虑数据同步和节点扩容等问题。Docker容器部署可以快速构建和部署ELK环境,但需要注意容器网络和存储等问题。

优缺点

优点:

  • ELK提供了一个完整的解决方案,它的三个组件之间可以高效的协同工作,使得日志的采集、传输、存储、分析和警告都可以高效地完成。
  • Elasticsearch作为一个分布式搜索引擎,提供搜集、分析、存储数据三大功能,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  • Logstash主要用于日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
  • Kibana提供了一个web界面,可以直观的展示数据,方便用户进行数据分析和可视化。

缺点:

  • ELK方案往往规模复杂,资源占用高,操作苦难。很多功能往往用不上,大多数查询只关注一定时间范围和一些简单的参数(如:host、service 等),使用这些解决方案就有点杀鸡用牛刀的感觉了。
  • Logstash耗资源较大,运行占用CPU和内存高。另外没有消息队列缓存,存在数据丢失隐患。


http://www.niftyadmin.cn/n/213616.html

相关文章

回溯算法--01背包问题

目录 回溯算法--01背包问题 [算法描述] [回溯法基本思想] 法一: 法二: 代码: 运行结果 代码改进 回溯算法--01背包问题 [算法描述] 0-1背包问题是子集选取问题。一般情况下,0-1背包问题是NP完全问题。0-1背包问题的解空…

maven报错: ‘parent.relativePath‘ of POM xxx

错误信息: parent.relativePath of POM io.renren:renren-fast:3.0.0 (D:\renren-fast\pom.xml) points at com.gwh:gulimall instead of org.springframework.boot:spring-boot-starter-parent, please verify your project structure引入人人开源的后台管理系统&…

Maven项目的JDK版本不一致引发的问题

1.运行提示java: 错误: 不支持发行版本 5&#xff08;改成JDK8&#xff09; 2.运行提示java&#xff1a;-source 8 中不支持 instanceof 中的模式匹配(改成JDK17) 解决方案&#xff08;以JDK8为例&#xff09; 1.普通Maven项目 通过指定Maven插件的JDK版本解决 <build>…

cgroups是linux内核中限制、记录、隔离进程组(process groups)所使用的物理资源的机制

容器虚拟化 可以实现应用程序的隔离 直接使用物理机的操作系统可以快速响应用户请求 不占用部署时间 占用少量磁盘空间 缺点∶学习成本增加、操作控制麻烦、网络控制与主机虚拟化有所区别、服务治理难。 微服务架构师需要会多门编程语言&#xff0c;才能治理各种服务 三种…

2023年腾讯云轻量服务器和5年CVM云服务器规格性能测评

腾讯云服务器分为轻量应用服务器和云服务器CVM&#xff0c;云服务器地域大多数北京、上海、广州这种中国大陆地域&#xff0c;这是2023年腾讯云轻量服务器和5年CVM云服务器规格性能测评。 2023年腾讯云3年轻量服务器和5年CVM云服务器规格性能测评 1、目前五年时长的云服务器CV…

vue 高德地图获取鼠标点击经纬度

新建 components/amap.vue&#xff0c;封装高德地图组件&#xff1a; <template><div id"amapcontainer" style"width: 1000px; height: 720px"></div> </template><script> import AMapLoader from amap/amap-jsapi-loade…

为什么电脑无限重启,难道是我的电脑装了无限宝石?

本来以为旧电脑容易出毛病&#xff0c;可万万没想到一款新电脑也能无限重启。下面&#xff0c;驱动人生就为大家带来电脑无限重启的解决方法。 我们要明确一个问题&#xff1a;为什么电脑会无限重启呢&#xff1f;简单来说&#xff0c;有两个主要的原因。第一种情况是硬件故障…

【云原生进阶之容器】第五章容器运行时5.8--容器热迁移

《云原生进阶之容器》专题索引: 第一章Docker核心技术1.1节——Docker综述第一章Docker核心技术1.2节——Linux容器LXC第一章Docker核心技术1.3节——命名空间Namespace第一章Docker核心技术1.4节——chroot技术第一章Docker核心技术1.5.1节——cgroup综述