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

Zabbix分布式监控快速入门

目录

  • 1 Zabbix简介
    • 1.1 软件架构
    • 1.2 版本选择
    • 1.3 功能特性
  • 2 安装与部署
    • 2.1 时间同步需求
    • 2.2 下载仓库官方源
    • 2.3 Zabbix-Server服务端的安装
      • 2.3.1 安装MySQL
        • 2.3.1.1 创建Zabbix数据库
        • 2.3.1.2 导入Zabbix库的数据文件
      • 2.3.2 配置zabbix_server.conf
      • 2.3.3 开启Zabbix-Server服务
      • 2.3.4 防火墙、SELinux和权限的设置
        • 2.3.4.1 防火墙的设置
        • 2.3.4.2 SELinux的设置
      • 2.3.5 php.ini配置文件的设置
      • 2.3.6 配置Zabbix-Web
    • 2.4 Zabbix-Agent客户端的安装
      • 2.4.1 安装Zabbix-Agent
      • 2.4.2 防火墙的设置
      • 2.4.3 配置zabbix_agentd.conf


1 Zabbix简介

在这里插入图片描述

Zabbix是一个企业级的高度集成的开源监控软件,提供了分布式监控解决方案,可以用来监控设备、服务等的可用性和性能。其产品不分企业版和社区版,是一个真正的源码开放产品,用户可以自由下载并使用该软件。地址:https://www.zabbix.com/cn

在这里插入图片描述

从功能上说,Zabbix支持多种采集方式和采集客户端,有专用的Agent(代理),也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库中,可以支持MySQL、Oracle、PostgreSQL、SQLite、Elasticsearch等数据库,然后对其进行分析整理,达到条件触发告警,并支持对告警数据的分析统计。Zabbix具有良好的管理界面。

1.1 软件架构

Zabbix的通用架构采用客户端/服务器端模式,分布式架构采用客户端/代理端/服务器端模式,Zabbix-Server将采集到的数据持久地存储到数据库中,用前端UI友好地展示给用户。

客户端采集数据,代理服务器做代理,服务器端处理数据的架构模式:

在这里插入图片描述

Zabbix数据的采集不仅可以使用Agent方式,也可以使用其他方式,如采用SNMP、SSH、Telnet、IPMI等多种协议。

1.2 版本选择

在这里插入图片描述

截图来自官网:https://www.zabbix.com/cn/life_cycle_and_release_policy

Zabbix首个发行版本为Zabbix 1.0 alpha1,其发行时间为2001年4月7日。随着版本的升级,其功能特性也在不断地增强和完善。

  • 1.X版本,具备较完备的功能;
  • 2.X版本,增强了很多新的功能特性,如对JMX、自动发现、LLD(Low Level Discovery)、虚拟化功能的原生支持。至此,Zabbix在国内逐渐流行(2013年前后开始逐渐被大多数公司所接受),成为大多数公司首选的监控系统。
  • 3.X版本,对用户体验进行了优化。随着版本的不断迭代,功能持续增强,性能逐步提高。

非LTS的版本均为实验版本,每6个月发布一个新版本。因此,对于生产环境版本的选择,我们尽量选择LTS版本,可享受长期更新支持服务,这样即使出现安全漏洞等问题,也会得到更新支持。

1.3 功能特性

