【30天精通Prometheus:一站式监控实战指南】第15天:ipmi_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
亲爱的读者们👋
欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀
Prometheus是云原生和DevOps的核心监控工具,我们将从基础概念开始,逐步涵盖配置、查询、告警和可视化。💪
在接下来的30天里,我们将解锁Prometheus的实战技巧,通过案例和分享,助你深入理解其工作原理。📆
目标:30天后,你将熟练掌握Prometheus,为未来的项目挑战做好准备!💯
这是一段精彩旅程,期待你的加入!🎉
文章目录
- 一、ipmi_exporter概述📘
- 二、安装ipmi_exporter💾
- 2.1 访问ipmi_exporter官方网站 🌐
- 2.2 选择适合的版本🔍
- 2.3 下载ipmi_exporter⬇️
- 2.4 解压安装包📂
- 2.5 运行ipmi_exporter🚀
- 三、ipmi_exporter指标和配置详解📖
- 3.1 ipmi_remote.yml
- 3.2 ipmi_exporter.service
- 四、实战演练:生产环境搭建指南🔨
- 4.1 安装freeipmi并添加权限
- 4.1.1 安装ipmitool 并加载相应模块
- 4.1.2 给deploy用户添加freeipmi的执行权限
- 4.2 部署管理ipmi_exporter
- 4.2.1 创建普通用户管理ipmi_exporter👤
- 4.2.2 解压ipmi_exporter.tar.gz📦
- 4.2.3 将ipmi_exporter集成到Prometheus配置中✂️
- 4.2.4 更改ipmi_exporter软件包名称✂️
- 4.2.5 创建ipmi_remote.yml文件
- 4.2.6 编辑ipmi_exporter.service文件📝
- 4.2.7 启动ipmi_exporter.service🔌
- 4.2.8 查看服务是否正常启动🔍
- 相关资料下载地址📚
一、ipmi_exporter概述📘
定义
ipmi_exporter是一个用于收集物理机信息的工具,它是Prometheus监控系统中的一个组件。其主要作用是通过IPMI(Intelligent Platform Management Interface,智能平台管理接口)协议,从支持IPMI的设备上收集硬件相关的监控数据,并将这些数据转换为Prometheus可以理解的格式,从而实现对物理服务器的硬件监控。
功能
数据收集:它能够通过IPMI协议从远程物理机上收集各种硬件指标,如温度、电压、风扇速度等。
数据转换:收集到的数据会被转换为Prometheus监控系统的标准格式,即metrics格式,这样Prometheus就能轻松地抓取和处理这些数据。
远程监控支持:支持远程收集数据,这意味着无需在每台物理机上安装ipmi_exporter,只需在中心位置部署,即可监控多个远程服务器。
灵活性:一个exporter实例可以监控多个IPMI接口,这减少了资源消耗并提高了监控效率。
安全性:支持TLS加密和基本认证,确保监控数据在传输过程中的安全性。
应用场景
数据中心监控:在大型数据中心中,有大量的物理服务器需要监控。ipmi_exporter能够帮助管理员实时监控这些服务器的硬件状态,如温度、电压和风扇速度等关键指标,从而确保服务器的稳定运行。
远程故障排查:当服务器出现故障时,管理员可能无法直接访问服务器。此时,ipmi_exporter可以通过远程收集硬件数据,帮助管理员快速定位并解决问题。
自动化运维:结合Prometheus的Alertmanager,ipmi_exporter可以自动化处理硬件警告。例如,当某个硬件指标超出预设阈值时,系统可以自动重启有问题的设备或触发通知,从而减少人工干预的需要并提高运维效率。
二、安装ipmi_exporter💾
注意事项和常见问题
1.环境配置:确保服务器支持IPMI协议,并已启用。检查服务器的IPMI配置,包括IP地址、用户名和密码,确保可以远程访问。
2.依赖安装:ipmi_exporter依赖于freeipmi库,因此在安装前需要确保系统上已安装freeipmi。安装freeipmi时,可以根据操作系统使用相应的包管理器,如apt-get install freeipmi(Debian/Ubuntu)或yum install freeipmi(CentOS/RHEL)。
3.下载与安装:从GitHub的官方仓库下载ipmi_exporter的最新版本。根据需要下载对应的发行版,解压后即可使用。
4.配置文件:如果需要监控远程服务器,需配置ipmi_remote.yml文件,指定目标服务器的IPMI地址、用户名和密码。确保配置文件中的信息准确无误,以避免连接失败。
5.启动与运行:使用nohup或其他方式在后台启动ipmi_exporter,确保服务持续运行。启动后,可以通过访问指定的HTTP端口(默认为9290)来验证ipmi_exporter是否成功运行。
2.1 访问ipmi_exporter官方网站 🌐
- 打开浏览器,访问ipmi_exporter的官方下载页面,通常位于Github官方网站的ipmi_exporter下:https://github.com/prometheus-community/ipmi_exporter/releases
2.2 选择适合的版本🔍
- 在下载页面,你将看到不同操作系统的ipmi_exporter二进制包。根据你的操作系统选择适合的版本。例如,如果你使用的是Linux 64位系统,就选择ipmi_exporter-1.8.0.linux-amd64.tar.gz(其中x.x.x是版本号)。
2.3 下载ipmi_exporter⬇️
- 点击所选版本的下载链接,将ipmi_exporter的二进制包下载到你的本地计算机。
2.4 解压安装包📂
- 将下载的ipmi_exporter压缩包解压到你想要安装的目录。你可以使用命令行工具(如tar)来完成这个步骤。解压后,你将看到一个名为ipmi_exporter-x.x.x.linux-amd64的目录,其中包含ipmi_exporter的二进制文件和其他相关文件。
tar -xzf ipmi_exporter-1.8.0.linux-amd64.tar.gz
2.5 运行ipmi_exporter🚀
- 进入解压后的目录,并运行ipmi_exporter服务器。在Linux下,你可以使用如下命令。如果一切正常,你应该能在终端看到ipmi_exporter的启动日志。
cd ipmi_exporter-x.x.x.linux-amd64./ipmi_exporter
三、ipmi_exporter指标和配置详解📖
- 黑色:作为默认文本颜色。
- 绿色:表示常规配置项
- 橙色:表示具有互斥参数的配置项 / 建议开启(根据自己的场景确定需求)
- 蓝色:不重要的配置项 / 建议不开启
- 红色:表示关键信息和警告 / 最好开启
注意:
- 1.相关参数配置建议仅供参考,具体要以自己生产的实际需要自行配置。
- 2.以下配置参数介绍是基于ipmi_exporter-1.8.0.linux-amd64版本说明的,其它版本会有不同。
3.1 ipmi_remote.yml
modules:default:user: "default_user"pass: "example_pw"driver: "LAN_2_0"privilege: "user"timeout: 10000collectors:- bmc- ipmi- chassisexclude_sensor_ids:- 2- 29- 32- 50- 52- 55dcmi:user: "admin_user"pass: "another_pw"privilege: "admin"driver: "LAN_2_0"collectors:- dcmithatspecialhost:user: "some_user"pass: "secret_pw"privilege: "admin"driver: "WORK"collectors:- ipmi- selworkaround_flags:- discretereadingcustom_args:ipmi:- "--bridge-sensors"advanced:user: "some_user"pass: "secret_pw"privilege: "admin"driver: "WORK"collectors:- ipmi- selcollector_cmd:ipmi: sudosel: sudocustom_args:ipmi:- "ipmimonitoring"sel:- "ipmi-sel"
- default
- user: “default_user”
用于连接IPMI 设备的用户名 - pass: “example_pw”
用于连接IPMI 设备的密码 - driver: “LAN_2_0”
IPMI 协议的版本或类型。“LAN_2_0” 表示使用 IPMI v2.0 协议进行通信 - privilege: “user”
IPMI 用户的权限级别。“user” 权限通常允许基本的监控和读取操作,一般不允许进行配置更改 - timeout: 10000
连接超时时间,单位是毫秒 - collectors: [ “bmc”,“ipmi”,“chassis” ]
指定要启用的数据采集器列表。这些采集器决定了 ipmi_exporter 从 IPMI 设备中收集哪些数据。在提供的配置示例中,启用了 bmc(基板管理控制器信息)、ipmi(IPMI 设备信息)、chassis(机箱状态信息)等采集器,大家可以根据需要启用或禁用特定的采集器 - exclude_sensor_ids:
一个列表,包含不希望监控的传感器 ID。在提供的配置中,ID 为 2、29、32、50、52 和 55 的传感器将被排除在监控之外。这可以用于过滤掉不重要或不需要监控的传感器数据。
- user: “default_user”
- dcmi
- user: “admin_user”
用于连接到IPMI接口的用户名 - pass: “another_pw”
与用户名对应的密码。这里的密码是"another_pw" - privilege: “admin”
定义了IPMI会话的权限级别。在此配置中,它被设置为"admin",这意味着该用户具有更高的权限,可以执行更广泛的操作,包括配置更改等 - driver: “LAN_2_0”
指定用于连接的IPMI驱动类型。"LAN_2_0"表示使用IPMI v2.0协议通过局域网进行通信 - collectors: dcmi
这是一个列表,指定ipmi_exporter应从IPMI设备收集哪些类型的数据。在此配置中,只启用了dcmi收集器
- user: “admin_user”
- thatspecialhost
- user: “some_user”
用于连接到特定IPMI设备的用户名,这里设置为"some_user"。确保该用户名与你的IPMI设备上配置的用户名一致 - pass: “secret_pw”
与用户名相对应的密码,此例中为"secret_pw"。你需要确保这个密码正确,以便ipmi_exporter能够成功登录到IPMI设备 - privilege: “admin”
用户的权限级别,这里设置为"admin"。管理员权限通常允许用户执行更广泛的监控和管理操作 - driver: “WORK”
指定用于连接的IPMI驱动类型 - collectors: [ “ipmi”,“sel” ]
指定ipmi_exporter应从IPMI设备收集的数据类型。在这个配置中,启用了ipmi和sel两个采集器 - workaround_flags: [“discretereading”]
包含用于解决特定IPMI设备兼容性问题的标志 - custom_args: ipmi: [“–bridge-sensors”]
允许你指定额外的命令行参数,这些参数将传递给底层的IPMI监控工具(如ipmimonitoring)。在这个配置中,为ipmi采集器指定了一个参数"–bridge-sensors"。这个参数的具体作用取决于底层工具和IPMI设备的实现,通常用于处理或转换传感器数据。
- user: “some_user”
- advanced
- user: “some_user”
用于连接到IPMI设备的用户名 - pass: “secret_pw”
与用户名对应的密码 - privilege: “admin”
指定用于与IPMI设备通信的驱动类型 - driver: “WORK”
一个列表,定义了ipmi_exporter应该从IPMI设备收集哪些类型的数据 - collectors: [ “ipmi”,“sel” ]
一个列表,定义了ipmi_exporter应该从IPMI设备收集哪些类型的数据 - collector_cmd: {“ipmi”: sudo ,“sel”: sudo}
允许你为不同的采集器指定运行命令的前缀。在这个例子中,ipmi和sel采集器都使用了sudo命令前缀,这意味着ipmi_exporter会尝试以超级用户权限运行这些采集器。这是因为某些操作需要更高的权限才能执行 - custom_args: {“ipmi”: [“ipmimonitoring”],“sel”: [“ipmi-sel”]}
允许为特定的采集器提供自定义的命令行参数
- user: “some_user”
3.2 ipmi_exporter.service
- - -config.file=CONFIG.FILE
指定配置文件的路径。这个配置文件包含了如何连接到 IPMI 设备的信息,比如设备的 IP 地址、用户名、密码等。CONFIG.FILE 应该替换为你的实际配置文件路径。 - - -freeipmi.path=FREEIPMI.PATH
指定 freeipmi 工具的路径ipmi_exporter 依赖于 freeipmi 工具来收集 IPMI 数据。如果你已经把 freeipmi 安装到了系统的 PATH 环境变量中,那么不需要设置这个参数。FREEIPMI.PATH 应该替换为 freeipmi 工具的实际路径。 - - -[no-]web.systemd-socket
一个布尔标志,用于控制是否使用 systemd socket 激活。如果你的 ipmi_exporter 是通过 systemd socket 激活的,那么应该启用这个标志。加上 no- 前缀会禁用这个选项,即不使用 systemd socket 激活。 - - -web.listen-address=:9290
指定 ipmi_exporter 的 HTTP 服务监听地址和端口。:9290 表示监听所有 IPv4 和 IPv6 地址的 9290 端口。你可以根据需要更改端口号或绑定到特定的 IP 地址。 - - -web.config.file=“”
要使用 TLS 和/或基本身份验证,需要传递配置文件使用参数。
四、实战演练:生产环境搭建指南🔨
4.1 安装freeipmi并添加权限
4.1.1 安装ipmitool 并加载相应模块
yum -y install ipmitool freeipmimodprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_poweroff
modprobe ipmi_si
modprobe ipmi_watchdog
4.1.2 给deploy用户添加freeipmi的执行权限
cat >> /etc/sudoers <<EOF
deploy ALL=(ALL) NOPASSWD:/usr/sbin/ipmimonitoring,/usr/sbin/ipmi-sensors,/usr/sbin/ipmi-dcmi,/usr/sbin/ipmi-raw,/usr/sbin/bmc-info,/usr/sbin/ipmi-chassis,/usr/sbin/ipmi-sel
EOF
4.2 部署管理ipmi_exporter
4.2.1 创建普通用户管理ipmi_exporter👤
useradd deploy
4.2.2 解压ipmi_exporter.tar.gz📦
注意:
我的是x86,所以使用ipmi_exporter-1.8.0.linux-amd64.tar.gz,您可以使用uname -a命令查看系统架构
tar xvf ipmi_exporter-1.8.0.linux-amd64.tar.gz -C /home/deploy/
4.2.3 将ipmi_exporter集成到Prometheus配置中✂️
将ipmi_exporter集成到Prometheus配置中,确保数据能够正常采集。编辑Prometheus的配置文件(通常是prometheus.yml),在scrape_configs部分添加ipmi_exporter的配置。告诉Prometheus将采集localhost:9290的数据。
- job_name: 'ipmi_exporter'static_configs:- targets:- targets: ["localhost:9290"]labels:exporter: ipmi_exporter
4.2.4 更改ipmi_exporter软件包名称✂️
mv ipmi_exporter-1.8.0.linux-amd64 /home/deploy/ipmi_exporter
4.2.5 创建ipmi_remote.yml文件
vi /home/deploy/ipmi_exporter/ipmi_remote.yml
modules:10.131.16.137: # ipmi地址user: "ipmi_user" # ipmi用户名pass: "ipmi_passwod" # ipmi密码privilege: "user"driver: "LAN_2_0"collectors:- bmc- ipmi- dcmi- chassis- selcustom_args:bmc:- "bmc-info"ipmi:- "ipmimonitoring"dcmi:- "ipmi-dcmi"chassis:- "ipmi-chassis"sel:- "ipmi-sel"
4.2.6 编辑ipmi_exporter.service文件📝
cat > /etc/systemd/system/ipmi_exporter.service <<EOF
[Unit]
Description=Ipmi Exporter
After=network.target[Service]
Type=simple
User=deploy
Group=deploy
ExecStart=/home/deploy/ipmi_exporter/ipmi_exporter\
--graphite.mapping-config=/home/deploy/ipmi_exporter/ipmi_exporter \
--config.file=ipmi_remote.yml \
--freeipmi.path=/usr/local/sbin/ \
--web.listen-address=:9290
ExecReload=/bin/kill -HUP
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF
4.2.7 启动ipmi_exporter.service🔌
sudo systemctl daemon-reloadsudo systemctl enable --now ipmi_exporter.service
4.2.8 查看服务是否正常启动🔍
# 查看service服务是否启动
sudo systemctl status ipmi_exporter.service# 查看端口是否存在
sudo ss -ntulp | grep 9290
相关资料下载地址📚
- 官方文档:https://prometheus.io/docs/introduction/overview/
- 下载地址:https://github.com/prometheus/prometheus/releases/tag/v2.52.0
- 文档地址:https://prometheus.io/docs/prometheus/latest/installation/
- 离线包下载链接:https://pan.baidu.com/s/1ANF_AlFnM5_FMIbKBuzBmg 提取码:yqpt
相关文章:

【30天精通Prometheus:一站式监控实战指南】第15天:ipmi_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
亲爱的读者们👋 欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀 Prometheus是云原生和DevOps的…...

STM32F103借助ESP8266连接网络
ESP8266配置 STM32F103本身是不具备联网功能的,所以我们必须借助其他单片机来进行联网,然后让STM32与联网单片机通信,就可以实现STM32联网了。 本文借助的是ESP8266模块,其通过UART协议与STM32通信(http://t.csdnimg.c…...

Feature Manipulation for DDPM based Change Detection
基于去噪扩散模型的特征操作变化检测 文章提出了一种基于去噪扩散概率模型(DDPM)的特征操作变化检测方法。变化检测是计算机视觉中的经典任务,涉及分析不同时间捕获的图像对,以识别场景中的重要变化。现有基于扩散模型的方法主要…...

第十三届蓝桥杯国赛大学B组填空题(c++)
A.2022 动态规划 AC; #include<iostream> #define int long long using namespace std; int dp[2050][15]; //dp[i][j]:把数字i分解为j个不同的数的方法数 signed main(){dp[0][0]1;for(int i1;i<2022;i){for(int j1;j<10;j){//一种是已经分成j个数,这时只需每一个…...

conda源不能用了的问题
conda旧没用了,不知道什么原因,安装源出问题,报如下错: Loading channels: failedUnavailableInvalidChannel: HTTP 404 NOT FOUND for channel anaconda/pkgs/main <https://mirrors.aliyun.com/anaconda/pkgs/main>The c…...

【C#】自定义List排序规则的两种方式
目录 1.系统排序原理 2.方式一:调用接口并重写 3.方式二:传排序规则函数做参数 1.系统排序原理 当我们对一个List<int>类型的数组如list1排序时,一个轻松的list1.sort();帮我们解决了问题 但是在实际应用过程中,往往我们…...

ANAH数据集- 大模型幻觉细粒度评估工具
大型语言模型(LLMs)在各种自然语言处理任务中取得了显著的性能提升。然而,它们在回答用户问题时仍面临一个令人担忧的问题,即幻觉,它们会产生听起来合理但不符合事实或无意义的信息,尤其是当问题需要大量知…...

AI前沿技术探索:智能化浪潮下的创新与应用
一、引言 随着科技的不断进步,人工智能(AI)已成为推动社会发展的重要力量。从自动驾驶汽车到智能医疗诊断,从智能家居到虚拟助手,AI技术正逐渐渗透到我们生活的方方面面。本文旨在探讨AI的前沿技术、创新应用以及未来…...

JVM类加载过程
在Java虚拟机规范中,把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java.lang.Class对象,这个过程被称作类加载过程。一个类在整个虚拟机周期内会经历如下图的阶段&…...

如何安装ansible
ansible安装 1、 准备环境----关闭防护墙和selinux 一般用ansible不会少于10台以上 环境: 主机:4台 一个控制节点 3个被控制节点 解析:本地互相解析(所有机器) # vim /etc/hosts 192.168.1.10 ansible-web1 192.168.1.11 ansible-web2 192.168.1.12…...

html+CSS+js部分基础运用11
一、改变新闻网页中的字号 1、设计如图1-1所示的界面,要求当网络访问者选择字号中的【大、中、小】时能实现页面字号大小变化,选择“中”时,页面效果如图1所示。 图1 单击前初始状态页面 图2 单击“中”链接后页面 2、div中内容如下&#x…...

6,串口编程———通过串口助手发送数据,控制led亮灭
//功能:串口助手每次发送数据格式:0000& // 第二个字节控制LED1亮灭 // 第三个字节控制LED2亮灭 // 第四个字节控制LED3亮灭 // 第无个字节控制LED4亮灭 //要求:代码能够一直运行,能够接收多字节数据 上节讲了串口的基本…...

【java】【python】leetcode刷题记录--栈与队列
232 用栈实现队列 题目描述 两个栈模拟队列的思路是利用栈(后进先出结构)的特性来实现队列(先进先出结构)的行为。这种方法依赖于两个栈来逆转元素的入队和出队顺序,从而实现队列的功能。 入队操作(使用s…...

java并发常见问题
1.死锁:当两个或多个线程无限期地等待对方释放锁时发生死锁。为了避免这种情况,你应该尽量减少锁定资源的时间,按顺序获取锁,并使用定时锁尝试。 2.竞态条件:当程序的行为依赖于线程的执行顺序或输入数据到达的顺序时…...

联芸科技偏高的关联交易:业绩波动性明显,海康威视曾拥有一票否决
《港湾商业观察》施子夫 5月31日,上交所上市审核委员会将召开2024年第14次审议会议,届时将审议联芸科技(杭州)股份有限公司招股书(以下简称,联芸科技)的首发上会事项。 据悉,此次系…...

hexo init命令报错:Error: EPERM: operation not permitted, mkdir ‘D:\‘
我用的是git bash通过hexo init安装hexo的,但是报错如下: $ hexo init INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git fatal: unable to access https://github.com/hexojs/hexo-starter.git/: HTTP/2 stream 1 was not clos…...

day-37 最大正方形
思路 动态规划,这题主要得弄明白状态转换方程,dp[i][j]表示以(i,j)为右下角的最大正方形 解题方法 1.首先将第一行和第一列初始化,当对应位置的matrix为’0’时,dp数组对应位置也为零,否则为1 …...

springboot 3.3版本 类数据共享(CDS)提升启动速度 使用方法+Docker打包代码
springboot 3.3 版本已经正式发布,新版本提供了类数据共享(CDS)功能,通过将类元数据缓存在 Archive(归档/存档) 文件中,使其可以快速预加载到新启动的 JVM 中,从而帮助缩短 JVM 的启…...

Django 目录
Django 创建项目及应用-CSDN博客 Django 注册应用-CSDN博客 Django 应用的路由访问-CSDN博客 Django templates 存放html目录-CSDN博客 Django 解析路由参数-CSDN博客 Django 用re_path()方法正则匹配复杂路由-CSDN博客 Django 反向解析路由-CSDN博客 Django HttpReques…...

VirtualBox Ubuntu系统硬盘扩容
1、关闭虚拟机,找到需要扩容的硬盘,修改为新的容量80GB,应用保存。 2、打开VM,进入系统,使用lsblk可以看到硬盘容量已经变为80GB,但硬盘根分区还没有扩容,使用df查看根文件系统也没有扩容。 [19…...

【自动驾驶】针对低速无人车的线控底盘技术
目录 术语定义 一般要求 操纵装置 防护等级 识别代号 技术要求 通过性要求 直线行驶稳定性 环境适应性要求 功能安全要求 信息安全要求 故障处理要求 通信接口 在线升级(OTA) 线控驱动 动力性能 驱动控制响应能力 线控制动 行车制动 制动响应能力 线控转向 总体要求 线控…...

Kotlin 继承和实现
文章目录 前言继承(extend)实现(implement)继承与实现 前言 在 Kotlin 中,继承和实现都是在类名后使用冒号:,后边加上其他类或接口的名称来表示,二者之间写法没有太大区别(类需要加…...

MATLAB误差估计扩展卡尔博斯方法的目录大纲
MATLAB误差估计扩展卡尔博斯方法的目录大纲 目录: 一、引言 1.1 背景介绍 1.2 研究意义 二、基本理论 2.1 误差估计的基本概念 2.2 卡尔博斯方法的基本原理 三、MATLAB误差估计扩展卡尔博斯方法 3.1 MATLAB简介 3.2 MATLAB在误差估计中的应用 3.3 MATLAB扩展卡尔…...

NetMizer 日志管理系统前台RCE漏洞
声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、产品介绍 NetMizer日志管理系统是一个与NetMizer流量管理设备配合…...

【spring】第二篇 bean实例化
对象已经能交给Spring的IOC容器来创建了,但是容器是如何来创建对象的呢? 就需要研究下bean的实例化过程,在这块内容中主要解决两部分内容,分别是 bean是如何创建的 实例化bean的三种方式,构造方法,静态工厂和实例工厂 在讲解这…...

MVC和MVVM
MVC Model层:用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据 View(视图)处理数据显示的部分。通常视图是依据模型数据创建的 Controller(控制器)是处理用户交互的部分。通常控制器负责从视…...

【康耐视国产案例】智能AI相机机器视觉精准快速实现包裹标签的智能粘贴
康耐视推出的3D-A1000是专业的、匹配物流行业各类分拣机及包裹检测应用的全功能视觉检测系统,其能够准确检测分拣机上是否有包裹、包裹是否超出边界、空车检测、是否有遗留物品等。由于搭载了专利的三维结构光技术,产品具有更强大的创新性以满足持续更新…...

发现真正的诉求
在不久前,我在负责一个项目,设计了一个方案。但是,与我一同合作的同事对其中的一个设计点持有异议。我们尝试讨论解决,但似乎没有找到共识。然而,尽管双方的观点没有达成一致,我们都清楚地表达了自己的想法…...

Spring Boot配置MySQL数据库连接数
1.如何在Spring Boot中配置MySQL数据库的连接数 1.1主要配置 在Spring Boot中配置MySQL数据库连接数通常涉及到两个主要的配置: (1)数据源配置:这通常是在application.properties或application.yml文件中完成的,用于…...

springboot595基于Java的大学生迎新系统-手把手调试搭建
springboot595基于Java的大学生迎新系统-手把手调试搭建 springboot595基于Java的大学生迎新系统-手把手调试搭建...