ELK日志分析系统——配置+理论!

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

案例概述

日志分析是运维工程师解决系统故障,发现问题的主要手段。日志主要包括系统日志、应用程序日志和安全日志。
系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存在不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志,即繁琐又效率低下。为此,我们可以使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于更高要求的查询、排序和统计等,再加上庞大的机器数量,使用这样的方法依然难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:https://www.elastic.co/products

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,它可以对你的日志进行收集、过滤,并将其存储,供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供友好的日志分析Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

一、ELK日志分析系统简介

1、日志服务器

  • 提高安全性
  • 集中存放日志
  • 缺陷
    • 对日志的分析困难

2、ELK工作原理

在这里插入图片描述
Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。

简单来说,进行日志处理分析,一般需要经过以下几个步骤:

  1. 将日志进行集中化管理(beats)
  2. 将日志格式化(logstash)
  3. 对格式化后的数据进行索引和存储(elasticsearch)
  4. 前端数据的展示(kibana)

3、Elasticsearch介绍

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

Elasticsearch的基础核心概念
1)接近实时(NRT)

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

2)集群(cluster)

一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。其中一个节点为主节点,这个主节点是可以通过选举产生的,并提供跨节点的联合索引和搜索的功能。集群有一个唯一性标示的名字,默认是elasticsearch,集群名字很重要,每个节点是基于集群名字加入到其集群中的。因此,确保在不同环境中使用不同的集群名字。
一个集群可以只有一个节点。强烈建议在配置elasticsearch时,配置成集群模式。

3)节点(node)

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

4)索引(index)

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

5)类型(type)

​ 在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组共同字段的文档定义一个类型。比如说,我们假设你运营一个博客平台并且将你所有的数据存储到一个索引中。在这个索引中,你可以为用户数据定义一个类型,为博客数据定义另一个类型,当然,也可以为评论数据定义另一个类型。

​ ●类型相对于关系型数据库的表

6)文档(document)

​ 一个文档是一个可被索引的基础信息单元。比如,你可以拥有某一个客户的文档,某一个产品的一个文档,当然,也可以拥有某个订单的一个文档。文档以JSON(Javascript Object Notation)格式来表示,而JSON是一个到处存在的互联网数据交互格式。
​ 在一个index/type里面,只要你想,你可以存储任意多的文档。注意,虽然一个文档在物理上位于一个索引中,实际上一个文档必须在一个索引内被索引和分配一个类型。
​ ●文档相对于关系型数据库的列。

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

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

●分片的两个最主要原因:

a. 水平分割扩展,增大存储量

b. 分布式并行跨分片操作,提高性能和吞吐量

分布式分片的机制和搜索请求的文档如何汇总完全是有elasticsearch控制的,这些对用户而言是透明的

网络问题等等其它问题可以在任何时候不期而至,为了健壮性,强烈建议要有一个故障切换机制,无论何种故障以防止分片或者节点不可用。 为此,elasticsearch让我们将索引分片复制一份或多份,称之为分片副本或副本。

●副本也有两个最主要原因:

a. 高可用性,以应对分片或者节点故障。出于这个原因,分片副本要在不同的节点上。
b. ×××能,增大吞吐量,搜索可以并行在所有副本上执行。

总之,每个索引可以被分成多个分片。一个索引也可以被复制0次(意思是没有复制)或多次。一旦复制了,每个索引就有了主分片(作为复制源的原来的分片)和复制分片(主分片的拷贝)之别。分片和副本的数量可以在索引创建的时候指定。在索引创建之后,你可以在任何时候动态地改变副本的数量,但是你事后不能改变分片的数量。
默认情况下,Elasticsearch中的每个索引被分片5个主分片和1个副本,这意味着,如果你的集群中至少有两个节点,你的索引将会有5个主分片和另外5个副本分片(1个完全拷贝),这样的话每个索引总共就有10个分片。

4、Logstash介绍

Logstash由JRuby语言编写,基于消息(message-based)的简单架构,并运行在Java虚拟机(JVM)上。不同于分离的代理端(agent)或主机端(server),LogStash可配置单一的代理端(agent)与其它开源软件结合,以实现不同的功能。

  • 是一款强大的数据处理工具,可以实现数据传输、格式出来i、格式化输出
  • 数据输出(Collect),数据加工(Enrich),如过滤、改写等,以及数据输出(Transport)
