springboot集成ELK日志分析平台(windows版)

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

springboot集成ELK日志分析平台(windows版)

1.elk是什么?

在安装ELK之前,建议大家先了解一下elk。

ELK 是elastic公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch、Logstash 和 Kibana。

ElasticSearch简称ES,它是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。
Logstash是一个具有实时传输能力的数据收集引擎,用来进行数据收集(如:读取文本文件)、解析,并将数据发送给ES。
Kibana为 Elasticsearch 提供了分析和可视化的 Web 平台。它可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度表格、图形。

2.搭建elk平台的环境配置

2.1开发环境:

win11,idea,jdk1.8

2.2ELK版本:

elasticsearch-7.11.1-windows-x86_64,logstash-7.6.1,kibana-7.11.1-windows-x86_64

值得一提的是elasticsearch的版本一定要和kibana的版本对应(很重要)不然会出现因为版本不兼容而引发的各种错误。开发人员一般使用jdk8,这就要求elasticsearch的版本在7.13以下。

我这里的elasticsearch和kibana版本都选择了7.11.1。

3.下载和安装

3.1下载:

我这里给出了下载路径,直接下载对应的版本即可

elasticsearch:https://www.elastic.co/cn/downloads/past-releases/

logstash:https://www.elastic.co/cn/downloads/past-releases/#logstash

kibana:https://www.elastic.co/cn/downloads/past-releases/#kibana

3.2安装:

elasticsearch:直接解压即可

logstash:解压压缩包,进入bin目录新建logstash.conf文件,文件内容如下

input {
  tcp {
    #模式选择为server
    mode => "server"
    #ip和端口根据自己情况填写,端口默认4560,对应下文logback.xml里appender中的destination
    host => "127.0.0.1"
    port => 4560
    #格式json
    codec => json_lines
  }
}
filter {
  #过滤器,根据需要填写
}
output {
  elasticsearch {
    action => "index"
    #这里是es的地址,多个es要写成数组的形式
    hosts  => "127.0.0.1:9200"
    #用于kibana过滤,可以填项目名称
    index  => "logstash_test"
  }
}

kibana:解压文件即可

4.启动ELK

4.1ELK工作流程:

在启动ELK之前我们要先了解一下ELK的工作流程,这样才能更好的理解ELK的启动顺序。

ELK工作流程:一般都是需要在收集日志的服务上部署logstash,作为logstash shipper用于监控,过滤日志,将过滤后的日志发送给broker,然后logstash indexer将存放在broker中的数据再写入elasticsearch,elasticsearch对这些数据创建索引,然后kibana对其进行各种分析并以图表的形式展示。

springboot集成ELK日志分析平台(windows版)

有些时候,如果日志的收集量比较大,为了保证日志收集的性能和数据的完整性,logstash shipper和logstash indexer之间的缓冲器(broker)也经常用kafka来实现。

4.2ELK启动

通过ELK的工作流程我们不难得知,ELK的启动顺序为logstash>=elasticsearch>kibana,如果先启动logstash,logstash会轮询请求配置文件的elasticsearch,会报警告,所以我们更改启动顺序为elasticsearch>logstah>kibana。

4.2.1启动elasticsearch:

双击bin文件夹中的elasticsearch.bat即可

启动成功如下图所示springboot集成ELK日志分析平台(windows版)

浏览器输入URL:http://localhost:9200/ 会输出json字符串

