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

基于SpringBoot 实现指标监控及日志管理

添加Actuator功能

Spring Boot Actuator可以帮助程序员监控和管理SpringBoot应用,比如健康检查、内存使用情况统计、线程使用情况统计等。我们在SpringBoot项目中添加Actuator功能,即可使用Actuator监控

项目,用法如下:

在被监控的项目中添加Actuator起步依赖

org.springframework.boot spring-boot-starter-actuator

在配置文件中开启所有监控端点
#开启所有监控端点
management.endpoints.web.exposure.include=*

测试:
访问项目:http://localhost:8080/actuator

图片

可以看到有很多json格式的字符串,这些都是该路径下的相关资源信息,并且通过URL可以调用actuator的功能:
图片

例如查询日志信息数据,访问localhost:8080/actuator/loggers

图片

SpringBoot指标监控 Spring Boot Admin

Actuator使用JSON格式展示了大量指标数据,不利于我们查看,我们可以使用可视化工具Spring Boot Admin查看actuator生成指标数据。Spring Boot Admin是一个独立的项目,我们需要创建并运
行该项目。

  1. 创建Spring Boot Admin服务端项目

创建SpringBoot项目,添加SpringMVC和Spring Boot Admin服务端起步依赖


org.springframework.boot
spring-boot-starter-web


de.codecentric
spring-boot-admin-starter-server


org.springframework.boot
spring-boot-starter-test
test

修改配置文件

因为这里是服务端项目,要监控其他项目,因此要单独设置一个端口,就为9090吧,然后再自定义一下日志格式

端口号

server.port=9090
#日志格式
logging.pattern.console=%d{YYYY-MM-dd HH:mm:ss.SSS} %clr(%-5level) — [%-15thread] %cyan(%-50logger{50}):%msg%n

修改启动类

这里我们需要在启动类上方添加注解,证明这是一个指标监控服务端
package com.example.springbootadmin;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
// 开启SpringBoot Admin Server端
@EnableAdminServer
public class SpringbootadminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootadminApplication.class, args);
}
}

运行项目
图片
这里是还没有连接项目进行指标监控的

  1. 连接Spring Boot Admin项目

同样地,被监控项目添加Spring Boot Admin客户端起步依赖

de.codecentric
spring-boot-admin-starter-client

修改配置文件

应用服务 WEB 访问端口

server.port=8080
#Spring boot admin访问地址
spring.boot.admin.client.url=http://localhost:9090
#日志格式
logging.pattern.console=%d{YYYY-MM-dd HH:mm:ss.SSS} %clr(%-5level) — [%-15thread] %cyan(%-50logger{50}):%msg%n

运行项目

此时Spring Boot Admin即可连接被监控的项目,再刷新就可以看到有实例连接成功。

图片

SpringBoot日志管理

SpringBoot默认使用Logback组件作为日志管理。Logback是log4j创始人设计的一个开源日志组件。在SpringBoot项目中我们不需要额外的添加Logback的依赖,因为在 spring-boot-parent 中已经包含了Logback的依赖。

在 /resources 下添加Logback配置文件logback.xml

<?xml version="1.0" encoding="UTF-8" ?> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n ${LOG_HOME}/server.%d{yy99-MM-dd}.log 30 %d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n 10MB

注:Logback配置文件名为logback-test.xml或logback.xml,如果classpath下没有这两个文件,LogBack会自动进行最小化配置。

运行结果如下图:
图片

在代码中打印日志
package com.example.springbootdlogback.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class PrintLogController {
private final static Logger looger = LoggerFactory.getLogger(PrintLogController.class);
@RequestMapping(“/printlog”)
@ResponseBody
public String showInfo(){
looger.info(“记录日志”);
return “Hello Back!”;
}
}
如果日志过多,可以屏蔽一些包的日志,在配置文件中配置

屏蔽or包中的日志输出

#屏蔽org包中的日志输出

相关文章:

基于SpringBoot 实现指标监控及日志管理

