欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

Docker搭建ELK日志系统,并通过Kibana查看日志方式

时间:2025-12-05 14:30:03|栏目:其它服务器|点击:

docker-compose.yml

version: '3'
services:
  elasticsearch:
    image: elasticsearch:7.7.0  #镜像
    container_name: elasticsearch  #定义容器名称
    restart: always  #开机启动,失败也会一直重启
    environment:
      - "cluster.name=elasticsearch" #设置集群名称为elasticsearch
      - "discovery.type=single-node" #以单一节点模式启动
      - "ES_JAVA_OPTS=-Xms512m -Xmx1024m" #设置使用jvm内存大小
    volumes:
      - D:\docker\elasticsearch\plugins:/usr/share/elasticsearch/plugins # 插件文件挂载[挂在目录自行更改]
      - D:\docker\elasticsearch\data:/usr/share/elasticsearch/data # 数据文件挂载[挂在目录自行更改]
    ports:
      - 9200:9200
  kibana:
    image: kibana:7.7.0
    container_name: kibana
    restart: always
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    environment:
      - ELASTICSEARCH_URL=http://elasticsearch:9200 #设置访问elasticsearch的地址
    ports:
      - 5601:5601
  logstash:
    image: logstash:7.7.0
    container_name: logstash
    restart: always
    volumes:
      - D:\docker\logstash\logstash-springboot.conf:/usr/share/logstash/pipeline/logstash.conf #挂载logstash的配置文件[挂在文件自行更改]
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    links:
      - elasticsearch:es #可以用es这个域名访问elasticsearch服务
    ports:
      - 4560:4560

D:\docker\logstash\logstash-springboot.conf

文件内容:

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}"
  }
}

访问:http://localhost:9200

Docker搭建ELK日志系统,并通过Kibana查看日志方式

访问:http://localhost:5601

Docker搭建ELK日志系统,并通过Kibana查看日志方式

配置中文:

# 进入容器
docker exec -it kibana /bin/bash

# 配置 中文[在文件末尾加上]
vi ./config/kibana.yml
i18n.locale: zh-CN

# 重启
docker restart kibana

Spring boot 集成 logstash

pom.xml


	5.6.6
    1.18.20
    2.2.10.RELEASE
    5.1



    org.projectlombok
    lombok
    ${lombok.version}


    cn.hutool
    hutool-all
    ${hutool.version}


    org.springframework.boot
    spring-boot-starter-web
    ${spring-boot.web.version}


    net.logstash.logback
    logstash-logback-encoder
    ${logstash.version}

application.yml

server:
  port: 8081


spring:
  application:
    name: ELK-server-base

logging:
  level:
    org:
      springframework:
        boot:
          autoconfigure: info

logstash.xml



    
    
    
    
    
        
            ${CONSOLE_LOG_PATTERN}
            utf8
        
        
        
            debug
        
    
    
        logs/Logback.log
        
            ${CONSOLE_LOG_PATTERN}
            utf8
        
        
        
            debug
        
        
            logs/%d{yyyy-MM-dd}/Logback.%d{yyyy-MM-dd}.log
            
            30
        
    
    
        127.0.0.1:4560
        
    
    
    
    
        
        

    

ElkApplication.java

@Slf4j
@SpringBootApplication
@EnableScheduling
public class ElkBaseApplication {


    @Autowired
    private Environment environment;

    public static void main(String[] args) {
        SpringApplication.run(ElkBaseApplication.class, args);
    }

    @Scheduled(cron = "0/5 * * * * ?")
    public void schedulingMessage() {
        log.info("服务:{},时间:{} 打印的日志,端口:{}", environment.getProperty("spring.application.name",String.class), DateUtil.formatDateTime(DateUtil.date()), environment.getProperty("server.port",Integer.class));
    }

}

启动项目并在kibana中查看日志

Docker搭建ELK日志系统,并通过Kibana查看日志方式

创建索引模式

Docker搭建ELK日志系统,并通过Kibana查看日志方式

Docker搭建ELK日志系统,并通过Kibana查看日志方式

Docker搭建ELK日志系统,并通过Kibana查看日志方式

创建好索引模式点击 “Discover”

Docker搭建ELK日志系统,并通过Kibana查看日志方式

选择创建好的索引模式 “springboot-logstash-*”

Docker搭建ELK日志系统,并通过Kibana查看日志方式

因为字段比较多,这里只选着了 “message”

Docker搭建ELK日志系统,并通过Kibana查看日志方式

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

上一篇:jenkins如何进行自动化部署

栏    目:其它服务器

下一篇:docker-compose部署mysql数据库完整步骤

本文标题:Docker搭建ELK日志系统,并通过Kibana查看日志方式

本文地址:https://zz.feitang.co/server/28645.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号