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

Zabbix开源监控的全面详解!

一、zabbix的基本概述

zabbix,这款企业级监控软件,能全方位监控各类网络参数,确保企业服务架构的安全稳定运行。它提供了灵活多样的告警机制,帮助运维人员迅速发现并解决问题。此外,zabbix还具备分布式监控功能,能应对复杂架构下的监控挑战,并配备了web页面,以直观的方式展示主机监控信息。

二、zabbix的架构组成

zabbix的架构主要由以下五个核心组件构成:

1、Server

zabbix server作为其核心组件,承担着存储所有配置信息、统计数据以及操作数据的重任。通过zabbix agent的定期汇报,server能够实时了解各监控对象的可用性、完整性及其他相关统计信息。
2、Web页面

Web页面作为Zabbix系统的重要组成部分,通常与Zabbix Server部署在同一物理设备上,但在某些特殊情境下,也可以进行分离配置。它主要职能是呈现直观的监控信息,从而便于运维人员对系统进行实时监控与管理。
3、数据库

Zabbix数据库是系统的核心组件之一,负责存储Zabbix的配置信息、统计数据以及其他关键内容。通过数据库,运维人员可以方便地查询、管理和分析这些数据,以实现对系统状态的深入了解和精准监控。
4、Proxy

Zabbix Proxy可以根据实际生产环境的需求进行选择性地使用。当Zabbix Proxy被启用时,它可以替代Zabbix Server进行数据采集,从而有效减轻Zabbix Server的负担。这种组件特别适用于架构庞大、Zabbix Server负载过重,或者企业设备跨机房、跨网段,以及Zabbix Server无法直接与Zabbix Agent通信的复杂场景。
5、Agent

Zabbix Agent通常被部署在被监控的目标设备上,它负责主动监控本地的资源和应用程序,并实时将收集到的监控数据发送给Zabbix Server。

三、Zabbix的监控范围

Zabbix能够监控多种系统平台,涵盖Linux和Windows等主流操作系统。它还支持通过SNMP和SSH协议对路由交换设备进行监控。当Zabbix部署在服务器上时,它可以实时监控服务器的硬件参数,如CPU、内存和网络性能,同时也能深入监控具体服务和应用程序的运行状况及性能。

此外,Zabbix提供了多种监控接口,包括IPMI接口用于硬件监控,Agent接口用于系统监控,以及JMX接口用于Java监控。对于网络设备,如路由器和交换机,无法直接安装agent,但Zabbix通过SNMP协议与之通信,实现网络设备的监控。另外,Zabbix还提供了UserParameter功能,使得用户可以自定义监控项,以满足特定的监控需求。

总的来说,Zabbix提供了全面的监控解决方案,能够满足各种复杂的监控场景。无论是硬件、系统、Java应用还是网络设备,Zabbix都能通过合适的接口和协议进行实时监控和报警。

四、Zabbix的常用术语

在深入学习Zabbix的过程中,掌握一些常用的术语是必不可少的。以下是一些Zabbix的关键术语,它们将帮助你更有效地理解和使用Zabbix:

通过熟悉这些术语,你将能够更流畅地与Zabbix系统进行交互,从而充分利用其强大的监控功能。
1、主机(host)

在Zabbix中,主机指的是需要被监控的设备,它可以通过IP地址或可解析的主机名来指定。
2、主机组(host group)

主机组在Zabbix中扮演着逻辑容器的角色,它汇聚了主机和模板。当需要为用户或用户组分配监控权限时,主机组便派上了用场。
3、监控项(item)

监控项是用于收集特定监控指标相关数据的单位,例如内存容量、CPU利用率或服务运行状态等。这些数据均来自被监控的对象,且每个监控项都通过一个独特的key进行标识。
4、触发器(trigger)

触发器是一种表达式,用于评估监控项的数据值是否处于预期的合理范围内。一旦监控项的值超出了触发器的设定界限,系统便会认为发生了故障;而当该值重新回到触发器的规定范围内时,系统则判定为正常状态。
5、事件(event)

事件是触发器触发所产生的特定情况,或者是Zabbix系统自动定义的,关于主机上线注册的自动事件。
6、动作(action)

动作是Zabbix系统针对触发器触发的特定事件所采取的具体应对措施。这些措施可以根据预先的配置进行,例如执行特定的脚本、向管理员的邮箱发送警告邮件等。
7、报警升级(escalation)