1)LogStash的主要组件

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

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

③ Broker:日志Hub,负责连接多个Shipper和多个Indexer

④ Search and Storage:允许对事件进行搜索和存储

⑤ Web Interface:基于Web的展示界面

2)LogStash主机分类
  • 理主机(agent host):作为事件的传递者(shipper),将各种日志数据发送至中心主机;只需运行Logstash 代理(agent)程序;

  • 中心主机(central host):可运行包括中间转发器(Broker)、索引器(Indexer)、搜索和存储器(Search and Storage)、Web界面端(Web Interface)在内的各个组件,以实现对日志数据的接收、处理和存储

5、Kibana介绍

Kibana是一个针对Elasticsearch的开源分析

超详细 ELK 日志分析系统 文章目录一、ELK日志分析系统简介1:ELK日志分析系统组成2:日志处理步骤二:三款软件简介1:Elasticsearch(1)Elasticsearch的概述(2)Elasticsearch核心概念2:Logstash(1)Logstash介绍(2)Logstash的主要组件三:ELK日志分析系统部署1:拓扑图2:实验环境 一、ELK日志分析系统简介 ELK日志分析系统是Logstash、Elastcsearch、Kibana开源软件的集合,对外是作为一个日志管理系统的开源方案,它可以从任何来源、任何格式 阅读详情

相关推荐

SpringBoot配置ELK日志分析系统搭建

SpringBoot配置ELK日志分析系统ELK介绍环境配置准备工作配置Elasticsearch配置Kibana配置Logstash准备微服务运行测试 ELK介绍 引用网上别人的介绍: Logstash:日志收集工具,可以从本地磁盘,网络服务(自己监听端口,接受用户日志),消息队列中收集各种各样的日志,然后进行过滤分析,并将日志输出到Elasticsearch中。 Elasticsearch:...

Coder Wang 1万+

ELK原理与介绍

为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。 一般大型系统是一个分布式部署的架构,...

aiduo4911的博客 2714

ELK、ELFK 日志分析系统

输入采用标准输入,输出采用标准输出(类似管道)#执行 ctrl+c 退出#使用 rubydebug 输出详细格式显示,codec 为一种编解码器#使用 Logstash 将信息写入 Elasticsearch 中结果不在标准输出显示,而是发送至 Elasticsearch 中,可浏览器访问 http://172.168.1.11:9100/ 查看索引信息和数据浏览。Logstash 配置文件基本由三部分组成:input、output 以及 filter(可选,根据需要选择使用)。

这里没有简介 1552

ELK整理

ELK一、ELK介绍二、 Elasticsearch的安装部署1、依赖于java,所以首先安装java环境-jdk2、 Elasticsearch的安装3、Elasticsearch-head插件的安装 一、ELK介绍 ELK是Elasticsearch,logash,kibana的结合。 Elasticsearch的功能: 1.搜索 2.全文检索 3.分析数据 4.处理海量数据PB,对海量数据进行近实时的处理(ES可以自动将海量数据分散到多台服务器上去存储和检索) 5.高可用高性能分布式搜索引擎数据库

weixin_47274990的博客 8万+

ELK简介以及安装部署

ELK 是 Elasticsearch、Logstash、Kibana 三大开源框架的首字母大写简称。市面上也被称为Elastic Stack。其中 Elasticsearch 是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用 Elasticsearch作为底层支持的框架,可见 Elasticsearch 提供的搜索能力确实强大,市面上很多时候我们称Elasticsearch 为 es。

m0_54255157的博客 1万+

ELK 基本操作

ELK 日常维护、日志管理的基本操作,Kibana 的基本使用

IoTHub - 物联网开源技术社区 8841

ELK初学者

一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问...

qq_32429011的博客 2080

运维必备——ELK日志分析系统

日志分析是运维工程师解决系统故障、发现问题的主要手段

礁之的博客 1万+

ELK日志分析系统 超详细!!理论+实操讲解!!

