java整合elk日志

Surperw985 Surperw985     2023-03-11     174

关键词:

1、搭建elk

使用docker-compose 搭建

一、编写docker-compose.yml

version: "3"
services:
  elasticsearch:
    image: elasticsearch:7.5.1
    container_name: elasticsearch
    environment:
      - "cluster.name=elasticsearch" #设置集群名称为elasticsearch
      - "discovery.type=single-node" #以单一节点模式启动
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小
    volumes:
      - /opt/xx/docker/elk/elasticsearch/plugins:/opt/jiyifan/docker/elk/elasticsearch/plugins #插件文件挂载
      - /opt/xx/docker/elk/elasticsearch/data:/opt/jiyifan/docker/elk/elasticsearch/data #数据文件挂载
    ports:
      - 9200:9200
  kibana:
    image: kibana:7.5.1
    container_name: kibana
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    environment:
      - ELASTICSEARCH_URL=http://elasticsearch:9200 #设置访问elasticsearch的地址
    ports:
      - 5601:5601
  logstash:
    image: logstash:7.5.1
    container_name: logstash
    volumes:
      - /opt/xx/docker/elk/logstash/logstash-springboot.conf:/usr/share/logstash/pipeline/logstash.conf #挂载logstash的配置文件
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    links:
      - elasticsearch:es #可以用es这个域名访问elasticsearch服务
    ports:
      - 4560:4560

二、logstash-springboot.conf 文件

*.conf 文件名称跟上方docker-compose.yml文件中的 logstash volumes 路劲一致

执行命令:

mkdir -p /opt/xx/docker/elk/logstash/

cd /opt/xx/docker/elk/logstash/

vim logstash-springboot.conf

将下方cv进去

input 
  tcp 
    mode => "server"
    host => "0.0.0.0"
    port => 4560
    codec => json_lines
  

output 
  elasticsearch 
    hosts => "es:9200"
    index => "springboot-logstash-%+YYYY.MM.dd"
  

三、启动命令

mkdir -p /opt/jiyifan/docker/elk/elasticsearch

cd /opt/jiyifan/docker/elk

vim docker-compose.yml

将上面yml文件cv进去

docker-compose up -d

四、检查是否成功

docker ps 查看三个镜像是否都已经创建

127.0.0.1:9200 es 地址

127.0.0.1:5601 kibana 地址

二、java 整合elk(springboot 项目)

resources 目录下面创建 logback.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />

<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <!-- 这里需要修改logstash地址 -->
    <destination>127.0.0.1:4560</destination>
    <!-- 日志输出编码 -->
    <encoder charset="UTF-8"
             class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
        <providers>
            <timestamp>
                <timeZone>UTC</timeZone>
            </timestamp>
            <pattern>
                <pattern>
                    
                    "logLevel": "%level",
                    "serviceName": "服务名称要替换方便搜索",
                    "pid": "$PID:-",
                    "thread": "%thread",
                    "class": "%logger40",
                    "rest": "%message"
                    
                </pattern>
            </pattern>
        </providers>
    </encoder>
</appender>
<root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
        <appender-ref ref="LOGSTASH"/>
</root>
</configuration>

增加依赖

    <dependency>
                <groupId>net.logstash.logback</groupId>
                <artifactId>logstash-logback-encoder</artifactId>
                <version>5.2</version>
     </dependency>

测试代码

@RestController
@RequestMapping("/elk")
@Slf4j
public class TestController 
    @GetMapping
    public AjaxResult connectionElk()

        log.info("连接es 成功");
        throw  new RuntimeException("测试es报错");
//    return AjaxResult.success();
    



三、kabana 创建logstash索引

这里有个坑必须这个索引里面有值才能在这里展示出来 一定要执行一下上面的方法

四、成果展示

此处可以搜索

springboot整合elk

...ut方式。logstash默认会将etc/logstash/conf.d/中的配置文件进行整合然后启动。修改02-beats-input.conf文件,修改如下:保存后,我们使用control+P+Q退出容器。然后重启容器,让我们的配置生效。我们访问http://127.0.0.1:5601三、创建工程创建... 查看详情

springboot整合elk处理为服务日志,妙!

你知道的越多,不知道的就越多,业余的像一棵小草!成功路上并不拥挤,因为坚持的人不多。编辑:业余草developer.ibm.com推荐:https://www.xttblog.com/?p=5240在排查线上异常的过程中,查询日志总是必不... 查看详情

springboot教程第22篇:整合elk,搭建实时日志平台

参考技术A这篇文章主要介绍springboot整合elk.elk简介elk下载安装elk下载地址:https://www.elastic.co/downloads/建议在linux上运行,elk在windows上支持得不好,另外需要jdk1.8的支持,需要提前安装好jdk.下载完之后:安装,以logstash为栗子:配... 查看详情