报警升级是指在触发器触发后,根据预设策略,采取更高级别的应对措施,如发送警报或执行远程命令等。

8、媒介(media)

媒介是用于发送通知(告警)的手段,如微信、邮件、钉钉等,这些手段可以根据实际需求进行灵活配置。
9、通知发送(notification dissemination)

通过预先设定的媒介,向用户传递关于特定事件的信息。
10、远程命令(remote command)

运维人员预先编写好的指令,当被监控主机触发特定事件时,可实现远程执行。
11、模板(template)

模板是一种预先定义好的被监控主机的预设条目集合,它涵盖了监控项、触发器、应用等关键信息。通过模板,运维人员可以快速且直接地将相关设置与特定主机相链接,简化了监控配置的过程。
12、应用(application)

应用是一组监控项的集合,用于全面监控特定应用程序的性能和状态。

13、web 场景(web scenario)

web 场景是用于检测 web 站点可用性的一组或多个 HTTP 请求,通过模拟用户行为来评估站点的响应速度和功能完整性。
14、前端(frontend)

在 Zabbix 的监控体系中,前端主要指的是其 web 接口部分。这一术语将在后续的内容中频繁出现,无论是企业技术交流还是日常使用,都是不可或缺的关键概念。

五、Zabbix 的工作流程

在 Zabbix 的监控系统中,其工作流程可概括为以下几个步骤:首先,Zabbix 客户端需要安装在被监控的设备上,负责定期收集各种数据,并将这些数据发送至 Zabbix 服务端;接着,Zabbix 服务端,通常安装在监控设备上,负责接收客户端发送的数据,并将其存储至数据库中;最后,Zabbix web 前端根据从数据库中获取的数据,在前端进行展示和绘图,以便用户能够直观地查看监控信息。

此外,Zabbix 的数据收集过程包括两种主要模式:主动模式和被动模式。
1、主动模式

在主动模式下,Zabbix 客户端会主动向 Zabbix 服务端发起请求,获取需要监控的项列表,并随后主动将监控项所需的数据提交给 Zabbix 服务端。
2、被动模式

在被动模式下,Zabbix 服务端会主动向 Zabbix 客户端发出请求,要求其提供特定监控项的数据。随后,Zabbix 客户端会响应服务端的请求,并提交所需的数据。这种模式下,数据流动的方向是由 Zabbix 服务端发起的。在这里插入图片描述

六、Zabbix 进程详解

在默认配置下,Zabbix 包含六个工作进程:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server 和 zabbix_gateway。值得注意的是,zabbix_java_gateway 是一个可选进程。这些进程各自承担着特定的任务,共同构成了Zabbix的监控体系。
1、zabbix_agentd

zabbix_agentd作为Zabbix的客户端守护进程,其核心职责是负责收集客户端的监控项数据。
2、zabbix_server

zabbix_server作为Zabbix的服务端守护进程,其核心任务是负责收集来自Zabbix客户端的监控数据。该进程监听在10051端口上,等待客户端数据的传入。
3、zabbix_proxy

zabbix_proxy作为Zabbix的代理程序,其功能与zabbix_server相似,扮演着一个数据中转站的角色。它负责收集数据,并将这些数据最终提交给zabbix_server进行进一步处理。
4、zabbix_get

zabbix_get是Zabbix的一个实用工具,它通常在zabbix_server或zabbix_proxy上运行。这个工具的主要功能是远程获取客户端的信息,常被用于故障排查和问题解决。
5、zabbix_sender

zabbix_sender是Zabbix的另一个重要工具,它通常在Zabbix的客户端上运行。这个工具特别适用于需要较长检测时间的场景,它能够主动将收集到的数据发送给Zabbix服务器。
6、zabbix_java_gateway

zabbix_java_gateway是Zabbix在20.0版本后新增的一项功能,专为支持JAVA设备而设计。它具备主动获取数据的能力,却无法进行被动数据收集。

七、zabbix的监控框架

在实际应用中,zabbix的监控框架会根据网络环境和监控规模的不同而有所差异。它主要包含三种架构:server_client架构、master_node_client架构以及server_proxy_client架构。这些架构各自适应不同的应用场景,确保zabbix能够灵活地满足各种监控需求。
1、server_client架构

