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

zabbix常见架构及组件

Zabbix作为一个开源的、功能全面的监控解决方案,广泛应用于各类组织中,以实现对网络、服务器、云服务及应用程序性能的全方位监控。部署架构灵活性高,可支持从小型单一服务器环境到大型分布式系统的多种场景。基本架构通常包括监控端(Zabbix Server)、被监控端(Zabbix Agent)、前端展示界面(Zabbix Web)以及可选的中间组件如代理服务器(Zabbix Proxy)等。这样的设计不仅便于扩展,也确保了数据收集与处理的高效性。

1. 常见部署架构

Zabbix架构方式主要涉及其核心组件的部署策略,可以根据不同需求和规模采用以下几种架构方式:

1.1 单节点部署

这种部署方式简单易用,是最基本和简单的Zabbix部署方式,不需要配置复杂和高可用和集群架构,Server、Database、Web前端所有服务全部安装在同一台服务器上。比较适合学习或用于监控中小规模的环境。
在这里插入图片描述

1.2 分布式部署

分布式部署就是将Zabbix的Server、Database、等服务进行拆分部署到不同的计算机上,这些计算机通过网络连接并相互通信以协同工作。

  • 集中式Server架构:将Zabbix数据库和服务端进行分离,而被监控的远程主机安装Zabbix Agent,数据直接上报给中心Server。
  • 带有Proxy的分布式架构:在网络的各个区域部署Zabbix Proxy,代理收集该区域内的监控数据,然后统一上报给中心Zabbix Server,减轻Server压力,提高效率,适合大规模监控网络。

可扩展:分布式架构允许将监控负载分布到多个节点上,从而提高系统的扩展性。当监控需求增加时,可以简单地添加新节点来增加系统容量、而无需重构整个系统。

性能优化:分布式架构可以利用多个节点的资源来优化系统性能。可以通过将监控项分布到不同的节点上.从而减轻单个节点的负载.提高整体系统的性能。

在这里插入图片描述

1.3 分布式高可用部署

分布式高可用部署在原有的分布式的基础上,补充了一些高可用技术的应用,例如服务器和数据库的主-备模式,共享存储或数据库复制,当主服务故障时,备用服务接管,继续提供服务;负载均衡器分发Web访问请求,提高前端访问的稳定性和扩展性等。适应于大规模的服务场景。

在这里插入图片描述

2. 常见服务组件介绍

2.1 zabbix server组件介绍

Zabbix Server是Zabbix监控系统的核心组件,负责协调和处理所有监控相关的操作。以下是关于Zabbix Server组件的详细介绍:

  • 数据收集与处理:Zabbix Server接收来自Zabbix Agents、proxies或其他监控方式(SNMP、IPMI、JMX等)上报的监控数据。它根据预定义的监控项(Items)处理这些数据,执行必要的转换和计算,然后存储到数据库中。
  • 事件管理与告警触发:Server分析处理后的数据,根据阈值和条件判断是否触发事件(Events)。一旦满足触发条件,Server会生成告警,并根据配置好的动作(Actions)发送通知,如电子邮件、短信或执行自定义脚本。
  • 配置管理:Server存储并管理所有监控配置,包括主机、模板、监控项、触发器、图形、屏幕、用户、用户组、媒体类型等。管理员可通过Web界面或API对这些配置进行修改。
  • 自动发现:支持网络设备和服务的自动发现功能,能够自动添加新设备到监控列表中,减少手动配置工作量。
  • 性能与趋势分析:收集历史数据,支持创建各种图表和报告,帮助分析系统性能随时间的变化趋势。
  • 远程命令执行:能够在被监控主机上执行预定义的远程命令,用于问题诊断或自动化修复操作。
  • 用户认证与授权:管理用户账户,分配角色和权限,确保监控系统的安全性。
  • 与Zabbix Proxy协同工作:在分布式监控环境中,Server负责接收来自Proxy的数据,进一步处理并存储,实现大规模监控网络的高效管理。

综上所述,Zabbix Server是监控体系的中枢,承担着数据处理、逻辑判断、报警触发与通知、以及系统配置与管理等关键职责,是确保监控系统正常运作的基石。

