当前位置: 首页 > news >正文

003 SpringCloud整合-LogStash安装及ELK日志收集

SpringCloud整合-LogStash安装及ELK日志收集

文章目录

  • SpringCloud整合-LogStash安装及ELK日志收集
      • 1.安装ElasticSearch和kibana
      • 2.Docker安装logstash
        • 1.拉取docker镜像
        • 2.创建外部挂载目录
        • 3.拷贝容器内部文件到宿主机
        • 4.修改外部挂载文件
        • 5.运行docker容器
      • 3.整合kibana
        • 1.进入kibana
        • 2.点击Create index pattern创建es索引的匹配模式
        • 3.进入discover查看创建的Index pattern
      • 4.SpringCloud整合ELK日志采集
        • 1.引入logstash依赖
        • 2.配置logback日志文件
        • 3.启动测试,查看kibana

1.安装ElasticSearch和kibana

ElasticSearch7.x 、IK分词器、Kibana 环境搭建、安装

2.Docker安装logstash

1.拉取docker镜像
docker pull logstash:6.6.0
2.创建外部挂载目录
mkdir  /dockerData/logstash/config
3.拷贝容器内部文件到宿主机

也可直接创建第四步文件

#拷贝容器内部文件到宿主机
docker container cp logstash:/usr/share/logstash/pipeline/logstash.conf  /dockerData/logstash/config
docker container cp logstash:/usr/share/logstash/config/logstash.yml   /dockerData/logstash/config
4.修改外部挂载文件

logstash.yml

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.url: http://127.0.0.1:9200
#es认证配置,没有就不用配
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: logstash_system

logstash.conf

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4560
    #日志文件json输出
    codec => json_lines
 }
}
output {
  elasticsearch {
	action => "index"
    # ES地址
    hosts  => ["127.1.0.1:9200"]
    #es认证配置,没有就不用配
    user => "logstash_system"
    password => "logstash_system"
    # 输出到的es索引
    index  => "index-logstash"
  }	
  stdout {
    codec => rubydebug
  }
}

5.运行docker容器
docker run  -p 9600:9600 -p 4560:4560 \
--name logstash \
-v /dockerData/logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-v /dockerData/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml \
-d --restart=always logstash:6.6.0 

3.整合kibana

1.进入kibana

在这里插入图片描述

2.点击Create index pattern创建es索引的匹配模式

在这里插入图片描述

3.进入discover查看创建的Index pattern

在这里插入图片描述
在这里插入图片描述

4.SpringCloud整合ELK日志采集

1.引入logstash依赖
        <!--集成logstash-->
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>6.6</version>
        </dependency>
2.配置logback日志文件

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <contextName>logback</contextName>

    <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>127.0.0.1:4560</destination>
        <!-- encoder必须配置,有多种可选 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
        <!-- 日志输出编码 -->
        <!--<encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
                <timestamp>
                    <timeZone>UTC</timeZone>
                </timestamp>
                <pattern>
                    <pattern>
                        {
                        "logLevel": "%level",
                        "serviceName": "${springAppName:-}",
                        "pid": "${PID:-}",
                        "thread": "%thread",
                        "class": "%logger{40}",
                        "rest": "%message"
                        }
                    </pattern>
                </pattern>
            </providers>
        </encoder>-->
    </appender>

    <root level="info">
        <appender-ref ref="stash" />
    </root>
</configuration>

yml引用

#日志收集
logging:
  config: classpath:logback-spring.xml
3.启动测试,查看kibana

在这里插入图片描述

http://www.dtcms.com/a/76502.html

相关文章:

  • Spring Boot集成JWT:打造安全的RESTful API
  • Linux上离线安装PyTorch教程:No module named ‘_bz2:No module named ‘_lzma‘
  • 单元测试mock
  • 蓝桥杯备考:特殊01背包问题——》集合subset
  • 两款软件助力图片视频去水印及图像编辑
  • PHP转GO Go语言环境搭建(Day1) 常见问题及解决方案指南
  • Node.js系列(3)--集群部署指南
  • K8S-etcd服务无法启动问题排查
  • Android audio(8)-native音频服务的启动与协作(audiopolicyservice和audioflinger)
  • 网络华为HCIA+HCIP VLAN间通信
  • ubuntu下TFTP服务器搭建
  • [GHCTF 2025]Goph3rrr [127.0.0.1绕过][env命令查找flag]
  • 如何让焦虑为城市供能 | 杂谈
  • windows上LISTENER监听器中显示“监听程序不支持服务”
  • hackmyvm-Smol
  • C++ 语法之函数和函数指针
  • 百度OCR调用记录
  • 荣耀手机怎么录制屏幕?屏幕录制后为视频加水印更有“安全感”
  • 复习JVM
  • STM32之快乐的Event Recorder功能
  • Docker 部署RabbitMQ
  • MySQL日期转字符串,字符串转日期的函数
  • GraphDPI:通过互信息最大化进行图表示学习来消除部分标签歧义
  • SpringBoot之如何集成SpringDoc最详细文档
  • java之IP 工具类
  • MySQL事务介绍
  • Windows主机、虚拟机Ubuntu、开发板,三者之间文件互传
  • 通过NodeRED三步完成数据上报|AIoTedge最佳实践
  • MyBatis XMLMapperBuilder 是如何将 SQL 语句解析成可执行的对象? 如何将结果映射规则解析成对应的处理器?
  • vue3中用v-for循环出三个元素,绑定元素的ref并拿到这三个元素的ref属性