Zabbix具有常见的商业监控软件所具备的功能,如主机性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制、分布式、可扩展能力、API等。
在这里插入图片描述

  1. 数据收集

    • 可用性、性能检测。
    • 支持Agent、SNMP(包括Trapping和Polling)、IPMI、JMX、SSH、Telnet等。
    • 自定义检测。
    • 自定义收集数据的频率。
    • 客户端/代理端/服务器端模式。
  2. 灵活的触发器

    可以定义非常灵活的告警阈值和与多种告警相关联的条件。

  3. 高度可定制的告警

    • 发送通知,可定制包括告警级别、动作升级、收件人和媒体类型。
    • 通知可以使用全局宏变量和自定义变量。
    • 自动处理功能包括远程命令的自动调用和执行。
  4. 实时的绘图功能

    监控项将数据实时绘制在图形上。

  5. Web监控能力

    Zabbix可以模拟浏览器请求访问一个网站,并检查返回值和响应时间。

  6. 多种可视化展示

    • 可以自定义监控的展示图,将多种监控数据集中展示到一张图上。
    • 网络拓扑图。
    • 自定义的Screens和Slide shows可以将多种图形集中展示。
    • 报表功能。
    • 资源使用情况的监控展示。
  7. 历史数据的存储

    • 将数据存储在数据库中。
    • 历史数据的存放周期可配置。
    • 定期删除过期的历史数据。
  8. 配置非常容易

    配置比较简单,只需要以下两步即可:(1)添加设备。(2)应用模板即可完成监控。

  9. 使用模板

    • 模板可以分组。
    • 模板具有可继承性。
  10. 网络发现

    • 支持自动发现网络设备和服务器(可以通过配置自动发现服务规则实现)。
    • Agent自动注册。
    • 支持用自动发现(Low Level Discovery)实现动态监控项的批量监控(支持自定义),内置的自动发现包括文件系统、网络接口、SNMP OID,可定制自动发现。
  11. 快速的访问接口

    • Web页面基于PHP。
    • 远程访问。
    • 日志审计。
  12. API功能

    应用API功能可以方便地与其他系统结合,包括手机客户端的使用。

  13. 系统权限

    • 不同的用户展示监控的资源不同。
    • 用户身份认证。
  14. 程序特性

    服务器端Zabbix-Server和采集端Zabbix-Agent使用C语言编写,其性能非常高,内存开销非常小。

  15. 大型环境的支持

    利用Zabbix-Proxy方式可轻松构建远程监控。

2 安装与部署

软件环境由CentOS 7(64位)、httpd、PHP和MariaDB组成。

在这里插入图片描述

由于Zabbix核心组件是用C语言写的,所以理论上其可以支持Linux、UNIX、Windows等常见的操作系统,但Zabbix-Server和Zabbix-Porxy均不支持Windows系统(底层的实现依赖Linux系统的一些特性)。在Zabbix 3.0版本以后,对其支持最好的CentOS版本为7.0以上版本,7.0以下版本的安装和配置均比较麻烦,因此不再推荐使用。

在这里插入图片描述

注意:如果仅仅检测网络服务FTP、SSH、HTTP、DNS、LDAP,则无须安装任何客户端,即可支持获取监控数据。

2.1 时间同步需求

Zabbix-Server对时间的精准要求比较高,时间对数据的计算等都有影响,因此必须设置NTP自动同步时间。

[root@linux30 zabbix]# yum -y install ntp

2.2 下载仓库官方源

访问Zabbix的软件仓库网站,网址为http://repo.zabbix.com

在这里插入图片描述

安装Zabbix的RPM包软件仓库官方源:

[root@linux30 zabbix]# pwd
/opt/itcast/zabbix
[root@linux30 zabbix]# ll
总用量 16
-rw-r--r--. 1 root root 13712 223 11:44 zabbix-release-4.0-1.el7.noarch.rpm
[root@linux30 zabbix]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
警告:zabbix-release-4.0-1.el7.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ###################### [100%]
正在升级/安装...1:zabbix-release-4.0-1.el7         ###################### [100%]
[root@linux30 zabbix]# rpm -ql zabbix-release
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
/etc/yum.repos.d/zabbix.repo
/usr/share/doc/zabbix-release-4.0
/usr/share/doc/zabbix-release-4.0/GPL
[root@linux30 zabbix]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
[root@linux30 zabbix]#

2.3 Zabbix-Server服务端的安装

安装Zabbix-Server服务器端,由于服务器端也是需要监控的,故这里也一并安装了Zabbix-Agent。