2.2 zabbix proxy组件介绍

Zabbix Proxy是Zabbix监控系统中的重要组成部分,主要用于分布式监控部署,旨在减轻Zabbix Server的负担并提高监控效率。以下是Zabbix Proxy组件的详细介绍:

  • 数据收集: Proxy作为中间层,部署在被监控资源附近,直接从属下的Zabbix Agents或者其他监控源收集数据,减少了数据传输的距离和Server的处理压力。
  • 数据缓存与转发: Proxy在本地缓存收集到的数据,然后周期性或按需将数据转发给Zabbix Server。这一机制增强了系统的健壮性,即便与Server的连接暂时中断,也不会丢失监控数据。
  • 负载均衡: 多个Proxy可以部署在网络的不同部分,实现监控流量的分布式处理,为大型或地理分布广泛的IT基础设施提供有效的负载均衡方案。
  • 配置同步: Proxy可以从Zabbix Server接收配置更新,包括监控项、触发器等,自动应用到所管理的主机上,保持监控策略的一致性。
  • 降低带宽需求: 通过本地收集和预处理数据,Proxy减少了送往Central Server的数据量,这对于带宽有限的远程站点尤为重要。
  • 简化管理: 对于大型监控环境,Proxy可以作为一个管理单元,使得监控系统的扩展和维护更加便捷。
  • 高可用性支持: Proxy自身也可配置为主备模式或使用集群,确保即使Proxy节点故障也不影响数据收集,进一步增强整个监控系统的可靠性。

综上所述,Zabbix Proxy不仅增强了监控系统的可扩展性和健壮性,还通过局部处理和优化数据流,提升了监控效率,特别适合需要监控大量分散设备或网络环境的场景。

2.3 zabbix agent组件介绍

Zabbix Agent是部署在目标监控主机上的轻量级软件组件,它是Zabbix监控系统与被监控系统之间的桥梁。以下是Zabbix Agent的详细介绍:

  • 数据采集: Agent负责在主机本地收集各种系统指标和应用程序数据,如CPU负载、内存使用率、磁盘空间、网络接口流量等。它通过预配置的监控项(Items)来定义具体收集哪些数据。
  • Zabbix Agent支持两种工作模式:
  • 被动模式:Agent等待Zabbix Server或Proxy请求数据,接收到请求后返回相应监控项的值。
  • 主动模式:Agent按照配置定期将数据主动发送到Zabbix Server或Proxy,这种方式减少了Server端的连接负担,适用于防火墙限制或大量监控项的场景。
  • 安全通讯: 支持TLS/SSL加密通信,保证数据传输的安全性,避免敏感信息在传输过程中被窃取。

  • 灵活配置: Agent配置文件允许自定义监控项、允许连接的Server/Proxy地址、端口以及启用的协议等,提供了高度的灵活性和定制性。

  • 远程命令执行: Agent还可以根据Server的指令执行预定义的脚本或命令,用于远程管理和问题诊断。

  • 多重实例: 在同一台主机上可运行多个Agent实例,每个实例可以配置不同的监听地址、端口和参数,适用于需要对同一主机的不同方面进行隔离监控的场景。

  • 广泛兼容性: Zabbix Agent支持多种操作系统平台,包括但不限于Linux、Windows、FreeBSD、macOS等,确保广泛的系统兼容性。

综上所述,Zabbix Agent是监控系统数据采集的基石,通过其丰富的功能和配置选项,实现了对目标系统的细致、高效的监控。

2.4 zabbix agent2组件介绍