这是zabbix最简单的架构形式,其中监控设备和被监控设备直接相连,实现zabbix_server与zabbix_client之间的直接数据交互。
2、zabbix_proxy_client架构

在zabbix的这种架构中,proxy充当了server和client之间的桥梁角色。它并不直接存储数据,而是暂时保留从zabbix_agent端传来的数据,随后再将其转发给server。这种设计特别适用于需要跨机房或跨网络连接的中型网络架构。

然而,在server_proxy_client架构中,一旦server设备发生故障,整个系统可能会陷入瘫痪状态,无法正常工作。
3、master_node_client架构

master_node_client架构是zabbix中最为复杂的架构模式。它通常被部署在跨机房、跨网络的大型网络环境中,监控设备数量众多。与server_proxy_client架构相比,其核心差异在于node与proxy的角色定位。

在master_node_client架构中,每个node都具备server端的某些功能,拥有独立的配置文件和数据库。这些node节点能够直接与下游的client进行连接,或者通过proxy代理后进行连接。此外,当master设备发生故障时,并不会影响到node节点的正常运作。
7.1 三种架构模式的架构图展示如下:在这里插入图片描述
7.2 各模块功能详解:

1、Zabbix_Server:作为Zabbix的核心组件,主要负责收集agent的存活情况和监控数据。所有关于Zabbix的配置、统计和操作数据都会通过server存入database。

2、Zabbix_Database:作为存储所有Zabbix配置信息和监控数据的数据库,其重要性不言而喻。

3、Zabbix_Web:这是Zabbix的web管理界面,管理员可以通过它来配置Zabbix并查看相关监控信息。通常,它与Zabbix_server运行在同一台主机上,但也可以独立部署在另一台服务器上。

4、Zabbix_Proxy:在分布式监控场景中,Zabbix_Proxy会代理Zabbix_server收集部分被监控主机的数据,并统一发送给server端。这种设置通常适用于需要监控超过500台主机的情况。

5、Zabbix_Agent:它需要部署在被监控的主机上,主要负责收集该主机的数据,并将其发送给server端或proxy端。每个组件都有其特定的配置文件和日志文件,其中包含的重要参数需要在这些文件中进行配置。接下来,我们将详细介绍这些组件的配置方法和相关参数。

相关文章:

Zabbix开源监控的全面详解!

一、zabbix的基本概述 zabbix,这款企业级监控软件,能全方位监控各类网络参数,确保企业服务架构的安全稳定运行。它提供了灵活多样的告警机制,帮助运维人员迅速发现并解决问题。此外,zabbix还具备分布式监控功能&#…...

[杂学笔记]浏览器多进程与多线程架构、wstring类型、哈希表、红黑树与哈希表的对比、C++标准库Random类

目录 1. 浏览器多进程与多线程架构 2. wstring类型 3. 哈希表 4. 红黑树与哈希表的对比 5. C标准库Random类 1. 浏览器多进程与多线程架构 现代的浏览器(如Chrome)采用的是多进程与多线程结合的架构设计的。 多进程机制:Browser主进程用…...

AI+MCP 自动发布小红书笔记

分享一个超赞的效率工具—小红书MCP发布器(xhs-mcp-server),让你轻松实现AI内容一键发布到小红书! Cursor配置 在 Cursor 的 Cursor Settings 中找到 MCP,点击右侧上方的 Add new global MCP server 按钮&#xff0c…...

02_redis分布式锁原理

文章目录 一、redis如何实现分布式锁1. 使用 SETNX 命令2. 设置过期时间3. 释放锁4. 注意事项5. 示例代码 二、Java中分布式锁如何设置超时时间1. Redis分布式锁2. 基于Zookeeper的分布式锁3. 基于数据库的分布式锁注意事项 一、redis如何实现分布式锁 Redis 实现分布式锁是一…...

07SpringMVC底层形象解析

目录 一、基于餐厅比喻的代码示例 ,帮助你理解各组件间的协作关系 1. DispatcherServlet 配置(服务员) 2. HandlerMapping 配置(菜单索引) 3. Controller 实现(厨师) 4. Service 层&#x…...

jvm调优以及常见jvm问题解决等

