运维的利器–监控–zabbix–第二步:建设–部署zabbix agent

news2024/11/17 14:19:07

文章目录

  • 监控客户端部署及添加主机
    • 一、在 zabbix-server 安装客户端
    • 二、在本机和其他linux主机安装zabbix agent客户端
      • 1、安装
      • 2、配置
      • 3、启动并开机自启
      • 4、添加主机
        • 创建主机组
        • 创建主机
        • 等一会或重启zabbix-server查看配置是否成功
    • 三、在其他windows上安装zabbix agent客户端
      • 下载windows安装agent软件
      • 安装
      • 配置Windows_A客户机
      • 服务器开放10051端口
      • 注册windows服务并启动
      • 效果
  • 附录

监控客户端部署及添加主机

一、在 zabbix-server 安装客户端

yum install zabbix-agent
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service

在这里插入图片描述
在这里插入图片描述

命令来源:官网
在这里插入图片描述

二、在本机和其他linux主机安装zabbix agent客户端

1、安装

方法一:服务器特别多的情况

wget https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm
sz zabbix-agent-5.0.0-1.el7.x86_64.rpm

导出桌面
自己服务器直接安装,其他服务器拖进 rpm 包再安装

rpm -ivh zabbix-agent-4.0.29-1.el7.x86 64.rp

方法二:直接安装

rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm

疑问:httpsxxx.rpm如何长的链接从何而来,根据上面链接,不难发现是来自于清华镜像,所以选择镜像要根据自己安装的版本来选择
在这里插入图片描述
在这里插入图片描述

2、配置

修改zabbix_agent配置文件
在这里插入图片描述

vim /etc/zabbix/zabbix_agentd.conf

修改下面server ip为搭建的zabbix server ip,本文是192.168.10.100

server=192.168.10.100

在这里插入图片描述

3、启动并开机自启

systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service

4、添加主机

创建主机组

在这里插入图片描述
在这里插入图片描述

创建主机

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

等一会或重启zabbix-server查看配置是否成功

在这里插入图片描述

三、在其他windows上安装zabbix agent客户端

下载windows安装agent软件

官网下载相关agent软件

在这里插入图片描述
在这里插入图片描述

安装

将压缩包解压到d:\zabbix1(自己定文件夹名字和位置即可)里。打开conf\zabbix_agentd.win.conf文件,配置如下

LogFile=D:\zabbix1\zabbix_agentd.log
Server=192.168.10.100       #80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.10.100     #133行,指定 zabbix 服务端的 IP 地址
Hostname=Windows_A       #144行,指定当前 zabbix 客户端的主机名

logfile: zabbix日志存放地址。
Server:用于被动模式,指定允许哪台服务器拉取当前服务器的数据,当agent端工作于被动模式,则代表server端会主动拉取agent端数据,那么server端的IP必须与此参数的IP对应,此参数用于实现基于IP的访问控制,如果有多个IP,可以使用逗号隔开。
ServerActive:用于主动模式,此参数用于指定当agent端工作于主动模式时,将信息主动推送到哪台server上,当有多个IP时,可以用逗号隔开。
Hostname:主机名,等会要在zabbix-server上配置。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
验证端口启动情况:
在这里插入图片描述
在这里插入图片描述

配置Windows_A客户机

打开zabbix-web界面,配置->主机->右上脚创建主机,配置上面写的Hostname,名称和上面保存一致

在这里插入图片描述

服务器开放10051端口

这点要注意,如zabbix-server那台服务器没对外开放10051端口,会连接不上。

firewall防火墙

firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --reload

iptables防火墙

iptables -A INPUT -p tcp --dport 10051 -j ACCEPT
#保存上述规则
service iptables save
#重启服务
systemctl restart iptables.service

注册windows服务并启动

在管理身体打开cmd,如果是windows10用户,按windows+x出面的界面选择Windows PowerShell(管理员)(A)。这点要注意,必需以管理员运行,不然会报执行错误
注册服务命令:D:\zabbix1\bin\zabbix_agentd.exe -c D:\zabbix1\conf\zabbix_agentd.win.conf -i
结果如下

PS D:\zabbix1\bin\zabbix_agentd.exe -c D:\zabbix\conf\zabbix_agentd.win.conf -i
zabbix_agentd.exe [557628]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [557628]: event source [Zabbix Agent] installed successfully

