IntelliJ+SpringBoot项目实战(五)--配置Druid在线监控数据库

      阿里的Druid插件有可视化监控数据库性能的界面。在SpringBoot中集成Druid后,可以进入可视化Html界面监控数据库运行情况。本文先介绍Druid的管理界面,然后在介绍Druid的详细配置。

首先访问http://localhost:8001/druid/ ,打开登录页面:

然后输入用户名admin,密码12345678,用户名和密码是在Druid的配置类中设置的,本文后面会介绍,登录成功后,进入管理后台:

菜单功能包括:数据源、SQL监控、SQL防火墙、WEB应用、URI监控、Session监控、Spring监控、JSON API。首先打开数据源:

这时是空的,可以用上节的例子调用接口访问下数据库:

http://localhost:8001/demo/queryParam?parmName=version

然后再刷新下数据源的页面,这时可以看到数据源的信息:

SQL监控界面:

SQL防火墙界面:

URI监控:

Session监控:

Spring监控:

在上节中简单介绍了Druid配置,这里还需增加新的配置和类。首先在主工程的pom.xml中增加log4j依赖,因为Druid需要用到log4j:

然后在openjweb-sys模块的application-dev.yml增加更多的数据源参数设置:

在生产环境中还需要对这些参数进行进一步优化。(另外filters的参数带逗号,在Druid后台中filter类名是空的,这样写是否正确还需要研究下。)

然后在org.openjweb.sys.config下建一个Druid监控类:

import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
@Configuration
public class DruidMonitorConfiguration {@Beanpublic ServletRegistrationBean druidStatViewServlet() {//ServletRegistrationBean提供的类注册ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");//添加初始化参数 initParams//白名单:servletRegistrationBean.addInitParameter("allow", "127.0.0.1");//这个以后应该写在配置里//黑名单 (共同存在时,deny 优先allow)//如满足deny 就提示sorry ,you are not permitted view this pageservletRegistrationBean.addInitParameter("deny", "193.0.0.1");//登录查看信息的账号和密码servletRegistrationBean.addInitParameter("loginUsername","admin");servletRegistrationBean.addInitParameter("loginPassword","12345678");//是否能重置数据servletRegistrationBean.addInitParameter("resetEnable","false");return servletRegistrationBean ;}@Beanpublic FilterRegistrationBean druidStatFilter() {FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());//添加过滤规则filterRegistrationBean.addUrlPatterns("/*");//添加需要忽略的格式信息filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");return filterRegistrationBean;}
}

生产环境下可对上面代码中的参数进行适当调整,并将一些参数写到配置文件里。以上配置完成后启动SpringBoot应用然后访问http://localhost:8001/druid/login.html 即可。

项目源码见Github地址:https://github.com/openjweb/cloud/tree/mastericon-default.png?t=O83Ahttps://github.com/openjweb/cloud/tree/master

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/13080.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2024年小红书代运营公司推荐:品牌种草新阵地

2024年小红书代运营公司推荐:品牌种草新阵地 随着今年双十一的落幕,各大平台通过各具特色的活动实现了优异的表现,标志着国内电商市场全面进入了全域运营的新时代。未来,电商行业将呈现“货架电商内容电商”相结合的趋势。小红书作…

什么是闰秒?

闰秒概念是 1972年提出的,之所以有这个概念,主要是因为由于潮汐等自然现象的影响,地球的自转速度并不是恒定的。 所以,每隔一段时间世界标准时间「协调世界时(UTC)」会依据地球围绕太阳运动计算的「世界时…

PySide6百练成真(9)

资源的加载 给控件加上图标 1.内置图标 2.自定义资源文件 3.Rcc的使用(基于designer) 4.如果获取资源文件 rcc的使用,基于xml文件 内置图标 from PySide6.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget, QLineEdit, QToolBox, QMainWindow, QPushButton,QSt…

cmake vscode

cmake_minimum_required(VERSION 3.20.0) project(my_hello) //指定项目 set(CMAKE_CXX_STANDARD 11) //指定c的版本 include_directories( P R O J E C T S O U R C E D I R / i n c l u d e ) / / 包含头文件的目录 / / 指定可执行文件生成目录 s e t ( E X E C U T A B L E…

李耳著《老子》与董仲舒著《道德经》有何区别?

马王堆帛书《老子》的发现,确实为研究《道德经》提供了更为接近原始的版本,其内容与传世本存在诸多不同之处,这些差异不仅体现在文字和篇章结构上,更在于思想内涵和哲学意蕴的深度。以下是具体分析: 版本命名&#xff…

5. ARM_指令集

概述 分类 汇编中的符号: 指令:能够编译生成一条32位机器码,并且能被处理器识别和执行伪指令:本身不是指令,编译器可以将其替换成若干条指令伪操作:不会生成指令,只是在编译阶段告诉编译器怎…

游戏行业使用高防独立IP有什么好处?

独立的IP就是您的虚拟主机自己有一个单独的IP地址,这样,您的用户除了记住您的域名外,在浏览器的地址栏敲入您的IP地址也能访问到您的网站。如果没有独立IP的话,别人要访问您的网站只能敲入域名才行。 而高防ip是指高防机房所提供的…

Android ANR分析总结

1、ANR介绍 ANR(Application Not Responding)指的是应用程序无响应,当Android应用程序在主线程上执行长时间运行的操作或阻塞I/O操作时发生。这可能导致应用程序界面冻结或无法响应用户输入。 1、Service ANR:前台20s&#xff0…

【comfyui教程】comfyui攻略:故障报错应对指南!

前言 ComfyUI的常见故障和解决,赶紧收藏起来, 在探索ComfyUI的曲折旅途中,最让人心生畏惧的莫过于那漫天的红色方框和层出不穷的报错信息。它们如同不息的风暴,一波未平,一波又起,令无数热忱的初学者在这…

[论文精读]SeqMIA: Sequential-Metric Based Membership Inference Attack

图像领域成员推理攻击 SeqMIA: Sequential-Metric Based Membership Inference Attack http://arxiv.org/abs/2407.15098 ACM CCS 2024 先看overview,猜测文章的方法:训练影子模型,使用影子模型、蒸馏数据集和目标模型共同参与蒸馏任务&am…

机器学习基础02

目录 1.特征工程 1.1特征工程概念 1.2特征工程的步骤 1.3特征工程-特征提取 1.3.1字典特征提取 1.3.2文本特征提取 英文文本提取 中文文本提取 1.3.3TF-IDF文本特征词的稀有程度特征提取 2.无量纲化 2.1归一化 2.2标准化 2.3fit、fit_transform、transform 3.特征…

watermark大模型水印详解

一 watermark定义 模型水印是一种用于模型版权保护的技术,通过向大模型植入水印(触发集数据加上特定的噪声或者标志),使得模型学习到这种特定的噪声或者标志的特征,通过特定的问题可以从大模型的回答中提取出水印进行…

做运维工程师辛苦吗?

你要知道做那一块的运维 网络运维(确保网络稳定安全) 应用运维(应用软件进程监控、服务和端口相应情况、故障处理等) 系统运维(操作系统监控 恢复 等)、 桌面和外围设备运维(计算机终端、外…

关于报错‘cross-env‘ 不是内部或外部命令,也不是可运行的程序

在使用ANT DESIGN PRO这个react框架时出现了cross-env 不是内部或外部命令,也不是可运行的程序 或批处理文件。 如图: 解决办法: 需要全局安装 cross-dev npm install -g cross-env -save-dev 然后重新启动npm start 注意:…

智能座舱多屏项目,中控屏切换语言,后排屏闪黑屏问题

1. 背景 智能座舱多屏项目,中控屏切换语言,后排屏闪黑屏问题 2. 详细分析过程 通过events log查看activity的生命周期:adb shell logcat -b events com.android.rwhvac.view.behind.BehindActivity2 : displayId 2 副屏app com.android.…

基于Multisim温度计温度测量检测测量系统电路(含仿真和报告)

【全套资料.zip】温度计温度测量检测测量系统电路Multisim仿真设计数字电子技术 文章目录 功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真报告讲解视频.zip】 功能 温度检测测量系统 1.温度测量范围为0~200C; 2.三位数…

浅层神经网络

浅层神经网络 浅层神经网络通常指包含一个隐藏层的神经网络。这个网络由输入层、隐藏层和输出层构成: 输入层:输入层负责接收网络的输入特征,通常表示为列向量 x T [ x 1 , x 2 , x 3 ] x^T [x_1, x_2, x_3] xT[x1​,x2​,x3​]&#xff…

解决apidoc不是内部或外部命令,也不是可运行的程序 或批处理文件。

apidoc官网 首先确保安装了apidoc,我这里是全局安装的。 npm install apidoc -g然后打开cmd窗口执行命令时就会报错。 apidoc 不是内部或外部命令,也不是可运行的程序 或批处理文件。 此时只需要找到它,再把它加入环境变量即可了。 win10中npm默认路径:C:\User…

可私有化部署API的集装箱箱号自动识别技术,专业算法厂家

启智畅想作为人工智能行业OCR识别算法厂家,可将集装箱箱号自动识别技术私有化部署,并提供私有化部署的API的接口,在物流行业中正逐渐崭露头角,成为提升效率与精度的关键力量。这一技术不仅打破了传统识别方式的局限,更…

【快速解决】kafka崩了,重启之后,想继续消费,怎么做?

目录 一、怎么寻找我们关心的主题在崩溃之前消费到了哪里? 1、一个问题: 2、查看消费者消费主题__consumer_offsets 3、一个重要前提:消费时要提交offset 二、指定 Offset 消费 假如遇到kafka崩了,你重启kafka之后&#xff0…