1、通过top命令查询异常的进程 top 2、通过 使用top -Hp<PID>命令查看该进程内各个线程的CPU占用情况&#xff1a; top -Hp PID 记录下占用CPU较高的线程ID。 3、转换线程ID为十六进制 使用printf命令将线程ID 19664 转换为十六进制&#xff0c;结果为 0x4cd0&#xff1…...

深入理解万维网:URL、HTTP与HTML

深入理解万维网&#xff1a;URL、HTTP与HTML 统一资源定位符&#xff08;URL&#xff09; 1.1 什么是URL&#xff1f; 统一资源定位符URL&#xff08;Uniform Resource Locator&#xff09;是万维网上用于标识和定位各种文档的标准方法&#xff0c;它使每个资源在互联网范围内…...

RPC 协议详解、案例分析与应用场景

一、RPC 协议原理详解 RPC 协议的核心目标是让开发者像调用本地函数一样调用远程服务&#xff0c;其实现过程涉及多个关键组件与流程。 &#xff08;一&#xff09;核心组件 客户端&#xff08;Client&#xff09;&#xff1a;发起远程过程调用的一方&#xff0c;它并不关心调…...

唯创安全优化纸业车间安全环境:门口盲区预警报警器的应用与成效

一、客户现场 客户主要从事于卷烟纸、成型纸、烟草制造业用纸及其他特定用途纸类制品的加工、生产与销售。在其厂区内&#xff0c;叉车频繁作业&#xff0c;车间环境复杂。经实地查看&#xff0c;发现几大安全隐患&#xff1a; 门口拐角隐患&#xff1a;门口拐角处因卷帘门阻…...

解决dedecms织梦系统{dede:arclist keyword=‘动态获取关键词‘}只生效一次

当我们通过{dede:arclist keyword关键词}来调用文章列表时&#xff0c;你会发现只在其中一个栏目里生效&#xff0c;在其他栏目&#xff0c;仍然显示上一次的关键词。 原因是由于arclist的缓存导致的。 只需修改/include/taglib/arclist.lib.php文件&#xff0c;大概在384行&a…...

高级学习算法(神经网络 决策树)

目录 神经网络 (Neural networks)神经网络的介绍需求预测 (Demand Prediction)例子&#xff1a;图像识别人脸识别&#xff08;Face recognition&#xff09;汽车分类&#xff08;Car classification&#xff09; 神经网络中的层更复杂的神经网络推理&#xff1a;前向传播 (Forw…...

labview硬件部分——温度测量

硬件连接&#xff1a; &#xff08;1&#xff09;温度测量的电压采集&#xff1a;&#xff08;电压的单位为V&#xff09; 温度采集程序图&#xff1a; 运行结果&#xff1a; 我们可以在显示控件中&#xff0c;看到温度采集的电压值 &#xff08;2&#xff09;温度采集的电压…...

labview——控制继电器模块

高电平——5V 超过一定的电压值&#xff0c;LED打开、继电器打开。&#xff08;结合模拟电压采集与LED控制&#xff09; 控制继电器是数字信号控制。程序与LED控制一致。 &#xff08;1&#xff09;我们先来看看继电器的控制 使用布尔按键&#xff0c;按键按下时&#xff0…...

ArcGIS Pro 3.4 二次开发 - 核心主机

环境&#xff1a;ArcGIS Pro SDK 3.4 .NET 8 文章目录 核心主机1 核心主机1.1 初始化核心主机 核心主机 1 核心主机 1.1 初始化核心主机 using ArcGIS.Core.Data; //必须引用 ArcGIS.CoreHost.dll using ArcGIS.Core.Hosting; class Program { //应用程序入口点必须包含 [S…...

IntelliJ IDEA 接入 DeepSeek帮助你更好编码

适配 IDEA 版本为了更好的使用插件&#xff0c;这里推荐使用一个代理插件——CodeGPT&#xff0c;CodeGPT是一个AI驱动的代码助手&#xff0c;旨在帮助开发者进行各种编程活动&#xff0c;它是GitHub Copilot、AI Assistant、Codiumate和其他JetBrains插件的强大替代品。安装之…...

如何使用Java生成pdf报告

文章目录 一、环境准备与Maven依赖说明二、核心代码解析1. 基础文档创建2. 中文字体处理3. 复杂表格创建4. 图片插入 三、完整代码示例四、最终效果 这篇主要说一下如何使用Java生成pdf&#xff0c;包括标题&#xff0c;文字&#xff0c;图片&#xff0c;表格的插入和调整等相关…...