在这里插入图片描述

疑问:路径怎么来的,其实就是一开始下载的软件解压的路径
在这里插入图片描述

启动服务:D:\zabbix1\bin\zabbix_agentd.exe -c D:\zabbix1\conf\zabbix_agentd.win.conf -s
结果如下

PS D:\> D:\zabbix\bin\zabbix_agentd.exe -c D:\zabbix\conf\zabbix_agentd.win.conf -s
zabbix_agentd.exe [536552]: service [Zabbix Agent] started successfully

在这里插入图片描述

查看D:\zabbix1\zabbix_agentd.log日志如下

563728:20190130:104738.021 using configuration file: D:\zabbix\conf\zabbix_agentd.win.conf
563728:20190130:104738.026 agent #0 started [main process]
529528:20190130:104738.027 agent #1 started [collector]
541516:20190130:104738.028 agent #2 started [listener #1]
559776:20190130:104738.028 agent #4 started [listener #3]
563896:20190130:104738.029 agent #3 started [listener #2]
563780:20190130:104738.029 agent #5 started [active checks #1]

效果

在这里插入图片描述

在这里插入图片描述

附录

/etc/zabbix/zabbix_agentd.conf

#这是Z​​abbix代理守护程序(Unix)的配置文件
#要获取有关Zabbix的更多信息,请访问http://www.zabbix.com

###########通用参数#################

###选项:PidFile
#PID文件名。
#
#必填:否
# 默认:
#PidFile = / tmp / zabbix_agentd.pid

###选项:LogType
#指定日志消息的写入位置:
#系统-syslog
#file-使用LogFile参数指定的文件
#控制台-标准输出
#
#必填:否
# 默认:
#LogType =文件

###选项:LogFile
#LogType'file'参数的日志文件名。
#
#必填:是,如果LogType设置为file,否则为
# 默认:
#LogFile =

LogFile = / tmp / zabbix_agentd.log

###选项:LogFileSize
#日志文件的最大大小,以MB为单位。
#0-禁用自动日志轮换。
#
#必填:否
#范围:0-1024
# 默认:
#LogFileSize = 1

###选项:DebugLevel
#指定调试级别:
#0-有关启动和停止Zabbix进程的基本信息
#1-重要信息
#2-错误信息
#3-警告
#4-用于调试(产生大量信息)
#5-扩展调试(产生更多信息)
#
#必填:否
#范围:0-5
# 默认:
#DebugLevel = 3

###选项:SourceIP
#传出连接的源IP地址。
#
#必填:否
# 默认:
#SourceIP =

###选项:DenyKey
#拒绝执行与模式匹配的项密钥。
#可以结合AllowKey定义多个匹配规则的规则。
#密钥模式是通配符表达式,它支持“ *”字符以在特定位置匹配任意数量的任何字符。它可能同时在键名和键参数中使用。
#根据参数的出现顺序对其进行一次处理。
#如果未定义AllowKey或DenyKey规则,则允许所有密钥。
#除非指定了另一个system.run [*]规则,否则默认情况下将添加DenyKey = system.run [*]。
#
#必填:否
# 默认:
#DenyKey = system.run [*]

###选项:AllowKey
#允许执行项目键匹配模式。
#可以结合DenyKey定义多个密钥匹配规则。
#密钥模式是通配符表达式,它支持“ *”字符以在特定位置匹配任意数量的任何字符。它可能同时在键名和键参数中使用。
#根据参数的出现顺序对其进行一次处理。
#如果未定义AllowKey或DenyKey规则,则允许所有密钥。
#
#必填:否


###选项:EnableRemoteCommands-已过时,请改用AllowKey = system.run [*]或DenyKey = system.run [*]
#AllowKey / DenyKey参数的内部别名,取决于值:
#0-DenyKey = system.run [*]1-AllowKey = system.run [*]
#
#必填:否

###选项:LogRemoteCommands
#启用对执行的shell命令的日志记录作为警告。
#0-禁用
#1-已启用
#
#必填:否
# 默认:
#LogRemoteCommands = 0

#####被动检查相关