Zabbix Agent2是Zabbix监控系统中新一代的代理组件,相比原版Zabbix Agent,它在性能、安全性和可扩展性方面进行了显著的优化和增强。以下是Zabbix Agent2的详细介绍:

  • 性能提升: Agent2经过重新设计,拥有更高效的内部处理机制,能够以更低的系统资源占用提供更快的数据收集速度,尤其在处理大量监控项时表现更为出色。
  • 原生加密支持: Agent2原生支持安全的通信协议(如TLS 1.3),确保所有数据传输均加密进行,提高了安全性,同时简化了配置过程。
  • 模块化架构: 引入模块化设计,允许动态加载和配置不同模块来扩展功能,例如网络设备监控、日志监控等,无需重启Agent即可生效,增加了灵活性和易用性。
  • 主动响应: Agent2支持主动响应功能,能够直接响应Server的特定请求执行操作或提供数据,而不仅仅是被动地等待查询或推送数据,这为自动化处理提供了便利。
  • 微服务友好: 针对容器化和微服务环境做了优化,能够更好地适应现代IT基础架构,支持Docker、Kubernetes等环境的监控需求。
  • 增强的API支持: Agent2提供了更丰富的API接口,便于集成和自动化配置管理,可以通过API动态调整配置、查询状态等,提高了运维效率。
  • 更细粒度的访问控制: 引入了更精细的权限控制机制,允许对不同监控项或模块设置独立的访问权限,增强了安全性控制。

综上所述,Zabbix Agent2作为监控系统的关键组件,在继承原有功能的基础上,通过现代化的技术改进,为用户提供了一个更强大、更安全、更灵活的监控代理解决方案。

2.5 zabbix get组件介绍

Zabbix_get是Zabbix监控系统中的一个命令行工具,主要用于手动从Zabbix Agent(包括Agent和Agent2)或Zabbix LLD(Low-Level Discovery)宏中检索数据项的值。它是一个轻量级的交互方式,让管理员能够在不依赖Zabbix前端界面的情况下,快速检查监控目标的特定状态或验证配置是否正确。以下是关于Zabbix_get的几个关键点:

  • 数据检索: 允许用户指定主机名、键值(Item key)等参数,即时获取监控目标的监控数据,适用于故障排查和配置验证。
  • 命令行操作: 作为一个命令行工具,Zabbix_get可以在任何支持Zabbix Agent通信协议的操作系统上运行,提供了跨平台的便利性。
  • 无需持久连接: Zabbix_get执行时建立临时连接到Agent,获取数据后即断开连接,不会持续占用资源。
  • 参数多样化: 支持多种参数配置,包括主机名、端口、密钥、超时时间等,以适应不同的查询需求和安全设置。
  • LLD支持: 能够查询Zabbix的自动发现规则所定义的动态监控项,帮助管理员理解自动发现的结果。
  • 调试辅助: 在设置或调试Zabbix监控项配置时非常有用,可以直接验证监控项是否能够正常返回预期数据。

综上所述,Zabbix_get是Zabbix监控系统中一个强大的诊断工具,特别适合系统管理员在日常维护和故障排查时快速获取监控对象的信息。

2.6 zabbix sender组件介绍

Zabbix Sender是一个轻量级的命令行工具,用于向Zabbix服务器或代理发送被动检查的监控数据。它常用于以下场景:

  • 主动模式数据提交: 当监控目标不支持或不适合安装Zabbix Agent时,可以在目标系统上执行Sender来推送数据到Zabbix Server/Proxy,实现主动监控。
  • 批量更新指标: 对于一次性或周期性的脚本执行结果,使用Sender可以直接将数据发送至Zabbix,便于跟踪和报警。
  • 离线数据上报: 对于间歇性连接网络的设备,可以在连接时使用Sender批量上报离线期间的监控数据。
  • 自定义监控: 开发人员或系统管理员可利用Sender轻松实现自定义监控项的数据上报,增加监控系统的灵活性。

Zabbix Sender工作时需要指定目的Zabbix Server或Proxy的地址、监控项的key以及对应的数值(或其他数据类型),并通过-Z参数指定发送模式(主动或被动)。由于其简单易用且无需长期运行,Sender成为了处理特殊监控需求的得力工具。

2.7 Java Gateway组件介绍