[root@linux30 zabbix]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get

2.3.1 安装MySQL

在CentOS 7系统包仓库安装源中,我们需要安装mariadb-server,而不是MySQL数据库服务(7.0以后的版本用MariaDB替换了MySQL),命令如下:

[root@linux30 zabbix]# yum -y install mariadb-server

修改MySQL配置文件:

[root@linux30 zabbix]# vi /etc/my.cnf

添加如下内容:

[mysqld]
# 设置字符集为UTF-8
character-set-server=utf8
# 让InnoDB的每个表文件单独存储
innodb_file_per_table=1

启动服务:

[root@linux30 zabbix]# systemctl start mariadb

查看服务是否启动成功:

在这里插入图片描述

2.3.1.1 创建Zabbix数据库

首先设置MySQL的root用户密码,然后创建zabbix数据库,设置访问策略.

# 设置root用户密码为123456
[root@linux30 zabbix]# mysqladmin -uroot password 123456
# 登录MySQL
[root@linux30 zabbix]# mysql -uroot -p123456
# 创建数据库,名称为zabbix,并将其字符集设置为UTF-8
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
# 设置zabbix数据库的权限,允许用户zabbix的IP地址127.0.0.1和localhost访问
# 并将zabbix账号的密码设置为zabbix
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
# 刷新权限,使其立即生效
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

这里容易出现的问题是,如果创建zabbix数据库的字符集不为UTF-8,则可能会导致Web界面切换到中文语言时出现乱码。

2.3.1.2 导入Zabbix库的数据文件

导入Zabbix库的数据文件,使用以下命令:

# 进入对应版本目录
[root@linux30 zabbix]# cd /usr/share/doc/zabbix-server-mysql-4.0.38/
# 将sql文件解压缩
[root@linux30 zabbix-server-mysql-4.0.38]# gunzip create.sql.gz
# 以zabbix用户登录
[root@linux30 zabbix-server-mysql-4.0.38]# mysql -uzabbix -pzabbix -h127.0.0.1
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
| zabbix             |
+--------------------+
3 rows in set (0.00 sec)
# 切换到zabbix数据库
MariaDB [(none)]> use zabbix;
Database changed
# 导入sql文件
# create.sql是zabbix源码包中的3个SQL文件的集合,即分别为schame.sql(表结构);images.sql(图形相关数据);data.sql(模板相关数据)
MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-4.0.38/create.sql

2.3.2 配置zabbix_server.conf

配置zabbix_server.conf文件如下:

 vi /etc/zabbix/zabbix_server.conf

内容如下:

# 日志文件
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
# 数据库连接
DBHost=192.168.10.30
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306StartPollers=100
StartIPMIPollers=10
StartPollersUnreachable=10
StartTrappers=10
StartPingers=10
StartDiscoverers=10
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=256M
HistoryCacheSize=128M
TrendCacheSize=128M
ValueCacheSize=2048M
Timeout=30
Timeout=4
TrapperTimeout=300
# 告警和扩展脚本路径
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

告警和扩展脚本路径可能默认不存在,使用以下命令创建目录:

[root@linux30 zabbix]# mkdir -p /etc/zabbix/alertscripts /etc/zabbix/externalscripts

2.3.3 开启Zabbix-Server服务

启动服务:

[root@linux30 zabbix]# systemctl start zabbix-server
[root@linux30 zabbix]# systemctl start httpd

查看进程:

在这里插入图片描述

查看日志:

[root@linux30 zabbix]# tail -f /var/log/zabbix/zabbix_server.log

2.3.4 防火墙、SELinux和权限的设置

2.3.4.1 防火墙的设置

如果CentOS操作系统存在防火墙,则需要允许相关端口能够访问,配置命令如下:

[root@linux30 ~]# firewall-cmd --permanent --add-port=80/tcp
# 10050是Agent的端口,Agent采用被动方式,Server主动连接Agent的10050端口;
[root@linux30 ~]# firewall-cmd --permanent --add-port=10050/tcp
# 10051是Server的端口,Agent采用主动或Trapper方式,会连接Server的10051端口。
[root@linux30 ~]# firewall-cmd --permanent --add-port=10051/tcp
[root@linux30 ~]# firewall-cmd -reload

2.3.4.2 SELinux的设置

如果操作系统已开启SELinux,则需要设置语句开启允许SELinux的相关策略。

[root@linux30 ~]# setsebool -P httpd_can_connect_zabbix on
[root@linux30 ~]# setsebool -P httpd_can_network_connect_db on
# 获取当前SELinux的运行状态
[root@linux30 ~]# getenforce
Enforcing
# 设置为告警模式,只给出提示,不会阻止操作,不用重启服务
[root@linux30 ~]# setenforce 0

直接关闭SELinux的方法:

[root@linux30 ~]# vi /etc/selinux/config
SELINUX=disabled
注意:此方式需要重启服务器才能生效。

2.3.5 php.ini配置文件的设置

修改php.ini相关配置参数,命令如下:

[root@linux30 etc]# vi /etc/php.ini
data.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 16M
max_input_time = 300
# web页面内存不够用时,调节此参数
memory_limit = 128M
mbstring.func_overload = 0

修改zabbix.conf,只需要修改date.timezone即可

[root@linux30 etc]# vi /etc/httpd/conf.d/zabbix.conf
# 修改date.timezone
php_value date.timezone Asia/Shanghai

如果在后面配置Web时提示任何参数不满足安装与配置要求,则修改对应的参数后重启httpd即可。

2.3.6 配置Zabbix-Web

打开浏览器,输入http://IP地址/zabbix,会出现欢迎页面。

http://192.168.10.30/zabbix

在这里插入图片描述

PHP提示的各项参数都满足后,可以继续往下进行,单击“Next step”按钮。如果提示参数不通过,则修改php.ini配置文件,并重启Web(httpd)服务。
在这里插入图片描述

配置数据库连接的各项参数。单击“Next step”按钮进行下一步操作。

在这里插入图片描述

Zabbix-Server的连接地址、端口、名称设置,将会显示在Zabbix的前端页面中。

在这里插入图片描述

这些配置信息将会被写入/etc/zabbix/web/zabbix.conf.php文件中

在这里插入图片描述

在这里插入图片描述

配置文件生成成功

在这里插入图片描述

登录页面,默认账户是Admin,密码是zabbix

在这里插入图片描述

登录成功后的首页

在这里插入图片描述

在System information面板中,如Zabbix server is running为No,则分别检查SELinux、iptables,以及zabbix_server.conf和zabbix.conf.php中的各项配置参数

2.4 Zabbix-Agent客户端的安装

通过前面的介绍,我们知道Zabbix监控可以采用服务器端/客户端架构,其客户端的采集方式分为Agent、SNMP等。在这里,我们先学习使用Agent方式对服务器进行监控。

2.4.1 安装Zabbix-Agent

在这里,我们对需要进行监控的服务器安装Zabbix-Agent,使用RPM包方式进行安装,命令如下:

# 将rpm包复制到linux31服务器
[root@linux30 zabbix]# scp zabbix-release-4.0-1.el7.noarch.rpm root@192.168.10.31:/opt/itcast/zabbix/
# 安装Zabbix官方yum源
[root@linux31 zabbix]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
# 安装
[root@linux31 zabbix]# yum -y install zabbix zabbix-agent

2.4.2 防火墙的设置

如果操作系统开启了防火墙,为了允许端口能够正常通信,则需要使用下列命令进行配置:

[root@linux31 zabbix]# firewall-cmd --permanent --add-port=10050/tcp
[root@linux31 zabbix]# firewall-cmd --reload