###选项:Server
#逗号分隔的IP地址列表,可以使用CIDR表示法,或者Zabbix服务器和Zabbix代理的DNS名称。
#仅接受来自此处列出的主机的传入连接。
#如果启用了IPv6支持,则将平等对待'127.0.0.1'':: 127.0.0.1'':: ffff:127.0.0.1'
#和':: / 0'将允许任何IPv4或IPv6地址。
#'0.0.0.0/0'可用于允许任何IPv4地址。
#示例:Server = 127.0.0.1,192.168.1.0 / 24:: 1,2001:db8 :: / 32,zabbix.example.com
#
#强制:是的,如果未将StartAgents显式设置为0
# 默认:
#服务器=

服务器= 127.0.0.1

###选项:ListenPort
#代理将在此端口上侦听来自服务器的连接。
#
#必填:否
#范围:1024-32767
# 默认:
#ListenPort = 10050

###选项:ListenIP
#代理应侦听的逗号分隔IP地址列表。
#如果第一个IP地址连接到Zabbix服务器以检索活动支票列表,则将其发送到Zabbix服务器。
#
#必填:否
# 默认:
#ListenIP = 0.0.0.0

###选项:StartAgents
#处理被动检查的zabbix_agentd的预分支实例数。
#如果设置为0,则禁用被动检查,并且代理将不侦听任何TCP端口。
#
#必填:否
#范围:0-100
# 默认:
#StartAgents = 3

#####主动检查相关

###选项:ServerActive
#逗号分隔的Zabbix服务器和Zabbix代理的IP:端口(或DNS名称:端口)对的列表,以进行活动检查。
#如果未指定端口,则使用默认端口。
如果指定了该主机的端口,则#IPv6地址必须用方括号括起来。
#如果未指定port,则IPv6地址的方括号是可选的。
#如果未指定此参数,则自动注册失效功能。
#示例:ServerActive = 127.0.0.120051,zabbix.domain,[:: 1]30051:: 1[12fc :: 1]
#
#必填:否
# 默认:
#ServerActive =

ServerActive = 127.0.0.1

###选项:Hostname
#唯一的,区分大小写的主机名。
#进行主动检查所必需,并且必须与服务器上配置的主机名匹配。
#如果未定义,则从HostnameItem获取值。
#
#必填:否
# 默认:
#主机名=
#说明:手工自定义一个主机名,可以和系统的主机名一样,也可以不一样,此参数可根据实际情况启用或关闭,建议关闭此参数,并启用HostnameItem参数
Hostname=Zabbix server

###选项:HostnameItem
#如果未定义,则用于生成主机名的项目。如果定义了主机名,则忽略。
#不支持UserParameters或别名。
#
#必填:否
# 默认:
#HostnameItem = system.hostname
#说明:system.hostname是ZABBIX内置的一个自动获取主机名的方法,为了方便配置,建议打开此参数而关闭Hostname参数#。注意:HostnameItem的优化级低于Hostname,当两个参数都启用且配置的情况下,ZABBIX获取的主机名,将以Hostname为准


###选项:HostMetadata
#定义主机元数据的可选参数。
#主机元数据在主机自动注册过程中使用。
#如果值超过255个字符的限制,代理将发出错误,并且不会启动。
#如果未定义,将从HostMetadataItem获取值。
#
#必填:否
#范围:0-255个字符
# 默认:
#HostMetadata =
# 可选参数用来定义主机元数据,只有主机自动注册时才用到主机元数据。
# 如果没有定义,该值通过 HostMetadataItem 获得。
# 如果指定的值超过限制或者不是UTF-8编码的字符串, agent 会给出一个错误或者不启动。

###选项:HostMetadataItem
#可选参数,用于定义用于获取主机元数据的项目。
#主机元数据在主机自动注册过程中使用。
#在自动注册请求期间,如果以下情况,座席将记录一条警告消息
#指定项目返回的值超过255个字符的限制。
#仅当未定义HostMetadata时才使用此选项。
#
#必填:否
# 默认:
#HostMetadataItem =
# 可选参数定义 Zabbix agent 监控项, 用来得到主机元数据。HostMetadata没有定义时,使用该参数。
# 支持 用户自定义参数, 别名。支持 system.run[], EnableRemoteCommands 值对该参数没有影响。
# 只有主机自动注册时才用到主机元数据。
# 在一个自动注册请求过程中,如果返回值超过255个字符,agent 会记录一条警告信息。
# 监控项返回值必须为 UTF-8的字符串, 否则会忽略 。