Memory模块是agent的一个关键组件

Memory 2.6.1 简介 在Agent系统中&#xff0c;Memory模块是一个关键的组件&#xff0c;其主要功能是存储和检索信息&#xff0c;以支持agent的学习和决策过程。该模块模拟人类记忆的某些特征&#xff0c;能够动态地保存和更新信息&#xff0c;使agent能够利用过去的经验进行推…...

初级社会工作者考试难点总结

初级社会工作者考试难点总结 初级社会工作者&#xff08;助理社会工作师&#xff09;考试是进入社会工作行业的入门级资格认证&#xff0c;考试内容涵盖社会工作理论、实务技能及相关法规政策。虽然考试难度相对适中&#xff0c;但部分知识点和题型仍让考生感到棘手。本文总结…...

mapbox进阶,手写放大镜功能

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.1 ☘️mapboxgl.Map style属性二、🍀手写放大镜功能1. ☘️实现思路2. ☘️…...

EasyRTC嵌入式音视频通信SDK一对一音视频通信,打造远程办公/医疗/教育等场景解决方案

一、方案概述​ 数字技术发展促使在线教育、远程医疗等行业对一对一实时音视频通信需求激增。传统方式存在低延迟、高画质及多场景适配不足等问题&#xff0c;而EasyRTC凭借音视频处理、高效信令交互与智能网络适配技术&#xff0c;打造稳定低延迟通信&#xff0c;满足基础通信…...

微信小程序中,解决lottie动画在真机不显示的问题

api部分 export function getRainInfo() {return onlineRequest({url: /ball/recruit/getRainInfo,method: get}); }data存储json数据 data&#xff1a;{rainJson:{} }onLoad方法获取json数据 onLoad(options) {let that thisgetRainInfo().then((res)>{that.setData({r…...

基于Flink的数据中台管理平台

基于Flink做的数据中台工程项目。数据从source到clickhouse全流程的验证。集成元数据管、数据资产、数据发现功能&#xff0c;自主管理元数据变更&#xff0c;集成元数据版本管理。 同时&#xff0c;对整个大数据集群使用到的组件或者是工具进行管理。比如nacos、kafka、zookee…...

Flink-Yarn运行模式

Yarn的部署过程 Yarn上部署的过程是&#xff1a;客户端把Flink应用提交给Yarn的ResourceManager,Yarn的ResourceManager会向Yarn的NodeManager申请容器&#xff0c;在这些容器上&#xff0c;Flink会部署JobManager和TaskManager的实例&#xff0c;从而启动集群&#xff0c;Flin…...

Java---斐波那契那数列

一、斐波那契数列的定义与起源 1. 数学定义 斐波那契数列&#xff08;Fibonacci Sequence&#xff09;又称黄金分割数列&#xff0c;其定义为&#xff1a; 初始项&#xff1a; F(0)0F(1)1 递推公式&#xff1a; 当 n≥2 时&#xff0c;F(n)F(n−1)F(n−2) 前 10 项数列&…...

通过AIoTedge或ThingsKit物联网平台内置的Node-RED读取OPC-UA

《通过AIoTedge或ThingsKit物联网平台内置的Node-RED读取OPC-UA》 一、引言 随着工业物联网&#xff08;IIoT&#xff09;的快速发展&#xff0c;设备之间的互联互通变得至关重要。OPC-UA&#xff08;Open Platform Communications Unified Architecture&#xff09;作为一种…...

《大模型开源与闭源的深度博弈:科技新生态下的权衡与抉择》

开源智能体大模型的核心魅力&#xff0c;在于它构建起了一个全球开发者共同参与的超级协作网络。想象一下&#xff0c;来自世界各个角落的开发者、研究者&#xff0c;无论身处繁华都市还是偏远小镇&#xff0c;只要心怀对技术的热爱与追求&#xff0c;就能加入到这场技术狂欢中…...

genicamtl_lmi_gocator_objectmodel3d

目录 一、在halcon中找不到genicamtl_lmi_gocator_objectmodel3d例程二、在halcon中运行genicamtl_lmi_gocator_objectmodel3d&#xff0c;该如何配置三、代码分段详解&#xff08;一&#xff09;传感器连接四、代码分段详解&#xff08;二&#xff09;采集图像并显示五、代码分…...