Java Gateway是Zabbix监控系统中专为监控Java应用程序而设计的一个组件。它允许Zabbix直接与Java Management Extensions (JMX)接口交互,收集Java虚拟机(JVM)及相关应用程序的性能和状态信息,而无需在Java应用服务器上安装Zabbix Agent。下面是Java Gateway的一些核心特点和功能介绍:

  • JMX监控: Java Gateway充当Zabbix与JMX之间的桥梁,可以直接从Java应用收集监控数据,包括内存使用、线程状态、垃圾回收统计等。
  • 非侵入式监控: 无需修改Java应用代码或配置,即可实现对Java应用的详细监控,保持应用的原有架构和运行环境不变。
  • 高性能与低延迟: 设计用于高负载环境,Java Gateway能够高效地处理大量并发连接,确保监控数据的实时性和准确性。
  • 安全通讯: 支持SSL/TLS加密通信,保证数据在传输过程中的安全性。
  • 配置灵活性: 通过Zabbix前端配置界面即可轻松管理Java Gateway的连接设置和监控项,便于维护和扩展监控范围。
  • 资源优化: 通过缓存和批处理技术减少对JVM的查询负担,避免因监控活动影响应用性能。

Java Gateway是加强Zabbix对Java环境监控能力的关键组件,特别适合那些有着复杂Java应用程序栈的企业,以实现全面且深入的监控覆盖。

2.8 IPMI 组件介绍

IPMI(Intelligent Platform Management Interface,智能平台管理接口)是一种标准的硬件管理接口规格,它使得管理员能够远程监控和管理服务器、工作站和其他设备的物理健康状况与控制某些功能。

Zabbix IPMI相关的功能主要体现在其对IPMI协议的支持上,允许Zabbix通过IPMI接口来监控和管理服务器硬件的状态。这包括但不限于以下方面:

  • 硬件健康监控: Zabbix能够通过IPMI采集服务器的硬件健康指标,如温度、电压、风扇速度等,这些信息可以通过预配置的IPMI物品(Items)在Zabbix前端展示和报警。
  • 远程控制: 利用IPMI,Zabbix能够实现远程开关机、重启等操作,这对于远程管理数据中心的物理服务器尤为实用。
  • 传感器阈值管理: 用户可以在Zabbix中设置基于IPMI传感器数据的警告阈值,一旦硬件状态超出这些阈值,系统将自动触发警报通知。
  • 事件日志集成: Zabbix可以整合IPMI事件日志,记录如硬件故障、状态变更等信息,帮助管理员进行故障排查和系统维护。

要实现Zabbix与IPMI的集成,通常需要在Zabbix中配置适当的监控项(Items)来查询IPMI数据,并确保Zabbix服务器能够访问到IPMI接口(通常是通过网络,使用IPMI的LAN通道)。此外,考虑到安全实践,应适当配置IPMI的访问控制,比如使用加密通信和强身份验证。

综上所述,Zabbix对IPMI的支持增强了其在数据中心物理基础设施监控方面的能力,为运维团队提供了全面的硬件健康管理解决方案。

2.9 SNMP组件介绍

SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广泛使用的Internet标准协议,设计用于在网络上监视和管理设备,如服务器、路由器、交换机以及其他支持SNMP的网络设备。

在Zabbix等网络监控系统中,SNMP是一项基础且强大的功能,它允许系统自动发现设备、配置监控项、收集性能数据,并基于这些数据设置报警规则,从而实现全面的网络基础设施管理。

2.10 Web Service组件介绍

Zabbix Web Service组件是Zabbix系统中的核心部分,它主要负责提供用户界面访问、API接口以及与数据库交互等功能。以下是Zabbix Web Service的关键特性和作用介绍:

  • 用户界面(UI): Zabbix前端界面允许用户通过网页浏览器访问和管理Zabbix监控系统。用户可以查看监控数据、配置报警、管理主机和模板、分析报告等,为管理员提供直观的操作环境。
  • API接口: Zabbix提供强大的RESTful API,支持XML和JSON数据格式,使得外部系统或脚本能够自动化执行如添加主机、更新配置、获取监控数据等多种操作。API的灵活性极大地扩展了Zabbix的应用场景和集成能力。
  • 数据处理与存储: Web服务负责接收来自Zabbix代理和SNMP、IPMI等协议的数据,处理后存储至数据库中。它确保了监控数据的准确性和高效存储,支持长期的历史数据分析。
  • 报警处理: Zabbix Web Service根据配置的触发器规则,处理并分发报警信息,包括通过邮件、短信或其他方式通知给预设的接收人。
  • 权限管理: 支持细粒度的用户权限控制,管理员可以为不同用户或用户组分配访问权限,确保数据安全和操作合规性。
  • 配置管理: 用户可以通过Web界面轻松管理监控配置,如添加新主机、配置监控项、创建和应用模板等,简化日常运维工作。
  • 报表与可视化: 内置报表生成功能和图形展示工具,帮助用户生成历史数据报表、监控概览图等,为决策提供数据支持。