###选项:HostInterface
#定义主机接口的可选参数。
#主机接口用于主机自动注册过程。
#如果值超过255个字符的限制,代理将发出错误,并且不会启动。
#如果未定义,将从HostInterfaceItem获取值。
#
#必填:否
#范围:0-255个字符
# 默认:
#HostInterface =

###选项:HostInterfaceItem
#可选参数,用于定义用于获取主机接口的项目。
#主机接口用于主机自动注册过程。
#在自动注册请求期间,如果以下情况,座席将记录一条警告消息
#指定项目返回的值超过255个字符的限制。
#仅在未定义HostInterface时使用此选项。
#
#必填:否
# 默认:
#HostInterfaceItem =

###选项:RefreshActiveChecks
#刷新活动检查列表的频率(以秒为单位)。
#
#必填:否
#范围:60-3600
# 默认:
#RefreshActiveChecks = 120

###选项:BufferSend
#缓存区保存数据的最长时间(单位s)。
#
#必填:否
#范围:1-3600
# 默认:
#BufferSend = 5

###选项:BufferSize
# 数据缓存区大小. 如果缓存区满,agent会发送所有采集到的数据给 Zabbix server 或者 proxy 。
#内存缓冲区中的最大值数。代理商将发送
#如果缓冲区已满,则将所有收集的数据发送到Zabbix服务器或代理。
#
#必填:否
#范围:2-65535
# 默认:
#BufferSize = 100

###选项:MaxLinesPerSecond
#每秒向serve或proxy发送数据的最大行数
#或Proxy处理'log''logrt'活动检查。
#提供的值将被参数'maxlines'覆盖,
#在'log''logrt'项目键中提供。
#
#必填:否
#范围:1-1000
# 默认:
#MaxLinesPerSecond = 20

############高级参数#################

###选项:Alias
#为监控项的key设置别名,可以用短且简单的key替换那些长的复杂的监控项key。
#可以存在多个 别名 参数, 而且也允许多个参数使用一个 别名 。
#不同的 别名 也可以指向同一个 item key。别名可以用于 HostMetadataItem 但不能用在HostnameItem参数中。
#例如:1. 检索用户'zabbix'的ID.
#Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
#现在简写的key zabbix.userid 即可用来检索数据
#现在速记键zabbix.userid可用于检索数据。
#必填:否
# 范围:
# 默认:

###选项:Timeout
#超时连接时间
#
#必填:否
#范围:1-30
# 默认:
#超时= 3

###选项:AllowRoot
#允许代理以“ root”身份运行。如果禁用并且代理由“ root”启动,则该代理
#将尝试切换到“用户配置”选项指定的用户。
#如果在普通用户下启动,则无效。
#0-不允许
#1-允许
#
#必填:否
# 默认:
#AllowRoot = 0

###选项:User
#降低权限为系统中存在的指定用户。
#以'root'身份运行且AllowRoot禁止时,该参数才起作用。
#
#必填:否
# 默认:
#用户= zabbix

###选项:Include
#您可以在配置文件的目录中包含单个文件或所有文件。
#安装Zabbix会在/ usr / local / etc中创建include目录,除非在编译时进行了修改。
#
#必填:否
# 默认:
#包括=

#包括= / usr / local / etc / zabbix_agentd.userparams.conf
#包括= / usr / local / etc / zabbix_agentd.conf.d /
#包括= / usr / local / etc / zabbix_agentd.conf.d / *。conf

#######用户定义的监控参数#######

###选项:UnsafeUserParameters
#允许将所有字符都通过参数传递给用户定义的参数。
#不允许使用以下字符:
#\'“`*[] {}〜$!&;()<> |#@
#另外,不允许换行符。
#0-不允许
#1-允许
#
#必填:否
#范围:0-1
# 默认:
#UnsafeUserParameters = 0

###选项:UserParameter
#用户自定义参数。可以有几个用户定义的参数。
#格式:UserParameter = <key><shell命令>
#有关示例,请参见“ zabbix_agentd”目录。
#
#必填:否
# 默认:
#UserParameter =

#######可加载模块#######

###选项:LoadModulePath
#代理模块位置的完整路径。
#默认取决于编译选项。
#要查看默认路径,请运行命令“ zabbix_agentd --help”。
#
#必填:否
# 默认:
#LoadModulePath = $ {libdir} / modules