{
  "name" : "DESKTOP-4N5REV4",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "ashqHfBHTbCyWrS-xa05Tg",
  "version" : {
    "number" : "7.11.1",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "ff17057114c2199c9c1bbecc727003a907c0db7a",
    "build_date" : "2021-02-15T13:44:09.394032Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
4.2.2启动logstash:

切换到logstash中的bin目录下,终端输入

 logstash -f logstash.conf

通过conf启动完成,启动成功如下如图所示springboot集成ELK日志分析平台(windows版)

浏览器输入URL:http://localhost:9600/ 会输出json字符串:

{"host":"DESKTOP-4N5REV4","version":"7.6.1","http_address":"127.0.0.1:9600","id":"85acfd96-129b-4a71-8e26-e5837e4ae228","name":"DESKTOP-4N5REV4","ephemeral_id":"19dcb65c-f4da-4dcf-8b53-13422cd1bc78","status":"green","snapshot":false,"pipeline":{"workers":8,"batch_size":125,"batch_delay":50},"build_date":"2020-02-29T01:53:17+00:00","build_sha":"0a75e90f49c005bffea8525d1b06728d17dbdf58","build_snapshot":false}
4.2.3启动kibana:

进入到kibana的bin目录,终端输入kibana.bat,启动成功如下图所示springboot集成ELK日志分析平台(windows版)

浏览器输入URL:http://localhost:5601/ 截图springboot集成ELK日志分析平台(windows版)

5.springboot集成ELK

5.1引入pom依赖
 <!-- 集成logback -->
    <dependency>
        <groupId>net.logstash.logback</groupId>
        <artifactId>logstash-logback-encoder</artifactId>
        <version>5.3</version>
    </dependency>
</dependencies>
5.2修改配置文件

如果配置文件是application.properties形式,则在配置文件下写入

logging.config=classpath:logback.xml

如果配置文件是application.yml形式,则在配置文件加写入

logging:
  config: classpath:logback.xml
5.3编写logback.xml

我这里给出以下xml文件,直接复制到你的项目下即可,如果有修改需求,直接在logback.xml文件下修改即可。

<?xml version="1.0" encoding="UTF-8"?>
<!--该日志将日志级别不同的log信息保存到不同的文件中 -->
<configuration>
    <appender name="LOGSTASH"
              class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <!--        端口是在logstach.conf中配置的-->
        <destination>localhost:4560</destination>
        <!-- encoder必须配置,有多种可选 -->
        <encoder charset="UTF-8"
                 class="net.logstash.logback.encoder.LogstashEncoder">
            <!-- "appname":"spring-boot-lee" 的作用是指定创建索引的名字时用,并且在生成的文档中会多了这个字段,切记小写  -->
            <customFields>{"appname":"spring-boot-lee"}</customFields>
        </encoder>
    </appender>

    <!-- ch.qos.logback.core.ConsoleAppender 表示控制台输出 -->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <!--
        日志输出格式:
         %d表示日期时间,
         %thread表示线程名,
         %-5level:级别从左显示5个字符宽度
         %logger{50} 表示logger名字最长50个字符,否则按照句点分割。
         %msg:日志消息,
         %n是换行符
        -->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ----> [%thread] ---> %-5level %logger{50} - %msg%n</pattern>
        </layout>
    </appender>

    <!--
      logger主要用于存放日志对象,也可以定义日志类型、级别
      name:表示匹配的logger类型前缀,也就是包的前半部分
      level:要记录的日志级别,包括 TRACE < DEBUG < INFO < WARN < ERROR
      additivity:作用在于children-logger是否使用 rootLogger配置的appender进行输出,
      false:表示只用当前logger的appender-ref,true:
      表示当前logger的appender-ref和rootLogger的appender-ref都有效
    -->
    <!-- hibernate logger -->
    <logger name="com.example" level="debug"/>
    <!-- Spring framework logger -->
    <logger name="org.springframework" level="debug" additivity="false"></logger>

    <root level="INFO">
        <appender-ref ref="stdout"/>
        <appender-ref ref="LOGSTASH"/>
    </root>
</configuration>
6.kibana图形化界面使用使用

全部配置完成后浏览器访问http://localhost:5601/进入到kibana图形化界面

点击左侧discoverspringboot集成ELK日志分析平台(windows版)

点击创建索引springboot集成ELK日志分析平台(windows版)

接下来就可以看到你配置的索引了

springboot集成ELK日志分析平台(windows版)

输入索引名称springboot集成ELK日志分析平台(windows版)

第二步选择@timestampspringboot集成ELK日志分析平台(windows版)

点击创建就能创建成功了,截图如下springboot集成ELK日志分析平台(windows版)

随后再次点击discover页面就可以看到自己的日志内容了。springboot集成ELK日志分析平台(windows版)

7.拓展

kibana中文模式设置

修改kibana安装文件下的config的kibana.yml文件,在文件最后一行加入文章来源地址https://www.toymoban.com/news/detail-514492.html

i18n.locale: "zh-CN"

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

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

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

相关文章

  • ELK企业级日志分析平台(一)

    主机部署应用: 主机 ip 角色 k8s1 192.168.56.171 cerebro server1 192.168.56.11 elasticsearch server2 192.168.56.12 elasticsearch server3 192.168.56.13 elasticsearch server4 192.168.56.14 logstash server5 192.168.56.15 kibana elasticsearch简介: Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库Apac

    2024年02月07日
    浏览(76)
  • 基于Filebeat、Kafka搭建ELK日志分析平台详细步骤

    写在前头:公司一直没有搭建一个支持实时查询日志的平台,平常看日志都得去服务器下载,大大降低开发效率,前段时间有大佬同事搭建了一款日志平台,支持sit,uat等各个环境的日志实时查询,大大提高bug定位速度。因对其感兴趣特向大佬请教,学习记录下搭建流程。 选

    2024年02月06日
    浏览(39)
  • 使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)

    ELK 是指 Elasticsearch、Logstash 和 Kibana 这三个开源软件的组合。 Elasticsearch 是一个分布式的搜索和分析引擎,用于日志的存储,搜索,分析,查询。 Logstash 是一个数据收集、转换和传输工具,用于收集过滤和转换数据,然后将其发送到 Elasticsearch 或其他目标存储中。 Kibana 是一个数

    2024年01月20日
    浏览(40)
  • ELK日志收集平台部署(kafka)

    正文:ELK日志收集平台部署 Kafka: 数据缓冲队列。作为消息队列解耦合处理过程,同时提高了可扩展性。具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。 基于zookeeper协调的分布式消息系统,它的最大的特

    2024年01月25日
    浏览(29)
  • ELK 日志框架搭建 (springboot 接入 elk)

    ELK 是一个开源的实时日志分析平台,它主要由 Elasticsearch、Logstash 和 Kiabana 三部分组成。 Logstash 主要用于收集日志,它是一个开源数据收集引擎,具有实时管道功能。Logstash 可以动态地将来自不同数据源的数据统一起来,并将数据标准化到您所选择的目的地。 Logstash 收集数

    2023年04月25日
    浏览(27)
  • 【ELK 使用指南 1】ELK + Filebeat 分布式日志管理平台部署

    在运维中, 日志是非常重要的工具 ,用于记录系统、应用程序或设备的运行状态、事件和异常情况。 1)故障排除和问题诊断 日志是排查故障和诊断问题的关键信息源。 通过分析日志文件,可以查找和定位系统故障、错误和异常,帮助运维人员迅速找出问题的根本原因,并

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

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

    2024年01月21日
    浏览(60)
  • ELK日志平台(elasticsearch+logstash+kibana)搭建

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 为了实现分布式日志数据统一收集,实现集中式查询和管理 故障排查 安全信息和事件管理 ELK 是三个开源项目的首字母缩写,这三个项目分别是: Elasticsearch 、 Logstash 和 Kibana 。 • Elasticsearch 是一个搜索

    2024年02月03日
    浏览(33)
  • elk(elasticsearch+logstash+kibana)搭建日志监控平台

    目录 elk架构原理 安装部署elasticsearch 什么是elasticsearch 创建elasticserch docker容器  安装部署kibana 什么是Kinana 创建Kibana docker容器         拉取镜像         创建配置文件:D:Programsdockerkibanakibana.yml          创建并运行kibana容器         验证登录kibana 安装部署logstash 什么

    2024年02月04日
    浏览(55)
  • SpringBoot集成ELK

    对于一个系统,app,等等,线上排查信息是一件非常头疼的事,尤其在服务端极为凸显,研发人员面对线上问题,首先定位日志,这个只能去服务器下检索日志,输入各种命令行,但是为了服务器的安全,一般不允许研发人员接触服务器,会有运维人员去操作日志,极大的影

    2023年04月09日
    浏览(20)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包