综上所述,Zabbix Web Service组件不仅是Zabbix系统的操作入口,也是实现高效监控管理、自动化集成和数据分析的核心平台。

3. 常用名词理解

  • 主机(Host):被监控的设备或服务。可以是服务器、路由器、交换机等网络设备,也可以是运行着各种服务的应用程序。

  • 监控项(Item):监控主机上的特定参数或指标,例如CPU使用率、内存使用量、网络流量等。每个主机上的每个监控项都有一个唯一的键(key)用于标识。

  • 触发器(Trigger):用于定义监控数据的阈值和条件,当监控数据达到或超过这些条件时,触发器会产生告警。

  • 图形(Graph):用于可视化展示监控数据的图表,可以展示单个主机的多个项目,或者多个主机的同一个项目等。

  • 模板(Template):用于定义一组通用的监控项、触发器和图形,可以将模板应用到多个主机上,简化配置。

  • 动作(Action):在触发器发生时执行的操作,例如发送电子邮件、短信或调用脚本等。

  • 代理(Agent):安装在监控主机上的软件,用于收集本地监控数据并发送给Zabbix服务器。

  • 自动发现(Discovery):自动识别和添加新主机以及其关联的项目,减少手动配置的工作量。

  • 前端(Frontend):Zabbix Web 界面,用于配置监控、查看监控数据、设置报警等操作。

  • Zabbix server(Server):负责接收和处理监控数据、生成报表、触发告警等核心功能的服务器端组件。

  • Zabbix 数据库(Database):用于存储监控数据、配置信息、历史数据等的数据库。当然,以下是更多的Zabbix常用名词及其解释:

  • 用户宏(User Macro):用于在 Zabbix中定义可重用的变量,以简化配置管理。用户宏可以在监控项、触发器、图形等配置中使用,使得配置更加灵活和可维护。

  • 表达式(Expression):用于定义触发器的条件,可以使用监控项的值、用户宏、函数等进行计算和比较,从而确定触发器是否应该被触发。

  • 主机组(Host Group):将相似的主机进行分组管理的机制。主机组可以帮助用户更好地组织和管理大量的监控主机,简化配置和权限管理。

  • 代理(Proxy):Zabbix proxy是一种独立的程序,安装在需要监控的主机上,用于收集本地监控数据并将其发送到Zabbix server。代理可以帮助减轻Zabbix server 的负载,并且可以通过局部网络访问本地资源,提高监控的效率和安全性。proxy还可以在网络不稳定或不可靠的环境中提供缓冲功能,确保监控数据的稳定传输。

agent和proxy都翻译成代理,两者之间的区别是啥?

Agent专注于单个主机的数据采集,而Proxy则作为集中的中转站,管理和优化从多个Agent到Server的数据流。

  1. Zabbix Agent
部署位置:直接安装在被监控的目标主机上。
主要功能:负责采集该主机上的各项数据(如CPU负载、内存使用率等)并根据配置发送给Zabbix Server。它还可以执行由Server或Proxy发起的主动检查请求。
作用:是数据采集的最前端,提供了详细的系统监控能力。
  1. Zabbix Proxy
部署位置:通常部署在被监控主机的附近网络中,作为Zabbix Server和大量Agent之间的中间层。
主要功能:减轻Zabbix Server的负担,代理Server收集数据、执行预处理、存储临时数据等。Proxy收到Agent的数据后,可能进行初步的聚合或过滤,再转发给Server。
作用:主要用于大规模监控部署,提高系统的可扩展性和效率,减少Server端的资源消耗和网络延迟。