添加Actuator功能 Spring Boot Actuator可以帮助程序员监控和管理SpringBoot应用&#xff0c;比如健康检查、内存使用情况统计、线程使用情况统计等。我们在SpringBoot项目中添加Actuator功能&#xff0c;即可使用Actuator监控 项目&#xff0c;用法如下&#xff1a; 在被监…...

Linux之看门狗

1、什么是看门狗&#xff1f; 在Linux系统中&#xff0c;看门狗机制主要包括硬件看门狗、软件看门狗和看门狗守护进程三个部分。硬件看门狗是一个独立的计时器设备&#xff0c;用于监视系统的运行状态。如果系统长时间没有发送喂狗信号&#xff0c;硬件看门狗将执行预设的动作…...

第十九章 TypeScript 装饰器Decorator

Decorator 装饰器是一项实验性特性&#xff0c;在未来的版本中可能会发生改变 它们不仅增加了代码的可读性&#xff0c;清晰地表达了意图&#xff0c;而且提供一种方便的手段&#xff0c;增加或修改类的功能 若要启用实验性的装饰器特性&#xff0c;你必须在命令行或tsconfig…...

第十四章 TypeScript tsconfig.json配置文件

生成tsconfig.json 文件 这个文件是通过tsc --init命令生成的 配置详解 "compilerOptions": {"incremental": true, // TS编译器在第一次编译之后会生成一个存储编译信息的文件&#xff0c;第二次编译会在第一次的基础上进行增量编译&#xff0c;可以提…...

科技助力高质量发展:新质生产力的崛起与企业数字化转型

引言 随着科技的飞速发展&#xff0c;我们正逐渐步入数字化智能时代&#xff0c;这个时代不仅为企业带来了无限的机遇&#xff0c;也让其面对前所未有的挑战。在这个快速变革的时代&#xff0c;企业必须不断调整自己的经营策略&#xff0c;适应数字化转型的浪潮&#xff0c;以…...

Redis - 缓存访问 缓存穿透 缓存击穿 缓存雪崩

一、缓存访问 1、客户端发送请求 2、服务首先会请求 redis&#xff0c;查看请求的内容是否存在 3、redis 将请求结果返回给服务&#xff0c;如果返回的结果有数据则直接返回给客户端&#xff1b;如果没有数据则会继续往下执行 4、服务从数据库中查询请求的数据 5、数据库将…...

SAP Business Application Studio(BAS)中开发Fiori App的基础知识

1. SAP Fiori Tools SAP Fiori Tools是一套用于支持SAP Fiori应用开发的工具&#xff0c;包括应用模板、可视化编辑器、代码生成、应用预览和集成测试工具等。这些工具可以帮助开发者更快速、更简单地创建和维护SAP Fiori应用。SAP Fiori Tools 可与SAP的开发环境&#xff08;…...

DashScope - 阿里模型服务灵积

文章目录 关于 DashScope快速上手代码调用http 请求示例Python 调用 关于 DashScope 官方主页&#xff1a;https://dashscope.aliyun.comPYPI : https://pypi.org/project/dashscope/支持模型&#xff1a;https://dashscope.console.aliyun.com/model DashScope灵积模型服务建…...

个人信息-求职[web前端]

我有近近10年开发及6年的管理经验Web前端,所负责的技术团队经历了 Web 前端几代技术变革&#xff0c;参与了几乎&#xff0c;在性能优化、开发效率、所有前端相关项目工程化架构选型上都有丰厚的产出。在上家致力于数据安全前端的相关工作&#xff0c;专注于Vue.js技术栈来推进…...

Apache DolphinScheduler 社区开启讲师招募,赶快加入吧!

随着Apache DolphinScheduler在全球范围内的快速发展&#xff0c;我们的用户群体和社区活动也在不断扩大。 为了进一步丰富我们的社区内容&#xff0c;分享更多有价值的知识和经验&#xff0c;我们诚挚地邀请您加入我们&#xff0c;成为Apache DolphinScheduler社区的分享嘉宾。…...

【HTML面试题】src和href的区别

一、请求资源不同 src 在请求资源时&#xff0c;会把这个资源下载下来href 建立链接通道&#xff0c;也就是引用元素和当前文档建立链接 二、作用结果不同 src 会替换当前元素href 只是引用资源和当前元素建立链接&#xff0c;所以不会替换当前内容。 三、浏览器解析方式不…...

电脑文件msvcp100.dll丢失原因,如何快速修复msvcp100.dll

电脑文件msvcp100.dll丢失原因&#xff0c;最近有朋友在问这个&#xff0c;显然会问这个的人&#xff0c;一般都是遇到了msvcp100.dll丢失的问题了&#xff0c;今天我们就来详细的给大家说说msvcp100.dll这个文件吧&#xff0c;我们只有了解了msvcp100.dll这个文件&#xff0c;…...

安装OneNote for Win10 | Win10/Win11

前言 PC端的OneNote分为2个版本&#xff0c;分别是Microsoft Store版本和Office版本&#xff0c;Microsoft Store版本即为OneNote for Win10&#xff0c;此版的OneNote有最近笔记功能&#xff0c;但检索功能不如Office版本&#xff0c;个人认为2个版本各有优劣。 但OneNote f…...

力扣242. 有效的字母异位词

思路&#xff1a;字母相互抵消的思路&#xff0c;本题字符串中只包含小写字母26位&#xff0c;那就新建record数组int[26]&#xff0c;下标0-25&#xff0c;代表小写字母a-z, 需要通过 某字符减a 来达到这一目的&#xff1b; class Solution {public boolean isAnagram(String…...

windows server 下的mysql 8.0.28修改数据库目录

1. 查看当前数据库存储位置 show global variables like %datadir%; 默认是&#xff1a;C:\ProgramData\MySQL\MySQL Server 8.0\Data 2. 修改 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini配置文件。如下&#xff1a; datadirD:/ProgramData/MySQL/MySQL Server 8.0/Dat…...

【Excel自动化办公】使用openpyxl对Excel进行读写操作

目录 一、环境安装 1.1 创建python项目 1.2 安装openpyxl依赖 二、Excel数据读取操作 三、Excel数据写入操作 3.1 创建空白工作簿 3.2 写数据 四、设置单元格样式 4.1 字体样式 4.2 设置单元格背景填充色 4.3 设置单元格边框样式 4.4 单元格对齐方式 4.5 数据筛选…...

大龄女程序员脱单指南:如何科学评估你的Mr. Right?(含C语言代码示例)

大龄女程序员脱单指南&#xff1a;如何科学评估你的Mr. Right&#xff1f; 在这个快节奏、高压力的时代&#xff0c;女程序员们时常在代码的世界里游走&#xff0c;却可能在现实的情感世界里感到迷茫。尤其是对于那些步入“大龄”行列的女程序员来说&#xff0c;脱单似乎成了一…...

深入剖析Java并发库(JUC)之StampedLock的应用与原理

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在现代多核处理器架构下&#xff0c;并发编程成为提升程序性能的关键手段。Java作为一门广泛使用的编程语言&#xff0c;提供了丰…...

【PMP】每日一练2

项目生命周期与开发生命周期 项目生命周期开发生命周期 项目生命周期 项目生命周期&#xff1a;描述项目从开始到结束所经历的一系列阶段。 项目生命周期类型&#xff1a; 预测型&#xff1a;也称瀑布型生命周期。在生命周期的早期阶段就确定了项目的范围、时间、成本。客户需…...

2024年投影仪显示技术怎么选?哪个好?优缺点详解,买前必看

日前&#xff0c;华为海思LCoS激光投影技术引发了众多关注&#xff0c;该技术的面世&#xff0c;或将在投影行业掀起新的浪潮&#xff01;众所周知&#xff0c;目前主流的显示技术主要是DLP、3LCD和1LCD几种。那么&#xff0c;这几种技术之间到底有什么区别&#xff1f;下面就带…...

Spring Cloud AWS 实战教程:构建高可用 SQS 消息队列应用 [特殊字符]

Spring Cloud AWS 实战教程&#xff1a;构建高可用 SQS 消息队列应用 &#x1f680; 【免费下载链接】spring-cloud-aws The New Home for Spring Cloud AWS 项目地址: https://gitcode.com/gh_mirrors/sp/spring-cloud-aws Spring Cloud AWS 是一个强大的开源框架&…...

智能检索新范式,让AIAgent自主决策,提升RAG效率100%!

市面上的 RAG 系统&#xff0c;不管叫什么名字&#xff0c;本质上只有两种做法&#xff1a; 第一种&#xff0c;一次性检索。把用户的 query 向量化&#xff0c;从语料库里捞出 Top-K 个文档片段&#xff0c;拼成一个大 prompt 塞给模型。GraphRAG、HippoRAG、LightRAG 都属于…...

超维计算(HDC)原理与ScalableHD架构优化实践

1. 超维计算&#xff08;HDC&#xff09;基础解析超维计算&#xff08;Hyperdimensional Computing, HDC&#xff09;是一种受大脑信息处理机制启发的计算范式&#xff0c;其核心思想是用高维随机向量&#xff08;通常称为超向量或HV&#xff09;来表示和处理信息。与传统神经网…...

收藏干货|2026 版企业 AI 落地实操指南,程序员小白入门避坑必备

如今人工智能早已脱离概念炒作阶段&#xff0c;全面扎根企业实际业务场景&#xff0c;成为技术从业者与企业管理者无法回避的发展课题。各行各业都加速布局AI赛道&#xff0c;行业心态也从初期观望试探&#xff0c;彻底转变为实打实的落地攻坚。 不少企业高层主动牵头统筹AI规划…...

PS5 NOR Modifier深度解析:如何通过Windows工具修复PS5硬件故障与实现光驱版转数字版

PS5 NOR Modifier深度解析&#xff1a;如何通过Windows工具修复PS5硬件故障与实现光驱版转数字版 【免费下载链接】PS5NorModifier The PS5 Nor Modifier is an easy to use Windows based application to rewrite your PS5 NOR file. This can be useful if your NOR is corru…...

别再纠结了!给激光焊接新手讲透单模和多模激光到底怎么选(附M²因子解读)

激光焊接设备选型指南&#xff1a;单模与多模激光的实战抉择 当你第一次站在激光焊接设备采购的十字路口&#xff0c;面对"单模"和"多模"这两个专业术语时&#xff0c;那种迷茫感我深有体会。五年前&#xff0c;我作为产线技术负责人&#xff0c;需要为汽车…...

AI 应用原型开发阶段利用 Taotoken 快速进行多模型效果对比

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 AI 应用原型开发阶段利用 Taotoken 快速进行多模型效果对比 在构建一个 AI 应用的原型时&#xff0c;开发者常常面临一个核心问题&…...

tree 命令

tree 命令 tree 命令用于以树状图的形式列出目录下的文件。 1 Linux 安装 tree 命令 # CentOS sudo yum -y install tree # Ubuntu sudo apt -y install tree2 Windows 安装 tree 命令 Windows 10 以上 CMD 和 PowerShell 已经内置了 tree 命令&#xff0c;可以直接使用。 …...

10分钟掌握D3KeyHelper:告别手酸,暗黑3游戏效率翻倍的终极指南

10分钟掌握D3KeyHelper&#xff1a;告别手酸&#xff0c;暗黑3游戏效率翻倍的终极指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 你是否曾在《暗…...

告别ENVI/Erdas!用PCI Geomatica处理Pleiades立体像对,手把手教你提取高精度DEM(附数据与避坑指南)

从Pleiades立体像对到高精度DEM&#xff1a;PCI Geomatica全流程实战解析 在遥感数据处理领域&#xff0c;数字高程模型&#xff08;DEM&#xff09;的生成一直是核心工作之一。传统主流软件如ENVI和Erdas虽然功能全面&#xff0c;但在处理高分辨率卫星立体像对时&#xff0c;特…...