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

news/发布时间2024/5/24 6:04:57

文章目录

  • 监控客户端部署及添加主机
    • 一、在 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

在这里插入图片描述

安装和卸载zabbix agent服务:

C:\zabbix0\bin\zabbix_agentd.exe -i -c C:\zabbix0\conf\zabbix_agentd.conf
#安装zabbix客户端
C:\zabbix0\bin\zabbix_agentd.exe -s -c C:\zabbix0\conf\zabbix_agentd.conf
#启动zabbix服务
C:\zabbix0\bin\zabbix_agentd.exe -d -c C:\zabbix0\conf\zabbix_agentd.conf
#卸载zabbix客户端
C:\zabbix0\bin\zabbix_agentd.exe -x -c C:\zabbix0\conf\zabbix_agentd.conf
#关闭zabbix服务

查看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.bcls.cn/IUiP/3055.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

蓝桥杯嵌入式第12届真题(完成) STM32G431

蓝桥杯嵌入式第12届真题(完成) STM32G431 题目 程序 main.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body**************************…

Android进阶(二十九) 走近 IntentFilter

文章目录 一、什么是IntentFilter &#xff1f;二、IntentFilter 如何过滤隐式意图&#xff1f;2.1 动作测试2.2 类别测试2.3 数据测试 一、什么是IntentFilter &#xff1f; 如果一个 Intent 请求在一片数据上执行一个动作&#xff0c; Android 如何知道哪个应用程序&#xf…

乐优商城(六)ElasticSearch搜索二

1.索引库数据导入 之前我们学习了Elasticsearch的基本应用。今天就学以致用&#xff0c;搭建搜索微服务&#xff0c;实现搜索功能。 1.1.创建搜索服务 创建module&#xff1a; Pom文件&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <…

计算机网络-无线通信网

1.各种移动通信标准 1G&#xff1a;第一代模拟蜂窝&#xff1a;频分双工FDD。2G&#xff1a;第二代数字蜂窝 I.GDM&#xff08;全球移动通信&#xff09;采用TDMA。II.CDMA&#xff08;码分多址通信&#xff09;。2.5G&#xff1a;第2.5代通用分组无线业务GPRS。2.75G&#xf…

【Python】2019年蓝桥杯省赛真题——完全二叉树的权值

蓝桥杯 2019 省 A&B&#xff1a;完全二叉树的权值 题目描述 给定一棵包含 N N N 个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从上到下、从左到右的顺序依次是 A 1 , A 2 , ⋯ A N A_1,A_2, \cdots A_N A1​,A2​,⋯AN​&#xff0c;如下图所…

第10讲用户登录SpringSecurity查库实现

