Docker系列之搭建ELK日志分析平台

1. 概述

日志分析平台ELK是由Elasticsearch、Logstash和Kibana三个服务组成,Elasticsearch负责日志存储并提供搜索功能,Logstash负责日志收集,Kibana提供Web查询操作界面。本文将使用Docker进行安装以上三个组件。
前提条件
自己先搭建好Docker环境,Windows环境可以安装Docker Desktop,Linux环境Docker搭建可以参考Docker系列之CentOS8安装Docker

2. 搭建ELK

使用docker compose进行安装ELK组件,在github上搜索docker-elk,选择第一个项目
搜索docker-elk
选择最新版本下载源码压缩包
下载docker-elk
下载后,解压,看到如下文件信息
解压docker-elk
elasticsearch文件夹是elasticsearch配置文件
kibana文件夹是kibana配置文件
logstash文件夹是logstash配置文件
setup文件用于初始化.env中配置的elasticsearch用户名信息
.env文件为elasticsearch用户名信息
在docker-compose.yml文件目录下执行以下命令

docker-compose build
docker-compose up

执行结果如下图
build镜像
up镜像
在浏览器输入地址:http://localhost:5601,输入用户名和密码elastic/changeme
登录

3. SpringBoot整合ELK

3.1. 引入核心依赖

<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>${logstash.version}</version>
</dependency>

3.2. 编写logback.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <property name="LOG_HOME" value="/logs"/>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder charset="UTF-8">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>localhost:5000</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
    </appender>

    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="LOGSTASH"/>
    </root>
</configuration>

3.3. 编写application.yml配置文件

server:
  port: 8138
spring:
  application:
    name: springboot-elk
logging:
  config: classpath:logback.xml

3.4. 编写服务主启动类

@SpringBootApplication
public class ElkApplication {

    private final static Logger logger = LoggerFactory.getLogger(ElkApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(ElkApplication.class, args);
        logger.info("服务启动成功,当前时间为:{}", LocalDateTime.now());
    }
}

3.5. 验证

启动服务,查看控制台日志
查看控制台日志

4. 配置ELK

登录后,进入ELK首页
首页
点击左上角,打开左侧菜单栏,选择Stack Management
Stack
选择Kibana—>Data Views—>create data view
新建data view
创建data view
create data view
再次点击左侧菜单栏,选择Discover
Discover
右上侧选择时间,点击Refresh按钮,即可查看到选择时间的日志信息
查看日志

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值