###选项:LoadModule
#在代理启动时加载的模块。模块用于扩展代理的功能。
#格式:
#LoadModule = <模块.so>
#LoadModule = <路径/模块.so>
#LoadModule = </ abs_path / module.so>
#模块必须位于LoadModulePath指定的目录中,或者路径必须在模块名称之前。
#如果前面的路径是绝对路径(以“ /”开头),则将忽略LoadModulePath。
#允许包含多个LoadModule参数。
#
#必填:否
# 默认:
#LoadModule =

####### TLS相关参数#######

###选项:TLSConnect
#代理应如何连接到服务器或代理。用于主动检查。
#只能指定一个值:
#未加密-连接时未加密
#psk-使用TLS和预共享密钥进行连接
#cert-使用TLS和证书进行连接
#
#强制:是的,如果定义了TLS证书或PSK参数(即使对于“未加密”连接)
# 默认:
#TLSConnect =未加密

###选项:TLSAccept
#接受哪些传入连接。
#可以指定多个值,以逗号分隔:
#未加密-接受未加密的连接
#psk-接受使用TLS和预共享密钥保护的连接
#cert-接受使用TLS和证书保护的连接
#
#强制:是的,如果定义了TLS证书或PSK参数(即使对于“未加密”连接)
# 默认:
#TLSAccept =未加密

###选项:TLSCAFile
#包含顶级CA证书的文件的完整路径名
#对等证书验证。
#
#必填:否
# 默认:
#TLSCAFile =

###选项:TLSCRLFile
#包含已撤销证书的文件的完整路径名。
#
#必填:否
# 默认:
#TLSCRLFile =

###选项:TLSServerCertIssuer
#允许的服务器证书颁发者。
#
#必填:否
# 默认:
#TLSServerCertIssuer =

###选项:TLSServerCertSubject
#允许的服务器证书主题。
#
#必填:否
# 默认:
#TLSServerCertSubject =

###选项:TLSCertFile
#包含代理证书或证书链的文件的完整路径名。
#
#必填:否
# 默认:
#TLSCertFile =

###选项:TLSKeyFile
#包含代理私钥的文件的完整路径名。
#
#必填:否
# 默认:
#TLSKeyFile =

###选项:TLSPSKIdentity
#唯一的,区分大小写的字符串,用于标识预共享密钥。
#
#必填:否
# 默认:
#TLSPSKIdentity =

###选项:TLSPSKFile
#包含预共享密钥的文件的完整路径名。
#
#必填:否
# 默认:
#TLSPSKFile =

#######对于高级用户-TLS密码套件选择标准#######

###选项:TLSCipherCert13
#用于TLS 1.3或更高版本的OpenSSL 1.1.1的密码字符串。
#覆盖基于证书的加密的默认密码套件选择标准。
#
#必填:否
# 默认:
#TLSCipherCert13 =

###选项:TLSCipherCert
#GnuTLS优先级字符串或OpenSSL(TLS 1.2)密码字符串。
#覆盖基于证书的加密的默认密码套件选择标准。
#GnuTLS示例:
#NONE:+ VERS-TLS1.2+ ECDHE-RSA:+ RSA:+ AES-128-GCM:+ AES-128-CBC:+ AEAD:+ SHA256:+ SHA1:+ CURVE-ALL:+ COMP-NULL :+ SIGN-ALL:+ CTYPE-X.509
#OpenSSL示例:
#EECDH + aRSA + AES128:RSA + aRSA + AES128
#
#必填:否
# 默认:
#TLSCipherCert =

###选项:TLSCipherPSK13
#用于TLS 1.3或更高版本的OpenSSL 1.1.1的密码字符串。
#覆盖基于PSK的加密的默认密码套件选择标准。
# 例子:
#TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
#
#必填:否
# 默认:
#TLSCipherPSK13 =

###选项:TLSCipherPSK
#GnuTLS优先级字符串或OpenSSL(TLS 1.2)密码字符串。
#覆盖基于PSK的加密的默认密码套件选择标准。
#GnuTLS示例:
#NONE:+ VERS-TLS1.2+ ECDHE-PSK:+ PSK:+ AES-128-GCM:+ AES-128-CBC:+ AEAD:+ SHA256:+ SHA1:+ CURVE-ALL:+ COMP-NULL :+签名
#OpenSSL示例:
#kECDHEPSK + AES128:kPSK + AES128
#
#必填:否
# 默认:
#TLSCipherPSK =