用户登录SpringSecurity查库实现 security包下新建MyUserDetailServiceImpl Service public class MyUserDetailServiceImpl implements UserDetailsService {AutowiredSysUserService sysUserService;Overridepublic UserDetails loadUserByUsername(String username) throw…

Matlab/simulink中性点经消弧线圈接地电网接地故障的建模仿真(4.4.3)

Matlab/simulink光伏发电的仿真&#xff08;持续更新&#xff09; 1.光伏发电的电导增量法MPPT仿真 2.光伏发电的恒定电压法MPPT仿真 3.光伏发电的扰动观察法MPPT仿真 4.光伏发电的占空比法MPPT仿真 5.基于神经网络的MPPT光伏发电仿真 6. 基于模糊控制的MPPT光伏发电仿真 …

Ansible概述和常用模块

目录 一、ansible概述 &#xff08;一&#xff09;基础知识 &#xff08;二&#xff09;特性 二、部署ansible &#xff08;一&#xff09;管理端安装 &#xff08;二&#xff09;ansible 目录结构 &#xff08;三&#xff09;配置主机清单 &#xff08;四&#xff09;…

设计模式四:适配器模式

1、适配器模式的理解 适配器模式可以理解为有两个现成的类Adaptee和Target&#xff0c;它们两个是不能动的&#xff0c;要求必须使用B这个类来实现一个功能&#xff0c;但是A的内容是能复用的&#xff0c;这个时候我们需要编写一个转换器 适配器模式 Adaptee&#xff1a;被适…

【漏洞复现】H3C 路由器多系列信息泄露漏洞

Nx01 产品简介 H3C路由器是一款高性能的路由器产品&#xff0c;具有稳定的性能和丰富的功能。它采用了先进的路由技术和安全机制&#xff0c;可以满足不同用户的需求&#xff0c;广泛应用于企业、运营商和数据中心等领域。 Nx02 漏洞描述 H3C路由器多系列存在信息泄露漏洞&…

C++进阶(十六)特殊类设计

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、请设计一个类&#xff0c;不能被拷贝二、请设计一个类&#xff0c;只能在堆上创建对象三、…

【spring】 ApplicationListener的使用及原理简析

文章目录 使用示例&#xff1a;原理简析&#xff1a; 前言&#xff1a;ApplicationListener 是spring提供的一个监听器&#xff0c;它可以实现一个简单的发布-订阅功能&#xff0c;用有点外行但最简单通俗的话来解释&#xff1a;监听到主业务在执行到了某个节点之后&#xff0c…

大模型训练流程(四)强化学习

1.为什么需要强化学习 强化学习的目的是在大模型指令微调后&#xff0c;让LLM的行为与人类“对齐”&#xff0c;使其能够理解人类指令并做出对人有帮助的回答&#xff0c;纠正错误和有害的知识。RLHF本质上是通过人类的反馈来优化模型&#xff0c;生成的文本会更加的自然。 具…

MATLAB Coder从入门到放弃

一、MATLAB Coder入门 1 MATLAB Coder是什么 从 MATLAB 代码生成 C 和 C 代码 MATLAB Coder™ 可从 MATLAB 代码生成适用于各种硬件平台&#xff08;从桌面计算机系统到嵌入式硬件&#xff09;的 C 和 C 代码。它支持大多数 MATLAB 语言和广泛的工具箱。您可以将生成的代码作…

【前端素材】推荐优质后台管理系统Minia平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理网站、应用程序或系统的工具&#xff0c;它通常作为一个独立的后台界面存在&#xff0c;供管理员或特定用户使用。下面详细分析后台管理系统的定义和功能&#xff1a; 1. 定义 后台管理系统是一个用于管理和控制网站、应用程序或系统…

springboot+vue项目基础开发(13)vue的注册页面

1创建页面 在view下面创建Login.vue 编写login.vue的代码 <script setup> import {User,Lock} from @element-plus/icons-vue import {ref } from vue&#

亿道丨三防平板电脑厂商哪家好丨麒麟系统三防平板PAD

随着科技的飞速发展&#xff0c;人们对于移动设备的需求越来越高。然而&#xff0c;在不同的行业应用场景下&#xff0c;常规的智能平板往往无法满足特殊的工作要求。&#xff0c;亿道三防平板&#xff0c;将高可靠性与卓越性能高度结合&#xff0c;为各行各业提供卓越的移动解…

Python爬虫实战入门:爬取360模拟翻译(仅实验)

文章目录 需求所需第三方库requests 实战教程打开网站抓包添加请求头等信息发送请求&#xff0c;解析数据修改翻译内容以及实现中英互译 完整代码 需求 目标网站&#xff1a;https://fanyi.so.com/# 要求&#xff1a;爬取360翻译数据包&#xff0c;实现翻译功能 所需第三方库 …

Android14 InputManager-InputReader的处理

IMS启动时会调用InputReader.start()方法 InputReader.cpp status_t InputReader::start() {if (mThread) {return ALREADY_EXISTS;}mThread std::make_unique<InputThread>("InputReader", [this]() { loopOnce(); }, [this]() { mEventHub->wake(); });…

Linux:Jenkins用户权限和管理

1.下载插件 由于Jenkins的默认权限管理并不是很精细所以我们安装一个插件进行权限的一个管理 插件名称为&#xff1a;Role-based Authorization Strategy 安装完插件我们再去配置一下 进入全局安全配置 选择这个Role-Based Strategy策略然后保存 2.创建角色 我们这里主要使…
推荐文章