首页 > 其他分享 >重学ElasticSearch (ES) :ELK搭建SpringBoot日志实时分析系统

重学ElasticSearch (ES) :ELK搭建SpringBoot日志实时分析系统

时间:2023-01-08 10:34:22浏览次数:63  
标签:ELK pipeline 重学 SpringBoot Kibana logstash 日志 config Logstash

一、概述

在一个大型的分布式架构的项目里,不同的服务模块部署在不同的服务器上,如果想要定位问题,可能需要去不同的服务器上查看不同服务的日志。

那么,ELK可以很方便的把日志集成到一起,无须再去各个服务器上的日志中定位问题。

1.1、什么是ELK

ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称(但是后期出现的filebeat(beats中的一种)可以用来替代logstash的数据收集功能,比较轻量级)。市面上也被称为 Elastic Stack。

1.1.1、Elasticsearch

是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。

1.1.2、Logstash

Logstash是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。Logstash能够动态地采集、转换和传输数据,不受格式或复杂度的影响。

  • Logstash架构

Logstash由Input、Filter、Output三部分组成

Input: 数据采集,可以是kafka、http、文件等

Filter: 对数据进行过滤、处理

Output:数据存储,可以是ElasticSearch、MongoDB等


重学ElasticSearch (ES) :ELK搭建SpringBoot日志实时分析系统_Elastic

  • logstash.conf pipeline文件

跟其架构一致,分为Input、Filter、Output三个部分,用于处理数据

input {

}
filter {

}
output {

}

1.1.3、Kibana

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。

1.2、ELK与日志收集

日志---> Logstash 采集日志数据 ---> ES存储 ---> Kibana集中查看


重学ElasticSearch (ES) :ELK搭建SpringBoot日志实时分析系统_Elastic_02

ELK是Elastic公司的三个组件,他们三个配合实现日志收集.

  • ElasticSearch:用于存储日志信息;
  • Logstash:用于收集、处理和转发日志信息;
  • Kibana:提供可视化的Web界面.

二、ELK安装

2.1、安装ElasticSearch、Kibana

关于ElasticSearch、Kibana的安装请参看​​重学ElasticSearch (ES) 系列(一):核心概念及安装​

2.2、安装Logstash

这里我是用docker进行安装

  • 拉取镜像
docker pull logstash:7.16.2
  • 创建目录文件
mkdir -p /usr/local/logstash/config  /usr/local/logstash/pipeline/
cd /usr/local
chmod -R 777 logstash
  • 编写配置文件

在logstash/config目录下编写配置文件

  • logstash/config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://10.100.21.17:9200" ]
  • logstash/config/pipelines.yml
- pipeline.id: logstash_test
path.config: "/usr/share/logstash/pipeline/logstash_test.conf"

标签:ELK,pipeline,重学,SpringBoot,Kibana,logstash,日志,config,Logstash
From: https://blog.51cto.com/u_15733182/5996525

相关文章

  • SpringBoot笔记--文件配置加载顺序+整合其他框架
    内部文件配置加载顺序外部文件配置加载顺序jar包配置整合Junit若是业务管理类和测试类在同一个包下面,那么这句话,可以不加括号,只写注解名称否则,就必须指定到包......
  • 玩转SpringBoot之定时任务详解
        pom文件<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins......
  • SpringBoot基础学习二
    45、web实验-抽取公共页面官方文档-TemplateLayout公共页面/templates/common.html<!DOCTYPEhtml><htmllang="en"xmlns:th="http://www.thymeleaf.org"><!--注......
  • IDEA通过Services界面管理多个SpringBoot应用
    问题以前使用老版本IDEA时,如果一个Project下有多个基于SpringBoot的module,本地启动时需要一个个点击Debug或者Run来启动,无法一键启动和停止多个应用。解决新版本的IDEA......
  • 重学多项式
    重学多项式目录重学多项式更好的阅读体验戳此进入写在前面关于这篇Blog单位根定义复数意义下的的求法性质等比数列求和公式FFT本质目的离散傅里叶变换快速傅里叶变换优化C......
  • SpringBoot笔记--配置->profile的配置
    profile--动态配置切换profile配置方式:使用spring.profile.active=进行激活.properties文件直接使用一个.yml文件代替多文件配置使用---分隔符分割最后写入激活代码......
  • 使用Swagger和OpenAPI 3规范定义API接口并集成到SpringBoot
    1.OpenAPI3规范介绍及属性定义参考官方定义:https://swagger.io/specification/2.使用OpenAPI3规范定义API接口官方样例参考:https://editor.swagger.io/可以在此页......
  • 创建最基本的springboot项目并配置可以运行
        添加如下三个依赖  结构如下  运行后出现这种情况需要在项目结构中重新选择语言级别项目结构->模块->模块sdk改为1.8,源中的语言等级改为8 ......
  • SpringBoot笔记--配置文件分类+yaml相关知识+读取配置文件内容
    配置文件要是需要使用自己的配置替换默认配置时,需要使用后缀名为application.properties或者application.yml(application.yaml)进行配置当然,几个文件都在resources文件夹......
  • SpringBoot @Cacheable 缓存不生效的问题
    背景Springboot+CaffeineCache+使用@Cacheable注解请求查询一个方法,因为数据变化频率低,查询频率高,于是使用缓存,并使用注解。但发现用了@Cacheable这个注解,发现并......