2.4.3 配置zabbix_agentd.conf

zabbix_agentd.conf是Zabbix-Agent的配置参数文件,需要对配置参数进行手动修改。修改的参数如下:

[root@linux31 ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.10.30
ServerActive=192.168.10.30
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@linux31 ~]#

在这里插入图片描述

参数含义如下。

  • Server:被动模式,允许zabbix_server服务器连接客户端,此处允许192.168.10.30访问10050端口,多个IP地址之间用逗号分隔。
  • ServerActive:主动模式,向目标zabbix_server服务器传送数据。这种模式的性能较好,建议使用,但需要确保zabbix_agentd.conf的参数Hostname值与Zabbix-Web页面中的主机名一致;

配置完成后,使用如下命令启动Zabbix-Agent:

[root@linux31 zabbix]# systemctl start zabbix-agent

相关文章:

Zabbix分布式监控快速入门

目录 1 Zabbix简介1.1 软件架构1.2 版本选择1.3 功能特性 2 安装与部署2.1 时间同步需求2.2 下载仓库官方源2.3 Zabbix-Server服务端的安装2.3.1 安装MySQL2.3.1.1 创建Zabbix数据库2.3.1.2 导入Zabbix库的数据文件 2.3.2 配置zabbix_server.conf2.3.3 开启Zabbix-Server服务2.…...

基于Spring包扫描工具和MybatisPlus逆向工程组件的数据表自动同步机制

公司产品产出的项目较多。同步数据库表结构工作很麻烦。一个alter语句要跑到N个客户机上执行脚本。超级费时麻烦。介于此,原有方案是把增量脚本放到一resource包下,项目启动时执行逐行执行一次。但由于模块开发人员较多,总有那么一两个机灵鬼…...

leetcode 面试题 0106.字符串压缩

⭐️ 题目描述 🌟 leetcode链接:面试题 0106.字符串压缩 思路: 开辟一个新的空间(空间要大一点,因为可能压缩后的字符串比原字符串大),然后遍历原字符串统计当前字符的个数,再写入到…...

三、Spring源码-实例化

Spring源码-Bean的实例化 接下来我们看看Bean的实例化处理 一、BeanDefinition 首先我们来看看BeanDefinition的存放位置。因为Bean对象的实例化肯定是BeanFactory基于对应的BeanDefinition的定义来实现的,所以在这个过程中BeanDefinition是非常重要的,…...

算法的法律框架:预测未来的关键趋势

随着科技的飞速发展,算法和人工智能(AI)已成为我们社会生活的重要组成部分。然而,它们也带来了许多新的法律和道德挑战,这使得算法的法律框架变得日益重要。在这个背景下,预测未来算法法律框架的关键趋势成…...

Ubuntu Server版 之 共享文件 samba和NFS 两种方法

NFS 和 Samba NFS : linux之间资源共享 Samba: 是windows系统与Linux系统之间资源共享的 samba 安装samba 工具 sudo apt install samba 创建共享目录 sudo mkdir /home/shared sudo chmod 777 /home/shared 配置sambd sudo vim /etc/samba/smb.con…...

实时协作:团队效率倍增的关键

实时协作是指团队在当前时刻共同完成项目的能力。无论是否使用技术,都能实现这一点。然而,随着远程工作的盛行,安全的协作工具被用来让团队成员在项目和一般业务之间保持联系和同步。 传统协作与实时协作的区别 两种类型的协作最明显的区别…...

电脑选睡眠、休眠还是关机?

