ELK日志分析系统和ELFK

这篇具有很好参考价值的文章主要介绍了ELK日志分析系统和ELFK。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

什么要做日志分析平台

一、 Elasticsearch

elasticsearch核心概念

二、Logstash

Logstash 的主要组件

三、Kibana

介绍

功能

ELK搭建

四、Filebeat

Filebeat工作方式

Filebeat工作原理

五、Filebeat和Logstash

为什么使用filebeat收集日志更好

Filebeat结合Logstash的好处

六、ELK+Filebeat+Kafka+Zookeeper


ELK 是一整套解决方案,是三个软件产品的首字母缩写: Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用, 而且又先后归于 Elastic.co 公司名下,故被简称为 ELK 协议栈。

官网地址:免费且开放的搜索:Elasticsearch、ELK 和 Kibana 的开发者 | Elastic

ELK日志分析系统和ELFK

什么要做日志分析平台

随着业务量的增长,每天业务服务器将会产生上亿条的日志,单个日志文件达几 个 GB,这时我们发现用 Linux 自带工具,cat grep awk 分析越来越力不从心了, 而且除了服务器日志,还有程序报错日志,分布在不同的服务器,查阅繁琐

一、 Elasticsearch

Elasticsearch是一个高度可扩展的全文搜索和分析引擎,基于 Apache Lucence (事实上,Lucence 也是百度所采用的搜索引擎)构建,能够对大容量的数据进 行接近实时的存储、搜索和分析操作。

elasticsearch核心概念

(1)、接近实时(NRT)

elasticsearch 是一个接近实时的搜索平台,这意味着,从索引一个文档直到这个 文档能够被搜索到有一个轻微的延迟(通常是 1 )

(2)、cluster 集群

一个集群就是由一个或多个节点组织在一起,它们共同提供索引和搜索功能。其中一个节点为主节点,这个主节点是可以通过选举产生的,并提供跨节点的联合索引和搜索的功能。集群有一个唯一性标示的名字,默认是 elasticsearch,集群名字很重要,每个节点是基于集群名字加入到其集群中的。因此,确保在不同环境中使用不同的集群名字。—个集群可以只有一个节点。es 具有集群机制,节点通过集群名称加入到集群中,同时在集群中的节点会有一个自己的唯一身份标识(自己的名称)

(3)、 node节点

节点就是一台单一的服务器,是集群的一部分,存储数据并参与集群的索引和搜索功能。像集群一样,节点也是通过名字来标识,默认是在节点启动时随机分配的字符名。当然,你可以自己定义。该名字也很重要,在集群中用于识别服务器对应的节点。节点可以通过指定集群名字来加入到集群中。默认情况,每个节点被设置成加入到 elasticsearch 集群。如果启动了多个节点,假设能自动发现对方,他们将会自动组建一个名为 elasticsearch 的集群。

(4)、 index 索引

一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引、一个产品目录的索引、还有一个订单数据的索引。一个索引用一个名字来标识(必须全部是小写字母组合),并且当我们要对相应的索引中的文档进行索引、收缩、更新和删除的时候,都要用到这个名字。在一个集群中,可以定义多个索引。(索引相对于关系型数据库的库)类型相对于关系型数据库的表 ——》索引()-》类型()-》文档(记录)