相关文章:

zabbix常见架构及组件

Zabbix作为一个开源的、功能全面的监控解决方案,广泛应用于各类组织中,以实现对网络、服务器、云服务及应用程序性能的全方位监控。部署架构灵活性高,可支持从小型单一服务器环境到大型分布式系统的多种场景。基本架构通常包括监控端&#xf…...

plsql表格怎么显示中文 plsql如何导入表格数据

在Oracle数据库开发中,PL/SQL Developer是一款广泛使用的集成开发环境(IDE),它提供了丰富的功能来帮助开发人员高效地进行数据库开发和管理。在使用PL/SQL Developer时,许多用户会遇到表格显示中文的问题,以…...

chromedriver下载地址大全(包括124.*后)以及替换exe后仍显示版本不匹配的问题

Chrome for Testing availability CNPM Binaries Mirror 若已经更新了系统环境变量里的chromdriver路径下的exe,仍显示版本不匹配: 则在cmd界面输入 chromedriver 会跳出version verison与刚刚下载好的exe不匹配,则再输入: w…...

拦截器实现 Mybatis Plus 打印含参数的 SQL 语句

1.实现拦截器 package com.sample.common.interceptor;import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.mapping.BoundSql; import or…...

Oracle Subprogram即Oracle子程序

Oracle Subprogram,即Oracle子程序,是Oracle数据库中存储的过程(Procedures)和函数(Functions)的统称。这些子程序是存储在数据库中的PL/SQL代码块,用于执行特定的任务或操作。下面详细介绍Orac…...

自然语言处理实战项目30-基于RoBERTa模型的高精度的评论文本分类实战,详细代码复现可直接运行

大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目30-基于RoBERTa模型的高精度的评论文本分类实战,详细代码复现可直接运行。RoBERTa模型是由 Facebook AI Research 和 FAIR 的研究人员提出的一种改进版的 BERT 模型。RoBERTa 通过采用更大的训练数据集、动态掩码机…...

RK3588J正式发布Ubuntu桌面系统,丝滑又便捷!