Node.js 24发布:性能与安全双提升

在科技的迅速发展中&#xff0c;Node.js作为一个备受青睐的开源跨平台Java运行环境&#xff0c;近日迎来了其24.0版本的正式发布。此次更新不仅承诺提升性能和安全性&#xff0c;还为开发者提供了更为顺畅的开发体验&#xff0c;值得我们深入探讨。 Node.js 24.0的最大亮点之一…...

是德科技 | 单通道448G未来之路:PAM4? PAM6? PAM8?

内容来源&#xff1a;是德科技 随着数据中心规模的不断扩大以及AI大模型等技术的兴起&#xff0c;市场对高速、大容量数据传输的需求日益增长。例如&#xff0c;AI训练集群中GPU等设备之间的互联需要更高的传输速率来提升效率。在技术升级方面&#xff0c;SerDes技术的不断进步…...

Dify智能体开发实践

1.聊天助⼿&#xff1a;创建技术⽀持问答机器⼈&#xff0c;通过提示词约束回答范围并引导追问澄清。 1.提示词 &#xff08;1&#xff09;技术支持机器人提示词 你是一位专业的技术支持机器人&#xff0c;专门为公司的各类技术产品和服务提供支持。你的回答范围严格限制在以下…...

网络安全之APP渗透测试总结

1、脱壳 360免费版加固&#xff0c;frida-dexdump、blackdex都可以脱掉。这里就不演示了 GitHub - hluwa/frida-dexdump: A frida tool to dump dex in memory to support security engineers analyzing malware. 2、密码泄露 经过对app登录界面&#xff0c;有对密码强度进行…...

笔记:NAT

一、NAT 的基本概念 NAT&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09; 是一种在 IP 网络中重新映射 IP 地址的技术&#xff0c;主要用于解决 IPv4 地址短缺问题&#xff0c;同时提供一定的网络安全防护作用。 功能&#xff1a; 将内部网络&am…...

民锋视角下的多因子金融分析模型实践

在当前金融市场环境中&#xff0c;数据粒度与因子建模逐渐成为提升交易系统稳定性的重要方式。民锋长期专注于模型优化与策略深度挖掘&#xff0c;提出了一套适用于中短周期的数据判断体系&#xff0c;核心在于“多因子融合动态调权”。 具体而言&#xff0c;民锋的分析框架常…...

ThinkPHP 根据路由文件获取路由列表

定义一个路由变量 比如我们要获取admin的路由 $routeFile "admin.php"; 清除路由 调用 Route::clear() 方法&#xff0c;清除当前已定义的所有路由。 Route::clear();设置路由懒加载 调用 Route::lazy(false) 方法&#xff0c;禁用路由的懒加载功能,选择立即加…...

算法打卡第三天

10.长度最小的子数组 &#xff08;力扣209题&#xff09; 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度**。**如果不存在符合条件的子…...

04_spring容器管理单例多例

文章目录 1. 单例&#xff08;Singleton&#xff09;2. 多例&#xff08;Prototype&#xff09;3. 使用场景4. 注意事项 在Spring框架中&#xff0c;Spring容器负责创建、配置和管理应用程序中的bean。关于单例&#xff08;Singleton&#xff09;和多例&#xff08;Prototype&a…...

算法C++最大公约数

原理 代码实现 #include <stdio.h>// 递归版本 int gcd_recursive(int a, int b) {if (b 0) return a; // 终止条件&#xff1a;余数为0时&#xff0c;除数即为GCDreturn gcd_recursive(b, a % b); // 递归调用&#xff0c;更新为(b, a%b) }// 迭代版本 int gcd_iterat…...

在 Ubuntu 下通过 C APP程序实现串口发送数据并接收返回数据

一、前言 使用 C 应用进行串口调用需要手动配置串口的各项参数&#xff0c;并且 Ubuntu 下的串口是通过读写文件实现的&#xff0c;所以还需要设置权限。 二、源码分析 serial.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <…...

ubuntu24.04+RTX5090D 显卡驱动安装

初步准备 Ubuntu默认内核太旧&#xff0c;用mainline工具安装新版&#xff1a; sudo add-apt-repository ppa:cappelikan/ppa sudo apt update && sudo apt full-upgrade sudo apt install -y mainline mainline list # 查看可用内核列表 mainline install 6.13 # 安装…...

