SpringCloud项目日志接入ELK实战
创始人
2024-05-14 13:32:10
0

文章目录

    • 写作背景
    • ELK实战
      • 前置环境准备
      • 项目里集成Logstash
      • 进入Kibana查看日志

写作背景

前面我对SpringCloud Netflix相关的组件,Eureka、Ribbon、OpenFeign、Hystrix和Zuul都进行了复习,后面随着代码越写越多就想着,要不就慢慢完善这个项目代码,把工作里用到的东西慢慢在这个Demo级别的项目里用起来,也算是对自己掌握的知识的积累和一次练手的机会。
本次就是在原来的基础上增加了日志模块,我当前所在公司看日志一般都是在SpringBoot Admin里,然后也有集成过ELK,在kibana里看日志。本文的写作思路是直接在原来项目里集成ELK实战演练。

ELK实战

前置环境准备

1、本地安装elasticsearch 6.6版本并启动
安装elasticsearch比较简单,网上博客一大堆,包括后面的kibana和logstash我这里就不介绍了。我本地启动elasticsearch成功后访问如下地址

http://localhost:9200/

在这里插入图片描述
代表我本地elasticsearcha安装成功了。

2、本地安装kibana并启动
主要是config目录下的kibana.yml里几个配置有简单改动

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
#汉化
i18n.locale: "zh_CN"

3、本地安装logstash并启动
主要是config目录下我新建了一个my-logstash.yml配置文件,待会启动logstash指定我的这个配置,主要就是采集项目的日志路径里的日志文件信息,然后输出到es里去,然后日志索引名是logstash开头,每天一个索引

input {file {type => "log"#这个地址是项目lockback里指定的日志路径path => ["/app/logs/*/*.log"]start_position => "end"ignore_older => 0codec=> multiline {pattern => "^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}"negate => trueauto_flush_interval => 5what => "previous"}}beats {port => 5044}
}
output {if [type] == "log" {elasticsearch {hosts => ["http://127.0.0.1:9200"]index => "logstash-%{+YYYY.MM}"}}
}

项目里集成Logstash

1、pom.xml里引入logstash坐标依赖

net.logstash.logbacklogstash-logback-encoder5.3

2、logback日志文件里增加输出logstash的appender

localhost:4560

在这里插入图片描述
fc-gateway-zuul、fc-service-portal、还有fc-service-screen里都集成了elk,然后启动服务
在这里插入图片描述

进入Kibana查看日志

调几次接口产生一点日志,然后去kibana里http://localhost:5601查看日志

http://localhost:8000/portal/getPortByFeign

还是这个测试的接口

@GetMapping("/getPortByFeign")public int getPortByFeign() throws InterruptedException {HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();log.info("请求头的token参数值:{}", request.getHeader("token"));//睡1s测试hystrix默认超时时间Thread.sleep(1000);return screenFeignClient.getPort();}

第一次打开kibana会让你创建索引范例
在这里插入图片描述
其实下面你的索引logstash-2023.01索引已经看到了,你就随便定义一个然后选它,然后点下面这个discover就可以看到日志了
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...