springboot整合logback集成elk实现日志的汇总分析统计和检索功能(代码片段)

  在SpringBoot当中,默认使用logback进行log操作。logback支持将日志数据通过提供IP地址、端口号,以Socket的方式远程发送。在SpringBoot中,通常使用logback-spring.xml来进行logback配置。首先、创建一个elk的springboot项目,然后先对logback... 查看详情

基于elk5.1(elasticsearch,logstash,kibana)的一次整合测试

...行日志的统计和检索,下面基于ELK的最新版本5.1进行一次整合测试。ElasticSearch1.概述:ElasticSearch是一个高可扩展的开源的全文搜索分析引擎。它允许你快速的存储、搜索和分析大量数据。ElasticSearch通常作 查看详情

十九.springcloud极简入门-基于docker整合elk分布式日志解决方案

前言在微服务架构中服务众多,每个微服务都会产生大量的日志数据,服务的调用错综复杂,如何才能快速定位到BUG?所以日志收集是微服务项目不可或缺的。为了方便日志分析,我们需要对微服务的日志数... 查看详情

elk整合安装

ELKStack简介       对于日志来说,最常见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:logstash(收集)、elasticsearch(存储+搜索)、kibana(展示),我们将这三个组合起来的技... 查看详情

十九.springcloud极简入门-基于docker整合elk分布式日志解决方案(代码片段)

前言在微服务架构中服务众多,每个微服务都会产生大量的日志数据,服务的调用错综复杂,如何才能快速定位到BUG?所以日志收集是微服务项目不可或缺的。为了方便日志分析,我们需要对微服务的日志数... 查看详情

elk日志管理平台部署简介

ELK是对Elasticsearch、Logstash、Kibana整合平台的简称。在日常的运维工作中,要实时监控服务器的业务、系统和硬件状态,除了使用监控之外,还需要搜集大量的日志来进行分析。但是在面对海量的服务器和集群时,通过单台登录查... 查看详情

elasticsearch:elk架构(代码片段)

...分析——》检索和可视化——》风险告警ELK架构经典的ELK整合消息队列+Nginx架构什么是LogstashLogstash核心概念Logstash数据传输原理Logstash配置文件结构LogstashQueueLogstash导入数据到ES同步数据库数据到Elasticsearch什么是BeatsFileBeat简... 查看详情

elk日志搭建

 安装java安装java1.8以上的版本并验证[root@localhost~]#yuminstalljava[root@localhost~]#java-versionopenjdkversion"1.8.0_222"OpenJDKRuntimeEnvironment(build1.8.0_222-b10)OpenJDK64-BitServerVM(build25.222-b10,m 查看详情

java中多环境logback配置与elk日志发送

Java中多环境Logback配置与ELK日志发送 一、项目基于SpringBoot实现,引入SpringBoot相关库后,本文还要讲上传到ELK的Logstash,所以需要在pom.xml中加入:<!--https://mvnrepository.com/artifact/net.logstash.logback/logstash-logback-encoder-->< 查看详情

无需解析日志即可从 Java 应用程序记录到 ELK

】无需解析日志即可从Java应用程序记录到ELK【英文标题】:LoggingfromJavaapptoELKwithoutneedforparsinglogs【发布时间】:2015-11-2423:12:35【问题描述】:我想将日志从Java应用程序发送到ElasticSearch,传统的方法似乎是在运行应用程序的服务... 查看详情

elk日志分析系统的搭建

一、环境准备1.安装java环境:yum install java-1.8.0-openjdk* -y2.添加elk执行用户:groupadd -g 77 elkuseradd -u 77 -g elk -d /home/elk -s /bin/bash&nb 查看详情

elk实现java分布式系统日志分析架构

日志是分析线上问题的重要手段,通常我们会把日志输出到控制台或者本地文件中,排查问题时通过根据关键字搜索本地日志,但越来越多的公司,项目开发中采用分布式的架构,日志会记录到多个服务器或者文件中,分析问题... 查看详情

elk日志分析系统(理论+部署)(代码片段)

...高级数据分析及展示Kibana主要功能Elasticsearch无缝之集成整合数据,复杂数据分析让更多团队成员受益接口灵活,分享更容易配置简单,可视化多数据源简单数据导出部署ELK日志分析系统实验环境node1节点服 查看详情

开源实时日志分析elk平台部署

ELK架构图:1.JDK环境-------------------1.1下载最新JDK,解压到/usr/local/java目录。1.2设置环境变量打开/etc/profile,添加下面内容exportJAVA_HOME=/usr/local/javaexportJRE_HOME=$JAVA_HOME/jreexportPATH=$PATH:$JAVA_HOME/binexportCLASSPAT 查看详情

elk不香了?试试接入这款更轻量的日志框架,真的很省心!

...日志收集服务ELK呢?这就变成了一个问题!而Graylog作为整合方案,使用elasticsearch来存储,使用mongodb来缓存,并且还有带流量控制的(throttling),同时其界面查询简单易用且易于扩展。所以,使用Graylo 查看详情