文章目录一、ELK日志分析系统简介1.1日志处理的步骤1.2 ELK日志分析系统三部分1.3日志服务器(一般)二、Elasticsearch介绍2.1 Elasticsearch概述2.2 Elasticsearch的概念2.3 为什么要采用分片2.4 开启分片副本的主要原因三:Logstash介绍3.1 Logstash概述3.2 Logstash主要组件四:Kibana介绍4.1 Kibana概述4.2 Kibana主要功能五:实操 一、ELK日志分析系统简介 1.1日志处理的步骤 1.将APP s

weixin_49022211的博客 2万+

ELK超详细配置

一、ELK日志分析系统简介 ELK日志分析系统是Logstash、Elasticsearch、Kibana开源软件的集合,对外是作为一个日志管理系统的开源方案,它可以从任何来源、任何格式进行日志搜索、分析与可视化展示 1.1、ELK日志分析系统组成 elasticsearch(es):通过搭建群集;存储日志数据,索引日志数据 logstash :收集日志,收集到了后给es存储 kibana :视图形式展现日志信息,更加人性化 1.2、日志处理步骤 1.将日志进行集中化管理 2.将日志格式化(Logstash

weixin_47403060的博客 1万+

ELK(Elasticsearch+Logstash+Kibana)日志分析系统

本文主要介绍了ELK日志文件系统的概念和部署过程,详细阐释了Elasticsearch、Logstash、Kibana三个开源的日志收集、存储、检索和可视化的工具

十七拾的博客 1万+

强大的ELK日志分析系统

ELK日志分析系统一.ELK日志分析系统简介1.日志服务器的优缺点2.ELK简介3.Logstash管理包含四种工具4.elk工作原理二.Elasticsearch介绍三.Elasticsearch的基础核心概念:1.接近实时(NRT)2.集群(cluster)3.节点(node)4.索引(index)5.类型(type)6.文档(document)7.分片和副本(shards & replicas)四.logstash介绍1.logStash的主要组件:2.LogStash主机分类:五.Kiban

guguai7的博客 9980

ELK日志分析系统

ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具 配合使用, 完成更强大的用户对日志的查询、排序、统计需求。ELK 是 Elasticsearch、Logstash、Kibana 的缩写,这三个工具组合在一起,用于数据收集、存储、 搜索和可视化分析。它们的角色如下:Elasticsearch:核心搜索和分析引擎,负责存储数据并提供快速的全文搜索和分析功能。

shuaianm的博客 1405

如何搭建 ELK【elasticsearch+logstash+kibana】日志分析系统

ELKELK平台是一套完整的日志集中处理解决方案,将Logstash和Kiabana三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。Logstash:用于收集并处理日志,将日志信息存储到里面:用于存储收集到的日志信息Kibana:通过Web端的可视化界面来查看日志(数据可视化)ELK 的工作原理在所有需要收集日志的服务器上部署Logstash;或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署Logstash。Logstash收集日志,将日志格式化并输出到中。

ShockChen7的博客 9952

elk日志分析系统

1.ELK 是一套开源工具,用于日志管理、搜索和数据分析。三个核心组件:是一个分布式搜索和分析引擎,能够高效地存储和检索大量数据。它适用于结构化和非结构化数据,擅长全文搜索和数据聚合。Logstash是用于数据收集和处理的工具,能够从多种数据源(如日志文件、数据库等)获取数据,对其进行解析、过滤,并将处理后的数据发送到 Elasticsearch 或其他目标系统。Kibana是一个可视化工具,提供用户界面,用于展示和分析存储在 Elasticsearch 中的数据。

2301_80613136的博客 2768

理论+实验:ELK日志分析系统

目录一、ELK日志分析系统简介1.1 ELK日志分析系统简介-11.2 ELK日志分析系统简介-2二、Elasticesarch介绍三、Logstash介绍四、Kibana介绍五、部署ELK日志分析系统 一、ELK日志分析系统简介 1.1 ELK日志分析系统简介-1 ■ 日志服务器 提高安全性 集中存放日志 缺陷 ◆ 对日志的分析困难 AppServer:提供业务(前端的业务) Logstash:日志收集器,可以格式转换成ES可以识别的格式!!! Elastic Search (必须是集群Cluster

CSDN著名博主 8922
上一篇: 搭建本地OpenStack源
下一篇: Ceph集群搭建部署及常规操作
ML908
博客等级 码龄7年 125粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值