当前位置: 首页 > 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

在这里插入图片描述

相关文章:

  • 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功能
  • 硅料巨亏后弘元绿能割肉求生:逾12亿元内蒙古公司股权转让协鑫
  • 外交部答澎湃:美方攻击抹黑中加关系与合作的卑劣图谋不会得逞
  • 上海如何为街镇营商环境赋能?送政策、配资源、解难题、强活力
  • 印方称若巴方决定升级局势,印方已做好反击准备
  • 金正恩视察重要军工企业要求推进武力强化变革
  • 央行宣布优化两项支持资本市场的货币政策工具