本文主要介绍瑞芯微RK3588J的Ubuntu系统桌面演示,开发环境如下: U-Boot:U-Boot-2017.09 Kernel:Linux-5.10.160 Ubuntu:Ubuntu20.04.6 LinuxSDK: rk3588-linux5.10-sdk-[版本号] (基于rk3…...

基于GPT-SoVITS的API实现批量克隆声音

目标是将每一段声音通过GPT-SoVITS的API的API进行克隆,因为拼在一起的整个片段处理会造成内存或者缓存溢出。 将目录下的音频文件生成到指定目录下,然后再进行拼接。 通过AI工具箱生成的数据文件是这样的结构,temp目录下是没个片段生成的部分,connect_是正常拼接的音频文件…...

详解华为项目管理,附华为高级项目管理内训材料

(一)华为在项目管理中通过有效的沟通、灵活的组织结构、坚持不懈的努力、细致的管理和科学的考核体系,实现了持续的创新和发展。通过引进先进的管理模式,强调以客户需求为导向,华为不仅优化了技术管理和项目研发流程&a…...

Perl(Practical Extraction and Reporting Language)脚本

Perl(Practical Extraction and Reporting Language)是一种非常灵活的脚本语言,主要用于文本处理、系统管理以及快速原型开发等领域。Perl 脚本可以用来执行一系列任务,包括文件操作、网络通信、数据处理等。 下面是一些关于编写…...

单例模式详细

文章目录 单例模式介绍八种方式1、饿汉式(静态常量)2、饿汉式(静态代码块)3、懒汉式(线程不安全)4、懒汉式(线程安全,同步方法)5、懒汉式(线程不安全&#xf…...

Unity3D 自定义窗口

Unity3D 自定义窗口的实现。 自定义窗口 Unity3D 可以通过编写代码,扩展编辑器的菜单栏和窗口。 简单的功能可以直接一个菜单按钮实现,复杂的功能就需要绘制一个窗口展示更多的信息。 编辑器扩展的脚本,需要放在 Editor 文件夹中。 菜单栏…...

dubbo:dubbo整合nacos实现服务注册中心、配置中心(二)

文章目录 0. 引言1. nacos简介及安装2. 注册中心实现3. 配置中心实现4. 源码5. 总结 0. 引言 之前我们讲解的是dubbozookeeper体系来实现微服务框架,但相对zookeeper很多企业在使用nacos, 并且nacos和dubbo都是阿里出品,所以具备一些天生的契合性&#…...

个人博客指路

Pudding 个人博客 比较懒,直接 github page 了,没国内代理加速。 欢迎大佬们,踩一踩 没做留言,觉得很鸡肋。有问题可以在本文底下评论、或者直接邮件...

【STM32 HAL】多串口printf重定向

【STM32 HAL】多串口printf重定向 前言单串口printf重定向原理实现CubeMX配置Keil5配置 多串口printf重定向 前言 在近期项目中,作者需要 STM32 同时向上位机和手机发送数据,传统的 printf 重定向只能输出到一个串口。本文介绍如何实现 printf 同时输出…...

帆软报表,达梦数据库驱动上传失败

1、按照正常操作新建数据库连接,上传准备好的达梦驱动时,提示如图一需要修改SystemConfig.driverUpload为true才可以。 2、FineDB存储了数据决策系统中除平台属性配置以外的所有信息。详情请参见: FineDB 数据库简介。 3、因此管理员可通过…...

CSS选择器的优先级是如何确定的?有哪些方法可以提高选择器的效率?

CSS选择器的优先级是如何确定的? CSS选择器的优先级决定了当多个选择器同时应用于一个元素时,哪个选择器将最终生效。CSS选择器的优先级由多个因素决定,主要包括以下几个方面: 特殊性(Specificity) 特殊性…...

【MySQL】基础入门(第二篇)

1.MySQL基本数据类型 数值类型 MySQL 支持所有标准 SQL 数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是D…...

勇闯机器学习(第二关-数据集使用)

以下内容,皆为原创,重在无私分享高质量知识,制作实属不易,请点点关注。 好戏开场了~~~(这关涉及到了加载数据集的代码,下一关,教你们安装机器学习库) 一.数据集 这一关的目标 知道数据集被分为训练集和测…...

数据库学习(进阶)

数据库学习(进阶) Mysql结构:连接层:服务层(核心层):存储引擎层:系统文件层: 存储引擎(概述):存储引擎特点:InnoDB存储引擎:(为并发条…...

redis的数据结构——跳表(Skiplist)

跳表(Skiplist)是一种用于有序数据存储的高效数据结构,它在Redis中用于实现有序集合(Sorted Set,zset)的底层存储。当有序集合中的数据较多时,Redis会选择使用跳表来存储元素,以便在保持数据有序的同时提供高效的插入、删除、查找操作。 跳表的基本结构 跳表是一种多…...

Docker服务迁移

1 备份当前服务器上的 Docker 数据 1.1 停止 Docker 服务 为了确保数据一致性,在备份之前先停止 Docker 服务: sudo systemctl stop docker1.2 备份 Docker 数据 Docker 的数据通常位于 /var/lib/docker 目录。你可以使用 tar 命令将该目录压缩成一个…...

机器学习:逻辑回归实现下采样和过采样

1、概述 逻辑回归本身是一种分类算法,它并不涉及下采样或过采样操作。然而,在处理不平衡数据集时,这些技术经常被用来改善模型的性能。下采样和过采样是两种常用的处理不平衡数据集的方法。 2、下采样 1、概念 下采样是通过减少数量较多的类…...

React原理之Fiber双缓冲

前置文章: React原理之 React 整体架构解读React原理之整体渲染流程React原理之Fiber详解 -----读懂这一篇需要对 React 整体架构和渲染流程有大致的概念 😊----- 在前面的文章中,简单介绍了 Fiber 架构,也了解了 Fiber 节点的…...

机器学习笔记三-检测异常值

检测异常值是数据预处理中非常重要的一步,因为异常值可能会影响模型的训练效果,甚至导致错误的结论。以下是几种常见的检测异常值的方法: 1. 箱线图(Box Plot): 箱线图是一种简单的统计图形,可…...

如何评估Redis的性能

导语 Redis是一款高性能的内存数据库,被广泛用于缓存、持久化、消息队列等各种场景。为了确保Redis的高性能运行,评估Redis的性能是非常重要的。本文将介绍如何评估Redis的性能,并从问题解决的角度探讨如何优化Redis的性能。 1. 性能评估指…...

RabbitMQ发布订阅模式Publish/Subscribe详解

订阅模式Publish/Subscribe 基于API的方式1.使用AmqpAdmin定制消息发送组件2.消息发送者发送消息3.消息消费者接收消息 基于配置类的方式基于注解的方式总结 SpringBoot整合RabbitMQ中间件实现消息服务,主要围绕3个部分的工作进行展开:定制中间件、消息发…...

Android8.1源码下对APK进行系统签名

在Android8.1上面对APK进行Android系统源码环境下的签名,发现签名时出现如下错误: Exception in thread "main" java.lang.ExceptionInInitializerError at org.conscrypt.OpenSSLBIOInputStream.(OpenSSLBIOInputStream. at org.conscrypt.OpenSSLX509Certificat…...

2024年城市客运安全员考试题库及答案

一、单选题 376.根据《机动车运行安全技术条件》(GB7258---2017),每个应急出口应在其附近设有"应急出口"字样,字体高度应大于或等于()mm。 A.20 B.30 C.40 D.50 答案:C 377.根…...

全网最全面的Nginx内容(理论与实践相结合)

一、Web服​​务 1.1 web服务访问流程 1.2 Web服务 1.2.1 Web服务器分类 Web服务分为Apache和Nginx 1.2.2 Apache经典的Web服务器 1.2.2.1 Apache介绍 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以…...

网站代码 输入文字 跳出内容/平面设计培训

前段时间在网上看到了一篇滴答词典的项目文章,实现简单的单词查找、整句翻译和生词本功能,但是该项目年代久远,所用的API已不再提供数据,我决定利用它的已有框架实现其功能,主要用到的技术有GSON和Volley以及SQLite相关…...

法院网站管理系统源码/百度导航下载2022最新版官网

视频微课知识点一、四大发明四大发明是我们国家最伟大的文化成果。包括:造纸术、指南针、火药、活字印刷术。二、人物介绍蔡伦,字敬仲,桂阳郡宋阳(今湖南宋阳)人,生于东汉永平四年(公元61年),卒于建光元年(公元121年)。…...

太原网站建设加王道下拉/凡科建站

Pentaho OLAP多维分析 更多干货 分布式实战(干货)spring cloud 实战(干货)mybatis 实战(干货)spring boot 实战(干货)React 入门实战(干货)构建中小型互联网企…...

wordpress图片轮播插件下载/今日热点新闻事件标题

对于传统的双目视觉,最简单的标定方法可以采用张正友标定法。该方法已集成在MATLAB标定工具中,可以很方便地进行使用。除此之外,也可以采用OpenCV库进行标定。本文重点介绍:双目定位中需要标定的参数、MATLAB标定过程,…...

做女装的网站/怎么进行网络推广

[Mnsx_x]刷题笔记——顶端迭代器 请你设计一个迭代器,除了支持 hasNext 和 next 操作外,还支持 peek 操作。 实现 PeekingIterator 类: PeekingIterator(int[] nums) 使用指定整数数组 nums 初始化迭代器。 int next() 返回数组中的下一个元素…...

网站建设 办公系统/seo还有前景吗

知识产权保护是一个很大的概念,包括各种数据、音视频、图片、模型等等。随着计算机和网络技术的发展, 未来社会各种数据资料将是企事业和国家重要的资产。如果不能很好地做到保护自己的数字资产,将是很大的隐患。关于数字资产的保护行业有一些…...