(5) 类型(type

类型(type)在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类分区,其寓意完全由你来定义。通常,会为具有一组共同字段的文档定义一个类型。比如:我们假设运营一个博客平台并且将所有的数据存储到一个索引中,在这个索引中,你可以为用户数据定义一个类型,为博客数据定义一个类型,也可以为评论数据定义另一个类型。(类型相对于关系型数据库的表)

(6)、文档(document)

文档就是最终的数据了,可以认为一个文档就是一条记录。是 ES 里面最小的数据单元,就好比表里面的一条数据

(7)、分片和副本(shards & replicas)

在实际情况下,索引存储的数据可能超过单个节点的硬件限制。如一个 10亿文档需 1TB 空间可能不适合存储在单个节点的磁盘上或者从单个节点搜索请求太慢了。为了解决这个问题,elasticsearch 提供将索引分成多个分片的功能。当在创建索引时,可以定义想要分片的数量。每一个分片就是一个全功能的独立的索引,可以位于集群中任何节点上

二、Logstash

Logstash 是一个具有实时渠道能力的数据收集引擎。使用 JRuby 语言编写。其作者是世界著名的运维工程师乔丹西塞 (JordanSissel)。

款强大的数据处理工具

可实现数据传输、格式处理、格式化输出

数据输入(从业务输入)、数据加工(如过滤、改写等)以及数据输出(输出到Elasticsearch 群集)

Logstash 的主要组件

shipper:日志收集者,负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来。通常,远程代理端(agent)只需要运行这个组件即可

indexer:日志存储者,负责接收日志并写入到本地文件

broker:日志 hub,负责连接多个 shipper 和多个 indexer

search and storage:允许对事件进行搜索和存储

web interface:基于 Web 的展示界面

三、Kibana

介绍

(1)一个针对 Elasticsearch 的开源分析及可视化平台;

(2)搜索、查看存储在 Elasticsearch 索引中的数据;

(3)通过各种图标进行高级数据分析及展示;

(4)让海量数据更容易理解;

(5)操作简单,基于浏览器地用户界面就可以快速创建仪表板(dashboard)实时显示 Elasticsearch 查询动态;

(6)设置安装 Kibana 非常简单,无需编写代码,几分钟内就可以完成 Kibana安装并启动 Elasticsearch 监测。

功能

(1)Elasticsearch 无缝集成Kibana 架构为 Elasticsearch 定制,可以将任何结构化和非结构化数据加入 Elasticsearch 索引。Kibana 还充分利用了 Elasticsearch强大的搜索和分析功能。

(2)整合数据Kibana 能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。

(3)复杂数据分析Kibana 提升了 Elasticsearch 分析能力,能够更加智能地分析数据,执行数学转换并且根据要求对数据切割分块。

(4)让更多团队成员受益:强大的数据库可视化接口让各业务岗位都能够从数据集合受益。

(5)接口灵活,分享更容易:使用 Kibana 可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。

(6)配置简单Kibana 的配置和启用非常简单,用户体验非常友好。Kibana 自带 Web 服务器,可以快速启动运行。

(7)可视化多数据源Kibana 可以非常方便地把来自 LogstashES-HadoopBeats或第三方技术的数据整合到 Elasticsearch,支持的第三方技术包括 Apache Flume、Fluentd 等。

(8)简单数据导出Kibana 可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果。

ELK搭建

四、Filebeat

Filebeat 是一款轻量级的开源日志文件数据搜索器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 Logstash 进行解析,或是直接发给 ES 存储,性能上相比运行于 JVM 上的 Logstash 优势明显,是对它的(日志收集)替代。

Filebeat 由两个主要组成部分组成:(inputs)prospector(探勘者)harvesters(矿车)。这些组件一起工作来读取文件并将事件数据发送到指定的 output

prospector: 负责找到所有需要进行读取的数据源

harvesters:负责读取单个文件的内容,并将内容发送到 output 中,负责文件的打开和关闭

Filebeat工作方式

启动 Filebeat 时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于 Filebeat 所找到的每个日志,Filebeat 都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到 libbeatlibbeat 将聚集事件,并将聚集的数据发送到为 Filebeat 配置的输出(例如elasticsearch、logstash等)

Filebeat工作原理

Filebeat 可以保持每个文件的状态,并且频繁地把文件状态从注册表里更新到磁盘。这里所说的文件状态是用来记录上一次 Harvster 读取文件时读取到的位置,以保证能把全部的日志数据都读取出来,然后发送给 output。如果在某一时刻,作为 output ElasticSearch 或者 Logstash 变成了不可用,Filebeat 将会把最后的文件读取位置保存下来,直到 output 重新可用的时候,快速地恢复文件数据的读取。在 Filebaet 运行过程中,每个 Prospector 的状态信息都会保存在内存里。如果 Filebeat 出现了重启,完成重启之后,会从注册表文件里恢复重启之前的状态信息,让 FIlebeat 继续从之前已知的位置开始进行数据读取。

五、Filebeat和Logstash

为什么使用filebeat收集日志更好

logstash 是 jvm 跑的,资源消耗比较大,启动一个 logstash 就需要消耗 500M左右的内存(这就是为什么 logstash 启动特别慢的原因),而 filebeat 只需要 10 M 左右的内存资源。常用的 ELK 日志采集方案中,大部分的做法就是将所有节点的日志内容通过 filebeat 发送到 logstashlogstash 根据配置文件进行过滤。然后将过滤之后的文件输送到 elasticsearch 中,通过 kibana 去展示

Filebeat结合Logstash的好处

(1)通过 Logstash 具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻 Elasticsearch 持续写入数据的压力
(2)从其他数据源(例如数据库,S3对象存储或消息传递队列)中提取
(3)将数据发送到多个目的地,例如S3,HDFS(Hadoop分布式文件系统)或写入文件
(4)使用条件数据流逻辑组成更复杂的处理管道

六、ELK+Filebeat+Kafka+Zookeeper

ELK日志分析系统和ELFK

第一层、数据采集层

数据采集层位于最左边的业务服务器集群上,在每个业务服务器上面安装了filebeat 做日志收集,然后把采集到的原始日志发送到 Kafka+zookeeper 集群上。

第二层、消息队列层

原始日志发送到 Kafka+zookeeper 集群上后,会进行集中存储,此时,filbeat 是消息的生产者,存储的消息可以随时被消费。

第三层、数据分析层

Logstash 作为消费者,会去 Kafka+zookeeper 集群节点实时拉取原始日志,然后将获取到的原始日志根据规则进行分析、清洗、过滤,最后将清洗好的日志转发至 Elasticsearch 集群。

第四层、数据持久化存储

Elasticsearch 集群在接收到 logstash 发送过来的数据后,执行写磁盘,建索引库等操作,最后将结构化的数据存储到 Elasticsearch 集群上。

第五层、数据查询、展示层

Kibana 是一个可视化的数据展示平台,当有数据检索请求时,它从 Elasticsearch集群上读取数据,然后进行可视化出图和多维度分析。

 文章来源地址https://www.toymoban.com/news/detail-404415.html

到了这里,关于ELK日志分析系统和ELFK的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [ELK] ELK企业级日志分析系统

    1.1 ELK 简介与组件 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ●ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日

    2024年01月21日
    浏览(73)
  • ELK 日志分析系统

    目录 一、日志管理方案 二、完整日志系统基本特征 三、ELK 简介 ELK组件: 1、ElasticSearch 2、Logstash 3、Kibana  可以添加的其它组件:  1、Filebeat 2、缓存/消息队列(redis、kafka、RabbitMQ等) 3、Fluentd 三、ELK 的工作原理 四、ELK部署 1、Elasticsearch部署  ①关闭防火墙和安全机制  

    2024年01月21日
    浏览(43)
  • ELK日志监控分析系统

    那么,ELK 到底是什么呢? “ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”

    2024年02月15日
    浏览(38)
  • 简单认识ELK日志分析系统

    ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 好处 : (1)提高安全性 (2)集中存放日志 (3)缺陷:对日志的分析困难 1 、ElasticSearch 概述 (1)提供了一个分布式

    2024年02月14日
    浏览(35)
  • Linux--ELK日志分析系统

            ELK是一套针对日志数据做解决方案的框架,分别代表了三款产品: - E: ElasticSearch(ES),负责日志的存储和检索; - L:Logstash,负责日志的收集,过滤和格式化; - K:Kibana,负责日志的展示统计和数据可视化; ElasticSearch ElasticSearch是一个基于Lucene的搜索服务器。它

    2023年04月27日
    浏览(73)
  • ELK+FileBeat日志分析系统

    ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。 Elasticsearch是个开源分布式搜索引擎

    2024年02月08日
    浏览(39)
  • ELK (一)部署ELK+Filebeat日志收集分析系统

    说明:此安装流程只适用于8.0.0以下的版本 1.1 下载ElasticSearch的wget指令: 1.2 解压安装包到指定目录 指定解压缩到 /usr/local 目录下 1.3 修改配置文件 (1)elasticsearch.yml 分别创建 path.data、path.logs 对应的 data、logs文件夹。 详细配置: (2)limits.conf 末尾追加以下内容: (3)s

    2024年02月08日
    浏览(48)
  • ELK 日志分析系统介绍与部署

    目录 一、ELK 简介:  1.开源工具介绍:  2.其它组件:   2.1 Filebeat:  2.2 Fluentd:  2.3 缓存/消息队列(redis、kafka、RabbitMQ等):  3. filebeat 结合 logstash 带来好处: 二、为什么要使用 ELK: 三、完整日志系统基本特征: 四、ELK 的工作原理: 五、ELK 日志分析系统部署:  1.

    2024年02月07日
    浏览(44)
  • ELK企业级日志分析系统

    目录 一、ELK理论 1、日志服务器 2、ELK日志分析系统 3、日志处理步骤 4、ELK简介 5、为什么要使用ELK 6、完整日志系统基本特征 7、ELK的工作原理 8、总结 二、ELK集群之部署elasticsearch集群部署 1、环境准备 2、部署elasticsearch 软件 2.1 修改elasticsearch 主配置文件 2.3 创建数据存放

    2024年02月02日
    浏览(51)
  • 运维必备——ELK日志分析系统

    前些天发现了一个巨牛的人工智能学习网站,内容通俗易懂、风趣幽默,忍不住想分享一下。对人工智能感兴趣的同学可以去看看哦 点击跳转到网站。 通常来说,日志被分散的存储在各自的不同的设备上,如果说需要管理上百台机器,那么就需要使用传统的方法依次登录这

    2023年04月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包