###选项:TLSCipherAll13
#用于TLS 1.3或更高版本的OpenSSL 1.1.1的密码字符串。
#覆盖基于证书和基于PSK的加密的默认密码套件选择标准。
# 例子:
#TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
#
#必填:否
# 默认:
#TLSCipherAll13 =

###选项:TLSCipherAll
#GnuTLS优先级字符串或OpenSSL(TLS 1.2)密码字符串。
#覆盖基于证书和基于PSK的加密的默认密码套件选择标准。
#GnuTLS示例:
#NONE:+ VERS-TLS1.2+ ECDHE-RSA:+ RSA:+ ECDHE-PSK:+ PSK:+ AES-128-GCM:+ AES-128-CBC:+ AEAD:+ SHA256:+ SHA1:+曲线所有:+ COMP-NULL:+签署所有:+ CTYPE-X.509
#OpenSSL示例:
#EECDH + aRSA + AES128:RSA + aRSA + AES128:kECDHEPSK + AES128:kPSK + AES128
#
#必填:否
# 默认:
#TLSCipherAll =

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

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

相关文章

用于扫描机密的开源解决方案

TruffleHog 最初是在 2016 年独立创作的一个研究工具。当发布它时&#xff0c;没有工具扫描 Git 修订历史记录以获取秘密。我的预感是旧版本的代码中隐藏着很多秘密&#xff0c;但没有工具可以查找它们。 我的预感是对的。该工具迅速流行并变得非常流行。如今&#xff0c;它在…

贝叶斯统计——入门级笔记

绪论 1.1 引言 全概率公式 贝叶斯公式 三种信息 总体信息 当把样本视为随机变量时&#xff0c;它有概率分布&#xff0c;称为总体分布&#xff0e; 如果我们已经知道总体的分布形式这就给了我们一种信息&#xff0c;称为总体信息 样本信息 从总体中抽取的样本所提供的信息 先…

公共用例库计划--个人版(八)pyinstaller打包pyqt6,从168 MB到40.2 MB

1、任务概述 本次计划的核心任务是开发一个&#xff0c;个人版的公共用例库&#xff0c;旨在将各系统和各类测试场景下的通用、基础以及关键功能的测试用例进行系统性地归纳整理&#xff0c;并以提高用例的复用率为目标&#xff0c;力求最大限度地减少重复劳动&#xff0c;提升…

Maven私服搭建Nexus3

第一部分&#xff1a;仓库部署 下载地址&#xff1a;https://help.sonatype.com/en/download.html 备用下载链接&#xff0c;部分已经失效了 解压后会有两个文件夹&#xff1a; nexus-3.20.1-01 sonatype-work 访问地址配置路径 \nexus-3.20.1-01\bin\nexus.vmoptions -Xms1…

企业为何选择芯片运营管理ERP?

随着科技的飞速发展和市场竞争的加剧&#xff0c;企业对于运营管理的需求也日益增强。在这一背景下&#xff0c;越来越多的企业开始选择芯片运营管理ERP(企业资源规划)系统&#xff0c;以提升自身的运营效率和竞争力。那么&#xff0c;企业为何选择芯片运营管理ERP呢? 芯片运营…

【快速上手QT】04-定时器Timer

先来个小示例 我们先简单的来触发一下定时器。 #include "Zhetu.h"#include <qdebug.h>void Zhetu::timerEvent(QTimerEvent* event) { //定时器触发函数qDebug() << "Hello world"; }Zhetu::Zhetu(QWidget *parent): QMainWindow(parent){t…

实现可拖拽的页面元素排序更新数据库排序

摘要&#xff1a; 拖拽列表改变路边排序&#xff0c;并且更新后台数据库列表的排序&#xff0c;重新请求的时候获取拖拽后的排序&#xff01; Layui&#xff1a; // 拖拽内页顺序list document.querySelector(#view_side_tab);// 创建cruentItem存放将要拖动的元素let cruen…

JUC并发编程学习与实践

文章目录 学习资料创建和运行线程方法一&#xff1a;直接使用Thread方法二&#xff1a;使用Runnable配合Thread方法三&#xff1a;FutureTask配合Thread 线程的常见方法start与runsleep与yield线程的优先级 join方法详解interrupt线程打断interrupt线程打断后&#xff0c;线程不…

【成都游戏业:千游研发之都的发展与机遇】