ubuntu22.04上运行opentcs6.4版本

1、下载github上的源码&#xff1a; openTCS - Downloads 2、安装java21 我的版本是&#xff1a;java --version java 21.0.6 2025-01-21 LTS Java(TM) SE Runtime Environment (build 21.0.68-LTS-188) Java HotSpot(TM) 64-Bit Server VM (build 21.0.68-LTS-188, mixed mo…...

labelme进行关键点标注并转换为yolo格式

目录 1、labelme安装和打开2、边界框和关键点标注3、将lamelme的json格式转成yolo可以使用的txt格式4、将数据和标签按照9比1分为训练集和测试集 1、labelme安装和打开 在python3.9及以上环境中安装labelme&#xff0c;labelme要用到pyqt&#xff0c;所以在使用labelme之前要安…...

每日算法-250521

每日算法学习 大家好&#xff01;这是我今天的算法练习记录&#xff0c;分享四道 LeetCode 题目的解题思路和代码。希望能对大家有所帮助&#xff01; 219. 存在重复元素 II 题目 思路 哈希表 利用哈希表来存储数组中元素及其最近出现的索引。 解题过程 当我们遍历数组 num…...

正大模型视角下的高频交易因子构建策略研究

正大模型视角下的高频交易因子构建策略研究 在金融衍生品交易体系中&#xff0c;数据主导型模型逐渐成为核心竞争力。以正大为代表的量化团队&#xff0c;通过大量历史数据研究&#xff0c;构建出一套基于高频因子的模型框架&#xff0c;从成交节奏、盘口行为、价格波动等维度动…...

Babylon.js学习之路《八、动画基础:关键帧动画与缓动效果》

文章目录 1. 引言&#xff1a;动画在3D场景中的核心作用2. 关键帧动画基础2.1 键帧动画原理2.2 创建简单关键帧动画 3. 缓动函数&#xff08;Easing Functions&#xff09;3.1 缓动函数的作用3.2 应用缓动函数 4. 复杂动画&#xff1a;多属性联动与序列控制4.1 同时控制位置、旋…...

小满未满,是成长的序章

节气小满&#xff0c;昭示着奋斗正当时&#xff0c;Codigger 怀揣热忱&#xff0c;在代码的天地里披荆斩棘&#xff0c;向着圆满目标大步迈进 。...

JavaWeb 开发流程

项目建立 SpringBoot框架构建 Spring Boot 是基于 Spring 框架的开源 Java 基础框架&#xff0c;用于创建独立、生产级的基于 Spring Framework 的应用程序。 我们可以使用IDEA建立SpringBoot框架。 语言选择Java&#xff0c;类型选择Maven&#xff0c;JDK和Java要保持一致&…...

Cmake 使用教程

介绍 CMake 是一个开源、跨平台的构建系统&#xff0c;主要用于软件的构建、测试和打包。CMake 使用平台无关的配置文件 CMakeLists.txt 来控制软件的编译过程&#xff0c;并生成适用于不同编译器环境的项目文件。例如&#xff0c;它可以生成 Unix 系统的 Makefile 、 Win…...

CLIP、ViLT 与 LLaVA:多模态模型是如何看图说话的?

一、前言&#xff1a;我们已经讲了 MLLM 能力&#xff0c;但它到底是怎么实现“看图说话”的&#xff1f; 在之前文章中&#xff0c;我们已经提到了MLLM可以看图说话以及文生图等能力&#xff0c;ViT统一图文多模态架构。那模型是如何处理图文信息以及不同处理所带来的能力是怎…...

基于Springboot + vue3实现的流动摊位管理系统

项目描述 本系统包含管理员、用户、商家三个角色。 管理员角色&#xff1a; 用户管理&#xff1a;管理系统中所有用户的信息&#xff0c;包括添加、删除和修改用户。 配置管理&#xff1a;管理系统配置参数&#xff0c;如上传图片的路径等。 权限管理&#xff1a;分配和管理…...

我的软考经历

说明&#xff1a;本文分享博主软考经验&#xff0c;及软考证书在找工作时的作用。 软考 软考&#xff0c;全称&#xff1a;中国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;报名/考试/查询网址为&#xff0c;中国计算机技术职业资格网 考试分…...