关机 这是大家最熟悉的。关机时,系统首先关闭所有运行中的程序,然后关闭系统后台服务。随后,系统向主板请求关机,主板断开电源的供电使能,让电源切断对绝大多数设备的供电(只剩一些内部零件仍会维持电源供应…...

算法通关村第三关——不简单的数组增删改查

线性表基础 线性表概念 线性表就是具有相同特征数据元素的一个有限序列,其中包含元素的个数称为线性表的长度 线性表类型 从不同的角度看,线性表有不同的分类 语言实现角度 顺序表有两种实现方式 一体式 分离式 一体式结构 一体式:存储信息…...

【Linux】动静态库

目录 写在前面的话 如何编写静态库库 编写静态库 ar命令 Makefile自动化形成静态库 如何使用编写的静态库 1.拷贝到系统路径中 2.指定路径搜索 如何编写动态库 编写动态库 完善Makefile 如何使用编写的动态库 指定路径搜索(不可行及原因) 环境变量LD_LIBRARY_PAT…...

《kubernetes权威指南》-第一章学习笔记

1.什么是kubernetes? kubernetes是一个全新的基于容器技术的分布式架构领先方案。 2.为什么要用kubernetes? 使用kubernetes提供的解决方案能够减少30%的开发成本,并且能够将开发人员的精力更加集中于业务本身,同时可以降低系统…...

ubuntu 18.04 磁盘太满无法进入系统

安装了一个压缩包,装了一半提示磁盘空间少导致安装失败。我也没在意,退出虚拟机打算扩展硬盘。等我在虚拟机设置中完成扩展操作,准备进入虚拟机内部进行操作时,发现登录不进去了 shift 登入GUN GRUB设置项的问题 网上都是在开机…...

基于LNMP配置WordPress建站时出现的问题汇总

目录 wordpress上传文件报错问题描述原因分析:解决方案: wordpress裁剪图片报错问题描述原因分析:解决方案: 配置固定链接和伪链接 wordpress上传文件报错 WP内部错误,在上传文件时发生了错误,显示权限不足…...

【Spring Cloud】Gateway的配置与使用

文章目录 前言第一步,创建一个springboot工程第二步,添加依赖第三步,编写yml文件第四步,启动主启动类总结 前言 Gateway其实是springcloud 原生的东西,但是我还是想放在这里讲,因为我们使用nacos时&#x…...

概念、框架简介--ruoyi学习(一)

开始进行ruoyi框架的学习,比起其他的前后端不分离的,这个起码看的清晰一些吧。 这一节主要是看了ruoyi的官方文档后,记录了以下不懂的概念,并且整理了ruoyi框架中的相关内容。 一些概念 前端 store store是状态管理库&#x…...

IDEA的基础使用——【初识IDEA】

IDEA的基础使用——【初识IDEA】 文章目录 IDEA简介前言官网 IDEA的下载与安装选择下载路径勾选自己需要的其余按默认选项进行即可 目录简介安装目录简介 运行Hello WorldIDEA快捷键常用模板模板一:psvm(main)模板二:模板三&#…...

LeetCode刷题总结-动态规划篇

LeetCode刷题总结-动态规划篇 本文总结LeetCode上有动态规划的算法题,推荐刷题总数为54道。具体考点分析如下图: 1.中心扩展法 题号:132. 分割回文串 II,难度困难 2.背包问题 题号:140. 单词拆分 II,难…...

el-table使用xlsx实现导入文件编辑功能

需求:列表根据xlsx文件导入后,和列表进行对比,之后实现编辑功能 1.下载xlsx 我下的是之前的版本,新版不知道兼不兼容,这个包900多k npm install xlsx0.14.5 2.在需要使用表格导入的页面引入 import XLSX from &quo…...

Android9、11 有线网络开关设置

Android9、11 有线网络开关设置 Android9、11 有线网络开关设置_android 以太网开关_峥嵘life的博客-CSDN博客...

【MySQL】mysql问题 | [ERROR] unknown variable ‘column-statistics=0‘

一、说明 1、用到一个开源项目,dbBkTool[asurplus] 2、这个项目用于MySQL定时备份的 3、然后有个执行的时候,发下报错 [ERROR] unknown variable column-statistics0 二、解决 1、把MySQL客户端升级到8.0.19之后,就不报错了 2、column-stat…...

ElasticSearch 7.x

前言 elastic表示可伸缩,search表示查询。所以es的核心即为查询。通常情况下,我们的数据可以分为三类:结构化数据、非结构化数据、半结构化数据。 结构化数据:一般会用特定的结构来组织和管理数据,表现为二维表结构。…...

MVC乱码问题

RequestMapping(value "insert",produces {"text/html;charsetutf-8"}) //前端响应回去加响应头,解决乱码问题,这个还跟JSP响应头还不一样,这是响应的字符串,纯文本,那个前端的是out.Writer()对象&#xff…...

1004. 最大连续1的个数 III

题目描述&#xff1a; 主要思路&#xff1a; 刚看到这个问题首先想到的是二分答案&#xff0c;二分长度&#xff0c;然后利用滑动窗口判断是否可以达成。 class Solution { public:bool find(int x,vector<int> nums, int k){int now0;for(int i0,j0;i<nums.size();…...

【机器学习】西瓜书学习心得及课后习题参考答案—第3章线性模型

过了一遍第三章&#xff0c;大致理解了内容&#xff0c;认识了线性回归模型&#xff0c;对数几率回归模型&#xff0c;线性判别分析方法&#xff0c;以及多分类学习&#xff0c;其中有很多数学推理过程以参考他人现有思想为主&#xff0c;没有亲手去推。 术语学习 线性模型 l…...

面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...

一道经典的面试题是从 URL 在浏览器被被输入到页面展现的过程中发生了什么&#xff0c;大多数回答都是说请求响应之后 DOM 怎么被构建&#xff0c;被绘制出来。但是你有没有想过&#xff0c;收到的 HTML 如果包含几十个图片标签&#xff0c;这些图片是以什么方式、什么顺序、建…...

树莓派Pico|RP2040|官方文档|在MS Windows上构建“Hello World”及环境配置

9.2. 在MS Windows上构建 在Microsoft Windows 10或Windows 11上安装工具链与其他平台有些不同。然而安装后&#xff0c;RP2040的构建代码基本类似。  警告 官方不支持在Windows 7或8上使用Raspberry Pi Pico&#xff0c;但在Windows 7或8上可以使其工作。 9.2.1. 安装工具…...

全球公链进展| 2023/7/31

一周速览 过去一周&#xff0c;明星项目动态如下&#xff1a; 第114次以太坊核心开发者共识会议&#xff1a;Devnet #8 最早下周推出 Layer2网络Shibarium跨链桥已上线公开测试 Optimism 推出「Law of Chains」v0.1 版本 Sui 通过 SIP#6 &#xff0c;允许开发人员构建流动…...

Spring源码(三)Spring Bean生命周期

Bean的生命周期就是指&#xff1a;在Spring中&#xff0c;一个Bean是如何生成的&#xff0c;如何销毁的 Bean生命周期流程图 1、生成BeanDefinition Spring启动的时候会进行扫描&#xff0c;会先调用org.springframework.context.annotation.ClassPathScanningCandidateCompo…...

【iOS】Cydia Impactor 错误:file http.hpp; line:37; what: _assert(code == 200)

Cydia Impactor 报错&#xff0c;信息如下 file http.hpp; line:37; what: _assert(code 200)解决方案&#xff1a;Cydia Impactor 已被弃用&#xff0c;切换到sideloadly 即可&#xff0c;亲测成功&#xff0c;并且支持双重验证登录 csdn备份地址 HERE...

3ds MAX绘制茶壶

综合一下之前的内容画个茶壶 长方形&#xff0c;然后转化为可编辑多边形&#xff0c;添加节点并设置圆角&#xff0c;如下图 车削生成一个圆环&#xff0c;其实这一步也可以用一个圆柱体和两个圆角圆柱体解决 效果如下&#xff1a; 茶壶的底座绘制好了 接下来是茶壶的上半边 …...