成都游戏业&#xff1a; 千游研发之都的发展与机遇 作为我国西部游戏产业的龙头&#xff0c;成都这座城市正在高速发展&#xff0c;目标是崛起成为千亿级游戏研发之都。多年来&#xff0c;在政策扶持、人才汇聚以及文化底蕴等助力下&#xff0c;成都游戏业已经形成完整的产业链…

SAP MIGO发货过账的时候批次库存确定:事务码MBC1进行激活即可

事务码&#xff1a; MBC1 ~ MBC3 使用MBC1按照工厂层级进行激活 接下来MIGO发货过账的时候就可以使用批次库存确定了&#xff0c;点击下图中圈出来的库存确定按钮

Spring AOP 实现原理详解之 JDK 动态代理

目录 一. 前言 二. JDK 代理的示例 2.1. 不需要 Maven 依赖 2.2. 定义实体 2.3. 被代理的类和接口 2.4. JDK 代理类 2.5. 使用代理 三. JDK 代理的流程 3.1. ProxyGenerator 生成代码 3.2. 从生成的 Proxy 代码看执行流程 四. Spring AOP 中 JDK代理的实现 4.1. Sp…

【虚拟仿真】Unity3D中实现3DUI,并且实现Button、InputField、Toggle等事件绑定

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 最近在项目中需要用到3DUI的展示,之前一般会用TextMeshPro进行展示: 但是,后面又需要添加按钮、Toggle等…

[开源协议] 什么是MIT协议及其使用场景

什么是MIT协议? MIT协议是一种开放源代码软件授权协议&#xff0c;全称为Massachusetts Institute of Technology License。该协议允许自由地使用、复制、修改、合并、发布、分发、再授权和销售软件及其副本的任何部分。MIT协议要求在软件的所有副本中包含版权声明和许可声明…

Web基础②nginx搭建与配置

目录 一.Nginx概述 1.定义 2.Nginx模块作用 &#xff08;1&#xff09;main模块 &#xff08;2&#xff09;stream服务模块 &#xff08;3&#xff09;邮件服务模块 &#xff08;4&#xff09;第三方模块 &#xff08;5&#xff09;events模块 &#xff08;6&#xff…

WordPress如何将后台右上角管理员头像去除并调整注销位置及启用注销确认功能?

WordPress后台默认情况下右上角可以看到管理员昵称和头像&#xff0c;将鼠标移动到该昵称上还会出现一个下拉菜单&#xff0c;点击下拉菜单中的“注销”无需我们再次确认就会自动退出。 现在我想将WordPress后台右上角的管理员头像和管理员昵称子菜单去除&#xff0c;并将“注销…

探索亚马逊自养号测评的实际效果与使用感受

自养号在亚马逊测评中的应用给了我们一种全新的体验。通过使用亚马逊自养号&#xff0c;我们发现了许多令人满意的优势&#xff0c;这些优势不仅提升了我们的测评效率&#xff0c;还增加了我们的信誉度。 首先&#xff0c;自养号的质量可控性给了我们极大的信心。我们可以自行…

基于springboot+vue的高校学科竞赛系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Redis之缓存穿透问题解决方案实践SpringBoot3+Docker

文章目录 一、介绍二、方案介绍三、Redis Docker部署四、SpringBoot3 Base代码1. 依赖配置2. 基本代码 五、缓存优化代码1. 校验机制2. 布隆过滤器3. 逻辑优化 一、介绍 当一种请求&#xff0c;总是能越过缓存&#xff0c;调用数据库&#xff0c;就是缓存穿透。 比如当请求一…

利用LaTex批量将eps转pdf、png转eps、eps转png、eps转svg

1、eps转pdf 直接使用epstopdf命令&#xff08;texlive、mitex自带&#xff09;。 在cmd中进入到eps矢量图片的目录&#xff0c;使用下面的命令&#xff1a; for %f in (*.eps) do epstopdf "%f" 下面是plt保存eps代码&#xff1a; import matplotlib.pyplot as…

挑战6万月薪【三】Purple Pi OH开发板带你7天入门OpenHarmony!

现在为止&#xff0c;我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接&#xff0c;接下来&#xff0c;让我们趁热打铁&#xff0c;完成剩余配件的连接&#xff01; 注&#xff1a;配件连接前请断开主板所有供电&#xff0c;避免敏感电路损坏&#xff01; 一. 接口…