Zabbix监控系统:zabbix服务部署+基于Proxy分布式部署+zabbix主动与被动监控模式
一、Zabbix概述
1.1 简介
zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix 能监视各种网络参数,保证服务器系统的安全运营,提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。
通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。
zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。
1.2 zabbix组件
1.2.1 zabbix server
zabbix服务端进程,配置和管理zabbix应用程序,也是监控系统的告警中心(配置监控项告警触发器阈值和发送告警)。
端口10051
1.2.2 zabbix agent
部署在被监控主机上,采集监控指标数据,发送给zabbix server。
端口10050
1.2.3 zabbix proxy
zabbix代理端进程,部署在zabbix server与zabbix agent之间,代替zabbix server收集zabbix agent发送的监控指标数据,汇总后再转发给 zabbix server,分担zabbix server的集中式负载压力。
端口10051(默认与zabbix server相同)
1.2.4 zabbix database(mysql oracle postgreSQL tsdb等)
持久化存储配置信息和监控指标数据。
1.2.5 zabbix web(apache/nginx + php)
进行zabbix服务端配置和监控数据的UI界面展示。
1.2.6 zabbix java gateway
作为获取从java应用采集的监控指标数据的代理端。
端口10052
1.3 工作原理
zabbix agent
会定期采集被监控主机的指标数据并发送给zabbix server
;
zabbix server
收到数据后会将数据存储到zabbix database
中;
管理员可基于zabbix web前端
查看监控数据的图像。
二、部署Zabbix
Server | IP |
Zabbix-server | 192.168.10.20 |
Zabbix-agent | 192.168.10.30 |
#关闭 selinux 与防火墙
systemctl disable --now firewalld
setenforce 0
2.1 解决依赖关系
yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel libevent-devel java-1.8.0-openjdk-devel -y
2.2建立管理用户
groupadd zabbix
useradd -g zabbix zabbix
2.3 解压包
cd /opt
#切换目录
wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.30.tar.gz
#下载安装包
tar xf zabbix-4.0.30.tar.gz
#解压
2.4编译安装
./configure --prefix=/apps/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-javamake
make install
2.5 添加客户端
./configure --prefix=/apps/zabbix --enable-agent
在别的机器上 客户机需要安装的 客户端
2.6 安装数据库
数据库可以安装在本地也可以分离
yum install mariadb-server.x86_64 -y
systemctl start mariadbmysql_secure_installation 安全加固脚本
#输入当前密码
#修改root密码
#移除匿名用户
#移除测试数据库
#不让 root 远程登录
#刷新mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'zabbix';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
2.7 导入zabbix数据库文件
[root@localhost mysql]# cd /opt/zabbix-4.0.30/database/mysql
[root@localhost mysql]#mysql -uzabbix -pzabbix zabbix < schema.sql
[root@localhost mysql]#mysql -uzabbix -pzabbix zabbix < images.sql
[root@localhost mysql]#mysql -uzabbix -pzabbix zabbix < data.sql ###必须最后 导入 data.sql
2.8安装web apapche
[root@localhost mysql]#yum install httpd -y
[root@localhost mysql]#systemctl start httpd[root@localhost zabbix-4.0.30]#cd /opt/zabbix-4.0.30/frontends/php/[root@localhost php]#cp -a /opt/zabbix-4.0.30/frontends/php/ /var/www/html/zabbix/
# 将前端页面拷贝过去
2.9 修改zabbix配置
vim /apps/zabbix_server/etc/zabbix_server.conf
# grep "^[a-Z]" /apps/zabbix_server/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix_server
DBUser=zabbix
DBPassword=zabbix
LogSlowQueries=3000118 行修改 下 密码 其他不用修改
118 DBPassword= zabbix#启动 zabbixserver 和 zabbixagented
/apps/zabbix_server/sbin/zabbix_server
/apps/zabbix_server/sbin/zabbix_agentd
2.10 升级php 版本
yum install php-gettext php-xml php-net-socket php-gd php-mysql -y修改php 软件的配置
vim /etc/php.ini
384 max_execution_time = 300
394max_input_time = 600
672 post_max_size = 16M
878 date.timezone = Asia/Shanghai#改完 以后systemctl restart httpd
2.11下载配置文件
cp zabbix.conf.php /var/www/html/zabbix/conf/ -a
复制好了 直接刷新页面
默认用户名:Admin
密码: zabbix
2.12 准备service 文件(server和agent)
#先停止 zabbix-server
pkill zabbix_server[root@localhost system]#vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target[Service]
Environment="CONFFILE=/apps/zabbix_server/etc/zabbix_server.conf"
EnvironmentFile=-/etc/default/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/apps/zabbix_server/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=infinity[Install]
WantedBy=multi-user.target[root@localhost ~]#chown zabbix:zabbix /apps/zabbix_server/ -R
[root@localhost system]#systemctl daemon-reload
[root@localhost system]#systemctl start zabbix-server.service
[root@localhost system]#systemctl status zabbix-server.service#先停止当前zabbix_agent进程 10050端口
# pkill zabbix_agentd
# cat /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=apps/zabbix_server/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix_server/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
# systemctl restart zabbix-agent && systemctl enable zabbix-agent
2.13 修改中文
2.14 在192.168.10.30上安装zabbix-agent
安装依赖环境
yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel libevent-devel java-1.8.0-openjdk-devel -y
解压安装包 编译
[root@node2 zabbix-4.0.30]#tar xf zabbix-4.0.30.tar.gz
[root@node2 zabbix-4.0.30]#./configure --prefix=/apps/zabbix --enable-agent
[root@node2 zabbix-4.0.30]#make -j2 && make install
准备service文件
[root@node2 zabbix-4.0.30]#useradd zabbix
# 新建用户[root@node2 zabbix-4.0.30]#vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target[root@node2 zabbix-4.0.30]#systemctl daemon-reload
[root@node2 zabbix-4.0.30]#systemctl start zabbix-agent.service
[root@node2 zabbix-4.0.30]#systemctl status zabbix-agent.service
修改配置文件
[root@node2 etc]#vim zabbix_agentd.conf
94 Server=192.168.91.100 #指向当前zabbix server
##### Passive checks related #被动检查相关配置### Option: ListenPort
ListenPort=10050 #监听端口 默认的无需修改119 StartAgents=3
#启动3个进程收集数据146 Hostname=192.168.10.30
#指定名称 一般使用 IP地址, 等会需要使用[root@node2 zabbix-4.0.30]#systemctl restart zabbix-agent.service
[root@node2 etc]#systemctl status zabbix-agent.service
# 可以看到三个监听线程
web页面主控端添加被监控主机
在zabbix web管理界面添加上一步安装了zabbix agent的linux主机。
添加模板不添加模板是不会监控的
过段时间就会变绿
三、监控tomcat开启JMX监控
3.1 在30服务器上安装tomcat
略
3.2 tomcat开启JMX监控
JMX在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务,通常使用JMX来监控系统的运行状态。
[root@node2 data]#vim /usr/local/tomcat/bin/catalina.sh
#一般加在116行
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.10.30" [root@node2 data]#systemctl restart tomcat
#重启服务
[root@node2 data]#systemctl status tomcat
[root@node2 data]#ss -napt|grep 12345
#12345开启就可以
LISTEN 0 50 :::12345 :::* users:(("java",pid=13661,fd=24))CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote #启用远程监控JMX
-Dcom.sun.management.jmxremote.port=12345 #默认启动的JMX端口号,要和zabbix添加主机时候的端口一致即可
-Dcom.sun.management.jmxremote.authenticate=false #不使用用户名密码
-Dcom.sun.management.jmxremote.ssl=false #不使用ssl认证
-Djava.rmi.server.hostname=x.x.x.x" #tomcat主机自己的IP地址,不要写zabbix服务器的地址
选项 | 含义 |
---|---|
-Dcom.sun.management.jmxremote | #启用远程监控JMX |
-Dcom.sun.management.jmxremote.port=12345 | #默认启动的JMX端口号,要和zabbix添加主机时候的端口 一致即可 |
-Dcom.sun.management.jmxremote.authenticate=false | #不使用用户名密码 |
-Dcom.sun.management.jmxremote.ssl=false | #不使用ssl认证 |
-Djava.rmi.server.hostname=x.x.x.x" | #tomcat主机自己的IP地址,不要写zabbix服务器的地址 |
3.3 配置zabbixserver
在主服务器上配置启动 javagateway
[root@localhost data]#vim /apps/zabbix_server/sbin/zabbix_java/settings.sh
#不需要修改35 START_POLLERS=5 #启动5个线程去采集java数据
43 TIMEOUT=30 #一个数据的超时时间30s[root@localhost data]#/apps/zabbix_server/sbin/zabbix_java/startup.sh
# 启动服务
[root@localhost data]#ss -antp |grep 10052
LISTEN 0 50 :::10052 :::* users:(("java",pid=47582,fd=14))
配置 zabbix-server 对接 java-gateway
[root@localhost data]#vim /apps/zabbix_server/etc/zabbix_server.conf
281 JavaGateway=192.168.10.20 #指明gateway地址
297 StartJavaPollers=5 #开启多少个进程去收集java服务器的信息289 JavaGatewayPort=10052 # 默认不用改[root@localhost ~]#systemctl restart zabbix-server
#快照起不来 重启机器
#重启后不要忘记开启 javagateway
3.4 web页面配置
最后jmx 处会变绿
四、zabbix主动与被动监控模式
4.1 被动模式
zabbix-server 服务器主动去 连接 被监控服务器
无论是模式还是被动模式,都是站在zabbix agent角度来说的工作模式,比如被动模式,是说zabbix agent被动的接受zabbix server周期性发送过来的数据收集指令,在被动模式之下,zabbix server会根据主机关联的模板中的监控项和数据采集间隔时间,周期性的打开随机端口并向zabbix agent服务器的10050发起tcp连接,然后发送获取监控项数据的指令,即zabbix server发送什么指令那么zabbix agent就收集什么数据,zabbix server什么时候发送zabbix agent就什么时候采集,zabbix server不发送zabbix agent就一直不响应,所以zabbix agent也不用关心其监控项和数据采集周期间隔时间。
被动模式的优点就是配置简单,安装后即可使用,因此也成为zabbix 的默认工作模式,但是被动模式的最大问题就是会加大zabbix server的工作量,在数百甚至数千台服务器的环境下会导致zabbix server需要轮训向每个zabbix agent发送数据采集指令,如果zabbix server负载很高还会导致不能及时获取到最新数据,但由于无需其他复杂配置,被设置为了默认的工作方式。
-
主服务器会开启随机端口去连接 客户端的 10050 端口 来获取数据
-
从节点将数据交给主
-
主写入数据库
-
最后展示在 web页面中
4.2 主动模式
主动模式是由zabbix agent主动向zabbix server的10051端口发起tcp连接请求,因此主动模式下必须在zabbixagent配置文件中指定zabbix server的IP或者主机名(必须可以被解析为IP地址),在连接到zabbix server之前zabbix agent是不知道自己要采集那些数据以及间隔多久采集一次数据的,然后在连接到zabbix server以后获取到自己的监控项和数据采集间隔周期时间,然后再根据监控项采集数据并返回给zabbix server,在主动模式下不再需要zabbix serve向zabbix agent发起连接请求,因此主动模式在一定程度上可减轻zabbix server打开的本地随机端口和进程数,在一定程度就减轻看zabbix server的压力。
-
初次连接agent服务器会开启随机端口去连接 服务端的 10051 端口 来获取 需要监控的数据类型(监控项)
-
从节点将数据交给主
-
主写入数据库
-
最后展示在 web页面中
-
此后的数据收集就不需要先去获取监控项目
4.3 zabbix proxy被动模式部署与使用
编译安装proxy软件
#安装依赖环境yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel java-1.8.0-openjdk-devel -y./configure --prefix=/apps/zabbix_proxy --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2make && make install
准备 数据库
yum install mariadb-server -y
systemctl start mariadb
#新建表
create database zabbix_proxy_active character set utf8 collate utf8_bin;
create database zabbix_proxy_passive character set utf8 collate utf8_bin;
# 授权
grant all privileges on zabbix_proxy_active.* to proxy@'192.168.10.%' identified by '123456';
grant all privileges on zabbix_proxy_passive.* to proxy@'192.168.10.%' identified by '123456';
grant all privileges on zabbix_proxy_active.* to proxy@'localhost' identified by '123456';
grant all privileges on zabbix_proxy_passive.* to proxy@'localhost' identified by '123456';#导入数据结构
#先去源码包目录
mysql -uproxy -p123456 -h192.168.10.40 zabbix_proxy_passive < database/mysql/schema.sql
mysql -uproxy -p123456 -h192.168.10.40 zabbix_proxy_active < database/mysql/schema.sql
修改配置文件
[root@localhost zabbix-4.0.30]#cd /apps/zabbix_proxy/etc/
[root@localhost zabbix_proxy]#vim zabbix_proxy.conf
13 ProxyMode=1
# 1是被动
#0为主动 修改为131 Server=192.168.10.20
# 指向 zabbix服务器 , 就算是主动模式也需要修改应为不是所有监控项都是主动还有被动的40 ServerPort=10051
#被动模式可以不修改 应为是 zabbix-server 主动50 Hostname=passive
# web 配置中需要使用, 必须一致158 DBHost=192.168.10.40
#数据库地址169 DBName=zabbix_proxy_passive
# 数据库名字184 DBUser=proxy
#数据库用户192 DBPassword=123456
#数据库密码244 ConfigFrequency=5
#间隔多少秒从zabbix server获取监控项信息
启动 proxy 软件 及proxy 上的agent
[root@localhost zabbix-4.0.30]#useradd zabbix
[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_proxy
[root@localhost zabbix-4.0.30]#ss -natpl |grep 10051
[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_agentd
# 一定要开[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_agentd
[root@localhost zabbix-4.0.30]#
[root@localhost zabbix-4.0.30]#
[root@localhost zabbix-4.0.30]#pstree -p|grep zabbix
修改被监控端指向 40 代理
[root@localhost ~]# vim /apps/zabbix/etc/zabbix_agentd.conf
94 Server=192.168.10.20,192.168.10.40
#被动模式 允许 40代理 来获取数据
[root@localhost ~]#systemctl restart zabbix-agent.service
[root@localhost ~]#systemctl status zabbix-agent.service
web端添加代理
4.3 zabbix proxy主动模式部署与使用
安装 proxy
yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php phpbcmath php-mbstring mariadb mariadb-devel java-1.8.0-openjdk-devel -y
./configure --prefix=/apps/zabbix_proxy --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install
检测是否可以连接数据库
也可以在此服务器单独安装
mysql -uproxy -p123456 -h192.168.10.30
修改配置文件
[root@localhost zabbix-4.0.30]#cd /apps/zabbix_proxy/etc/
[root@localhost zabbix_proxy]#vim /apps/zabbix_proxy/etc/zabbix_proxy.conf
13 ProxyMode=0
# 1是被动 0为主动 需要开启31 Server=192.168.10.20
# 指向 zabbix服务器 , 就算是主动模式也需要修改应为不是所有监控项都是主动还有被动的40 ServerPort=10051
#被动模式可以不修改 应为是 zabbix-server 主动50 Hostname=active
# web 配置中需要使用, 必须一致158 DBHost=192.168.10.30
#数据库地址169 DBName=zabbix_proxy_active
# 数据库名字184 DBUser=proxy
#数据库用户192 DBPassword=123456
#数据库密码
启动
[root@localhost zabbix-4.0.30]#useradd zabbix
[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_agentd
[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_proxy
[root@localhost zabbix-4.0.30]#ss -natpl |grep 10051
只需要写 之前配置的 hostname即可
修改被监控端
[root@node2 ~]#vim /apps/zabbix/etc/zabbix_agentd.conf
135 ServerActive=192.168.10.30
#指向 代理服务器
[root@node2 ~]#systemctl restart zabbix-agent.service
[root@node2 ~]#systemctl status zabbix-agent.service
相关文章:

Zabbix监控系统:zabbix服务部署+基于Proxy分布式部署+zabbix主动与被动监控模式
一、Zabbix概述 1.1 简介 zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix 能监视各种网络参数,保证服务器系统的安全运营,提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix…...

【Vue实战教程】之 Vue Router 路由详解
Vue Router路由 1 路由基础 1.1 什么是路由 用Vue.js创建的项目是单页面应用,如果想要在项目中模拟出来类似于页面跳转的效果,就要使用路由。其实,我们不能只从字面的意思来理解路由,从字面上来看,很容易把路由联想…...
测试用例接口开发实战
测试用例接口开发实战 前言 在上一集,我们也大概完成了对Jmeter的二次开发的Demo版本的了解,我们接下来就要基于这个Demo来将Jmeter压测进行平台化。 那么这一集,我们讲一讲测试用例接口开发实战。 StressCaseController 我们的Controll…...
C#中压缩文件夹,及其内容
压缩包格式,本文主要用于说明如何使用代码 文件或文件夹压缩为 zip压缩包及其解压操作, 下面分两个版本进行实现 1.简单版本 bool DoCompressDirectoryInfo(string folderPath){try{var zipFilePath $"{folderPath}.zip";var directoryInfo …...
机器学习 | 回归算法原理——多项式回归
Hi,大家好,我是半亩花海。接着上次的最速下降法(梯度下降法)继续更新《白话机器学习的数学》这本书的学习笔记,在此分享多项式回归这一回归算法原理。本章的回归算法原理基于《基于广告费预测点击量》项目,…...
力扣224【基本计算器】
给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() 。 1 < s.length < 3 * 105 s 由数字、‘’、‘-’、‘(’、‘)’、和 ’ ’ 组成 s 表示一个有效的…...

【Linux】HTTP 协议
目录 1. URL2. HTTP 协议2.1. HTTP 请求2.2. HTTP 响应 1. URL URL 表示着是统一资源定位符(Uniform Resource Locator), 就是 web 地址,俗称“网址”; 每个有效的 URL 可以通过互联网访问唯一的资源, 是互联网上标准资源的地址; URL 的主要由四个部分组成: sche…...
@Builder注释导致@RequestBody的前端json反序列化失败,HTTP400
项目里发生了一个bug,就是前端请求一个接口时候,报了HTTP 400 Bad Request 通常来说这个问题是前后端的参数没对齐,比如前端传了个String,但后端对应的是Integer。 所以我就排查了半天,结果没发现啥错误,…...
网络学习|如何理解服务的端口号
文章目录 1. 端口号的定义2. 端口号的分类3. 端口号的用途4. 注意事项5. 示例图解 后端面试中可能遇到的端口相关问题及答案1. 什么是端口号?为什么需要端口号?2. 知名端口(Well-Known Ports)有哪些,举例说明ÿ…...

《0基础》学习Python——第十八讲__爬虫/<1>
一、什么是爬虫 爬虫是一种网络数据抓取的技术。通过编写程序(通常使用Python),爬虫可以自动化地访问网页,解析网页内容并提取出所需的数据。爬虫可以用于各种用途,如搜索引擎的索引,数据分析和挖掘&#x…...

NFTScan 浏览器现已支持 .mint 域名搜索功能!
近日,NFT 数据基础设施 NFTScan 浏览器现已支持用户输入 .mint 域名进行 Mint Blockchain 网络钱包地址的搜索查询, NFTScan 用户能够轻松地使用域名追踪 NFT 交易,为 NFT 钱包地址相关的搜索查询功能增加透明度和便利性。 NFTScan explorer…...

Git基本原理讲解、常见命令、Git版本回退、Git抛弃本地分支拉取仓库最新分支
借此机会写篇博客汇总一下自己去公司实习之后遇到的一些常见关于Git的操作。 Git基本认识 Git把数据看作是对小型文件系统的一组快照,每次提交更新,或在Git中保存项目状态时,Git主要对当时的全部文件制作一个快照并保存这个快照的索引。同时…...

前端网页打开PC端本地的应用程序实现方案
最近开发有一个需求,网页端有个入口需要跳转三维大屏,而这个大屏是一个exe应用程序。产品需要点击这个入口,并打开这个应用程序。这个就类似于百度网盘网页跳转到PC端应用程序中。 这里我们采用添加自定义协议的方式打开该应用程序。一开始可…...

遇到not allow unquoted fieldName怎么办
前言 Exception in thread "main" com.alibaba.fastjson2.JSONException: not allow unquoted fieldName, offset 2, character , line 1, column 3, fastjson-version 2.0.25 { "data":null, "code":200, "msg":"成功"…...

IDEA安装并使用通义灵码
IDEA安装并使用通义灵码 通义灵码介绍安装通义灵码 通义灵码介绍 在数字革命的前沿,阿里云技术团队匠心独运,倾力打造“通义灵码”——一个融合尖端科技的智能编码助手,旨在革新软件工程的未来。 实时代码扩展 通义灵码具备深度理解代码脉络的…...

<数据集>AffectNet表情识别数据集<目标检测>
数据集格式:VOCYOLO格式 图片数量:29752张 标注数量(xml文件个数):29752 标注数量(txt文件个数):29752 标注类别数:7 标注类别名称:[anger,contempt,disgust,fear,happy,neutral,sad,surprise] 序号类…...
ThinkPHP对接易联云打印
引入composer包 composer require yly-openapi/yly-openapi-sdk <?phpnamespace app\common\library;use app\admin\model\yp\Order; use App\Api\PrintService; use App\Config\YlyConfig; use App\Oauth\YlyOauthClient; use think\Cache; use think\Config;class Yly {…...
JavaScript轮播图
HTML部分 <div class"box" onmouseover"over()" onmouseout"noover()"><img src"./img/zuo.png" alt"" class"left_arrow" onclick"left_last()"><img src"./img/yy.png" al…...

修复SteamUI.dll加载失败的指南,快速修复failed to load steamui.dll
在使用Steam平台进行游戏下载、安装和运行时,可能会遇到一些系统错误,比如“failed to load steamui.dll”。这个错误通常意味着Steam的用户界面库文件steamui.dll出现了问题。本文将详细介绍steamui.dll文件的相关信息以及如何修复这一问题。 一.什么是…...

PCL Local Surface Patches 关键点提取
目录 一、算法原理1、算法原理2、 参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、算法原理 主曲率是某一点局部形状的体现,Local Surface Patches 关键点检测法…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...