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

CHAPTER 1 Zabbix介绍及安装

Zabbix介绍及安装

    • 1.1 Zabbix监控
      • 1 为什么要监控
        • 1.1 网站可用性
      • 2 监控什么东西
        • 2.1 监控范畴
      • 3 怎么来监控
        • 3.1 远程管理服务器
        • 3.2 监控硬件
        • 3.3 查看cpu相关
        • 3.4 内存
        • 3.5 磁盘
        • 3.6 监控网络
      • 4 监控工具总览
      • 5 zabbix介绍
        • 5.1 zabbix的组成
        • 5.2 zabbix监控范畴
    • 1.2 安装zabbix
      • 1 环境检查
      • 2 安装zabbix过程
        • 2.1 脚本安装方式
        • 2.2 手动安装-服务器端
          • 1.进入官方网站
          • 2.选择版本
          • 3.安装zabbix的源
          • 4.安装 server and agent
          • 5.安装前端(Install Zabbix frontend)
          • 6.编辑/etc/yum.repos.d/zabbix.repo
          • 7.安装web相关的软件
          • 8.安装mariadb数据库
          • 9.启动mariadb
          • 10.进入mysql
          • 11.修改数据库
          • 12.导入初始化数据,会在zabbix内导入很多表
          • 13.为Zabbix服务器配置数据库
          • 14.为Zabbix前端配置PHP
          • 15.关闭防火墙
          • 16.关闭selinux
          • 17.修改server的端口号
          • 18.启动 Zabbix 服务器和代理进程
        • 2.2 手动安装-客户端
          • 1.下载安装源
          • 2.安装agent
          • 3.关闭防火墙及selinux
          • 4.修改服务器IP及暴露端口
      • 3 检测连通性
        • 1.服务端安装zabbix-get检测工具
        • 2.测试及结果

Zabbix是什么
Zabbix是企业级开源监控解决方案,支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标。
Zabbix完全开源免费。
zabbix中文官网

zabbix是一个分布式监视及管理系统,基于server-clinet架构,常用的部署环境包括:LAMP,LNMP,LAPP或LNPP
参考:https://www.zabbix.com/cn/download

1.1 Zabbix监控

1 为什么要监控

在需要的时刻,提前提醒我们服务器出问题了
当出问题之后,可以找到问题的根源
网站/服务器的可用性

1.1 网站可用性

在软件系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差异。

  • 1个9:(1-90%)*365=36.5天,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是36.5天
  • 2个9:(1-99%)*365=3.65天 , 表示该软件系统在连续运行1年时间里最多可能的业务中断时间是3.65天
  • 3个9:(1-99.9%)36524=8.76小时,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。
  • 4个9:(1-99.99%)36524=0.876小时=52.6分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
  • 5个9:(1-99.999%)36524*60=5.26分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。
  • 6个9:(1-99.9999%)365246060=31秒, 示该软件系统在连续运行1年时间里最多可能的业务中断时间是31秒

2 监控什么东西

监控一切需要监控的东西,只要能够想到,能够用命令实现的都能用来监控

2.1 监控范畴

监控类型监控范围
硬件监控1.通过远程控制卡:Dell的IDRAC,HP的ILO和IBM的IMM等 2.使用IPMI来完成物理设备的监控工作。通常必须要监控的包括温度、硬盘故障等 3.路由器,交换机(端口,光衰,日志),打印机,Windows等
系统监控cpu,内存,硬盘使用率,硬盘IO,系统负载,进程数
服务监控apache,nginx,php-fpm,mysql,memcache,redis,tomcat,JVM,TCP连接数
性能监控网站性能,服务器性能,数据库性能,存储性能
日志监控系统产生的系统日志,应用程序产生的应用访问日志,错误日志,服务器运行日志等,可以用ELK来进行日志监控
安全监控1. Nginx+Lua编写了一个WAF通过kibana可以图形化的展示不同的攻击类型的统计 2.用户登录数,passwd文件变化,本地所有文件改动
网络监控端口,web(URL),DB,ping包,IDC带宽网络流量,网络流出速率,网络入流量,网络出流量,网络使用率,SMTP,POP3

3 怎么来监控

3.1 远程管理服务器

如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM

3.2 监控硬件

查看硬件的温度/风扇转速,电脑有鲁大师,服务器就有ipmitool。
使用ipmitool实现对服务器的命令行远程管理

yum -y install OpenIPMI ipmitool  #->IPMI在物理机可以成功,虚拟机不行
[root@KVM ~]# ipmitool sdr type Temperature

3.3 查看cpu相关

lscpu、uptime、top、htop、vmstat和mpstat,其中htop需要安装,安装依赖与epel源。

[root@dbc-server-554 ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Model name:            Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
Stepping:              3
CPU MHz:               3370.825
CPU max MHz:           4000.0000
CPU min MHz:           800.0000
BogoMIPS:              7195.61
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0-7
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb invpcid_single ssbd rsb_ctxsw ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear spec_ctrl intel_stibp flush_l1d

3.4 内存

free

[root@dbc-server-554 zabbix]# free -htotal        used        free      shared  buff/cache   available
Mem:           7.5G        6.8G        353M         32M        335M        374M
Swap:          7.7G        1.1G        6.6G

3.5 磁盘

df、dd、iotop

[root@dbc-server-554 zabbix]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.8G     0  3.8G   0% /dev
tmpfs                    3.8G     0  3.8G   0% /dev/shm
tmpfs                    3.8G   11M  3.8G   1% /run
tmpfs                    3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root   50G   34G   17G  68% /
/dev/mapper/DBCVG-DBCLV  3.6T  2.1T  1.4T  59% /mnt/DBC_Data
/dev/sda2               1014M  284M  731M  28% /boot
/dev/sda1                200M   12M  189M   6% /boot/efi
/dev/mapper/centos-home  1.8T  291M  1.8T   1% /home
tmpfs                    770M  8.0K  770M   1% /run/user/42
overlay                   50G   34G   17G  68% /var/lib/docker/overlay2/4b1e93400a93acd89cf9984f151d08f631909cb40d30aa7999bedc68048d0926/merged
overlay                   50G   34G   17G  68% /var/lib/docker/overlay2/2f74fa56f598961e7de136f5176ff0604d5f93bbf1ca1c57b32fc94d5944aa0a/merged
overlay                   50G   34G   17G  68% /var/lib/docker/overlay2/3b69d32cd3e3549efc0c6df8165096eb66786ab33affd16520a41edc960c10af/merged
tmpfs                    770M     0  770M   0% /run/user/0
[root@dbc-server-554 zabbix]# iotop

在这里插入图片描述

3.6 监控网络

iftop nethogs
在这里插入图片描述

4 监控工具总览

mrtg 流量监控出图
nagios 监控
cacti 流量监控出图
zabbix 监控+出图

5 zabbix介绍

Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。

使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP … 各种协定做死活监视。

在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。

另外,Zabbix 包含 XMPP 等各种 Item 警示功能。

5.1 zabbix的组成

在这里插入图片描述
zabbix 主要由2部分构成 zabbix server和 zabbix agent
zabbix proxy是用来管理其他的agent,作为代理

5.2 zabbix监控范畴

硬件监控 :Zabbix IPMI Interface
系统监控 :Zabbix Agent Interface
Java 监控:ZabbixJMX Interface
网络设备监抟:Zabbix SNMP Interface
应用服务监控:Zabbix Agent UserParameter
MySQL 数据库监控:percona-monitoring-pldlgins
URL监控:Zabbix Web监控

1.2 安装zabbix

1 环境检查

[root@dbc-server-554 zabbix]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@dbc-server-554 zabbix]# uname -r
3.10.0-1160.83.1.el7.x86_64
[root@dbc-server-554 zabbix]# getenforce
Disabled
[root@dbc-server-554 zabbix]# systemctl status firewalld.service
* firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)

2 安装zabbix过程

官网安装教程

2.1 脚本安装方式

由于书中介绍的zabbix版本较早,此处仅介绍安装方式,实际安装参考后面手动部分

  1. 服务端快速安装脚本
#!/bin/bash
#clsn#设置解析 注意:网络条件较好时,可以不用自建yum源
# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts#安装zabbix源、aliyun YUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm#安装zabbix 
yum install -y zabbix-server-mysql zabbix-web-mysql#安装启动 mariadb数据库
yum install -y  mariadb-server
systemctl start mariadb.service#创建数据库
mysql -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";'#导入数据
zcat /usr/share/doc/zabbix-server-mysql-3.0.13/create.sql.gz|mysql -uzabbix -pzabbix zabbix#配置zabbixserver连接mysql
sed -i.ori '115a DBPassword=123456' /etc/zabbix/zabbix_server.conf#添加时区
sed -i.ori '18a php_value date.timezone  Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf#解决中文乱码
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf#启动服务
systemctl start zabbix-server
systemctl start httpd#写入开机自启动
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix-server
EOF#输出信息
echo "浏览器访问 http://`hostname -I|awk '{print $1}'`/zabbix"
  1. 客户端快速部署脚本
#!/bin/bash
#clsn#设置解析
echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts#安装zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm#安装zabbix客户端
yum install zabbix-agent -y
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf
systemctl start  zabbix-agent.service#写入开机自启动
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start  zabbix-agent.service
EOF

2.2 手动安装-服务器端

1.进入官方网站

Download and install Zabbix

2.选择版本

在这里插入图片描述

3.安装zabbix的源

使用rmp命令进行安装

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
4.安装 server and agent
yum install zabbix-server-mysql zabbix-agent
5.安装前端(Install Zabbix frontend)
 yum install centos-release-scl
6.编辑/etc/yum.repos.d/zabbix.repo

修改仓库文件/etc/yum.repos.d/zabbix.repo ,启用前端的源

修改[zabbix-frontend]内的enabled=0改为enabled=1

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
7.安装web相关的软件
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
8.安装mariadb数据库
yum install mariadb mariadb-server -y

如果已经安装了MySQL可省略这一步, mariadb-server — 服务器端的包,mariadb — 客户端的包。

9.启动mariadb

并设置为mariadb开机自启

service mariadb start
systemctl enable mariadb

要想知道是否启动成功可以使用ps aux|grep mariadb 或者 netstat -anplut|grep maraidb 者两条命令。

10.进入mysql
mysql -u root -p

如果是首次安装数据库,敲回车后显示需要密码直接再次敲回车即可

11.修改数据库
  1. 创建数据库名字叫zabbix
create database zabbix character set utf8 collate utf8_bin;

想知道是否创建成功可使用这条命令进行查看:show databases;

  1. 创建用户zabbix其host为localhost密码为123456
create user zabbix@localhost identified by '123456';
  1. 赋予权限,zabbix@localhost对这个zabbix.*库所有的表都有增删改查的权限
grant all privileges on zabbix.* to zabbix@localhost;
  1. 退出数据库
quit;
12.导入初始化数据,会在zabbix内导入很多表
zcat  /usr/share/doc/zabbix-server-mysql-5.0.24/create.sql.gz| mysql  -uzabbix  -p'123456' zabbix

复制执行该命令如果有问题,可能是由于zabbix-server 的版本号和安装的不一致,可以在 zabbix-server 按tab键会自动补齐,或者输入 zabbix_server --version 命令查看当前安装的 zabbx-server 的版本号。

也可以分两步执行:

  1. 进入/zabbix-server-mysql-5.0.24/
cd /usr/share/doc/zabbix-server-mysql-5.0.24/
  1. 列出create.sql.gz压缩包的安装文件,并在mysql中执行
zcat create.sql.gz| mysql -uzabbix -p'123456' zabbix
13.为Zabbix服务器配置数据库

修改 /etc/zabbix/zabbix_server.conf这个配置文件,将DBPassword=123456这行进行修改,密码为11步进行修改的密码

[root@dbc-server-554 zabbix-server-mysql-5.0.31]# cat /etc/zabbix/zabbix_server.conf|grep DBPassword
### Option: DBPassword
DBPassword=123456
14.为Zabbix前端配置PHP

共需要修改两个文件,包括:

  1. 编辑文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf,取消注释并设置 ‘listen’ 和 ‘server_name’ 。
[root@dbc-server-554 zabbix-server-mysql-5.0.31]# cat /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server {listen          80;server_name     192.168.5.54;

server_name改为域名或IP都可以

  1. 编辑/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf ,修改时区为亚洲上海php_value[date.timezone] = Asia/Shanghai,还有listen.acl_users = apache,nginx
[root@dbc-server-554 zabbix-server-mysql-5.0.31]# cat /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
[zabbix]
user = apache
group = apachelisten = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache,nginx				#修改此处
listen.allowed_clients = 127.0.0.1pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 200php_value[session.save_handler] = files
php_value[session.save_path]    = /var/opt/rh/rh-php72/lib/php/session/php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Shanghai	#修改此处
15.关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
16.关闭selinux

建议一定要关闭selinux,不然会导致zabbix_server启动不了,selinux是安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# cat /etc/sysconfig/selinux# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled									#修改此处
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
17.修改server的端口号

zabbix和nginx默认都占用了80端口,会造成端口抢占,将其中一个的端口改掉就可以了,此处修改的是nginx的端口号。

[root@dbc-server-554 zabbix-server-mysql-5.0.31]# cat /etc/opt/rh/rh-nginx116/nginx/nginx.conf
...include /etc/opt/rh/rh-nginx116/nginx/conf.d/*.conf;server {listen       8080 default_server;						#修改此处listen       [::]:8080 default_server;					#修改此处server_name  _;root         /opt/rh/rh-nginx116/root/usr/share/nginx/html;
...
18.启动 Zabbix 服务器和代理进程

启动Zabbix服务器和代理进程,并使其在系统启动时启动。

systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

至此,服务器端安装完成

2.2 手动安装-客户端

客户端安装相对步骤较少,因为不涉及数据库,前端等安装

1.下载安装源
[root@localhost ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
Retrieving https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.jmN7lC: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:zabbix-release-5.0-1.el7         ################################# [100%]
2.安装agent
yum install zabbix-agent
3.关闭防火墙及selinux

详细可以参考前文

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
getenforce
setenforce 0
vim /etc/sysconfig/selinux
4.修改服务器IP及暴露端口
[root@localhost ~]# cat /etc/zabbix/zabbix_agentd.conf
# This is a configuration file for Zabbix agent daemon (Unix)
# To get more information about Zabbix, visit http://www.zabbix.com
...### Option: Server
#       List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
#       and '::/0' will allow any IPv4 or IPv6 address.
#       '0.0.0.0/0' can be used to allow any IPv4 address.
#       Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=Server=192.168.5.54							#修改此处### Option: ListenPort
#       Agent will listen on this port for connections from the server.
#
# Mandatory: no
# Range: 1024-32767
# Default:
ListenPort=10050							#修改此处

至此,客户端安装完成

3 检测连通性

1.服务端安装zabbix-get检测工具

yum install zabbix-get

注意:只能在服务端进行测试

2.测试及结果

[root@dbc-server-554 zabbix-server-mysql-5.0.31]# zabbix_get -s 192.168.70.183 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000
[root@dbc-server-554 zabbix-server-mysql-5.0.31]# zabbix_get -s 192.168.71.183 -p 10050 -k "system.cpu.load[all,avg1]"
0.210000

相关文章:

CHAPTER 1 Zabbix介绍及安装

Zabbix介绍及安装1.1 Zabbix监控1 为什么要监控1.1 网站可用性2 监控什么东西2.1 监控范畴3 怎么来监控3.1 远程管理服务器3.2 监控硬件3.3 查看cpu相关3.4 内存3.5 磁盘3.6 监控网络4 监控工具总览5 zabbix介绍5.1 zabbix的组成5.2 zabbix监控范畴1.2 安装zabbix1 环境检查2 安…...

认识V模型、W模型、H模型

软件测试与软件工程息息相关&#xff0c;软件测试是软件工程组成中不可或缺的一部分。 在软件工程、项目管理、质量管理得到规范化应用的企业&#xff0c;软件测试也会进行得比较顺利&#xff0c;软件测试发挥的价值也会更大。 要关注软件工程、质量管理以及配置管理与软件测试…...

excel ttest检测

1、excel函数含义 TTEST(array1,array2,tails,type) ▪ Array1: 第一组数据集 ▪ Array2: 第二组数据集 ▪ Tails: 用于定义所返回的分布的尾数: 1 代表单尾&#xff1b;2 代表双尾 ▪ Type: 用于定义 t-检验的类型: 1 代表成对检验&#xff1b;2 代表双样本等方差假设&am…...

PDFPrinting.Net操作进行细粒度控制

PDFPrinting.Net操作进行细粒度控制 PDFPrinting.Net能够容易且灵活地预测完美的打印结果以及用户文件的示例性显示。可以快速浏览.NET PDF打印中最关键的元素。如果用户需要获得更详细的概述&#xff0c;那么他可以查看快速入门手册&#xff0c;甚至是现有文档的详细概述参考。…...

SegPGD

在这项工作中&#xff0c;我们提出了一种有效和高效的分割攻击方法&#xff0c;称为SegPGD。此外&#xff0c;我们还提供了收敛性分析&#xff0c;表明在相同次数的攻击迭代下&#xff0c;所提出的SegPGD可以创建比PGD更有效的对抗示例。此外&#xff0c;我们建议应用我们的Seg…...

ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门

ESP-IDF Vscode ESP32 开发环境搭建以及开发入门 文章目录ESP-IDF Vscode ESP32 开发环境搭建以及开发入门1. 前言2. 下载开发工具3. 配置工具4. 创建工程5. 解决vscode找不到头文件&#xff0c;波浪线警告6. 添加自己的组件6.1 组件说明6.2 添加项目组件6.3 添加扩展组件7. …...

SpringMvc的请求和响应

SpringMvc的数据响应 1.springmvc的数据相应方式 &#xff08;1&#xff09;页面跳转 直接返回字符串 通过ModelAndView对象返回 &#xff08;2&#xff09;回写数据 直接返回字符串 返回对象或集合 页面跳转 jsp页面 <% page contentType"text/html;charsetUTF-8&q…...

【Vue3】首页主体-面板组件封装

首页主体-面板组件封装 新鲜好物、人气推荐俩个模块的布局结构上非常类似&#xff0c;我们可以抽离出一个通用的面板组件来进行复用 目标&#xff1a;封装一个通用的面板组件 思路分析 图中标出的四个部分都是可能会发生变化的&#xff0c;需要我们定义为可配置主标题和副标题…...

部署 K8s 集群

1 .部署k8s的两种方式目前生产部署Kubernetes集群主要有两种方式&#xff1a;kubeadmKubeadm是一个K8s部署工具&#xff0c;提供kubeadm init和kubeadm join&#xff0c;用于快速部署Kubernetes集群。二进制包从github下载发行版的二进制包&#xff0c;手动部署每个组件&#x…...

关于北京君正:带ANC的2K网络摄像头用户案例

如果远程办公是您的未来&#xff0c;或者您经常通过视频通话与远方的朋友和亲戚交谈&#xff0c;那么您可以考虑购买网络摄像头以显著改善您的沟通。Anker PowerConf C200是个不错的选择。 Anker PowerConf C200专为个人工作空间而设计&#xff0c;能够以每秒30帧的速度拍摄2K…...

ccc-Backpropagation-李宏毅(7)

文章目录NotationBackpropagationForward passBackward passSummaryNotation 神经网络求解最优化Loss function时参数非常多&#xff0c;反向传播使用链式求导的方式提升计算梯度向量时的效率&#xff0c;链式法则如下&#xff1a; Backpropagation 损失函数计算为所有样本…...

找出字符串中第一个匹配项的下标-力扣28-java

一、题目描述给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。示例 1&#xff1a;输入&#xff1a;hayst…...

SpringBoot 监听Redis key过期回调

SpringBoot 监听Redis key过期回调 场景 Spring boot实现监听Redis key失效事件可应对某些场景例如&#xff1a;处理订单过期自动取消、用户会员到期… 开启Redis键过期回调通知 Redis默认是没有开启键过期监听功能的&#xff0c;需要手动在配置文件中修改。Linux操作系统 修…...

蓝桥杯C/C++VIP试题每日一练之回形取数

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…...

四控、三管、一协调

四控指的是进度控制&#xff0c;质量控制&#xff0c;成本控制&#xff0c;变更控制。三管指的是合同管理&#xff0c;安全管理&#xff0c;资料管理。一协调指的是协调甲方&#xff0c;总包及设备材料供应方的关系。信息系统工程监理是指依法设立且具备相应资质的信息系统工程…...

jdk19下载与安装教程(win10)超详细

一、下载安装步骤 1、官网下载还需要注册&#xff0c;可以点【我的网盘】目录下载&#xff0c;目录也有其它低版本的&#xff0c;如果有需要大家根据需要自行选择。 2、下载后直接点击安装程序&#xff0c;点击【运行】。这里我使用的是64位的。 3、点击【下一步】。 4、默认安…...

来来来,手摸手写一个hook

hello&#xff0c;这里是潇晨&#xff0c;今天就带着大家一起来手写一个迷你版的hooks&#xff0c;方便大家理解hook在源码中的运行机制&#xff0c;配有图解&#xff0c;保姆级的教程&#xff0c;只求同学一个小小的&#x1f44d;&#xff0c;&#x1f436;。 第一步&#xf…...

【C++】AVL树

目录 1 简介 2 实现 2.1 框架构建 2.2 插入操作 2.2.1 平衡因子的更新 2.2.2 平衡因子异常时树的调整 3 检验 1 简介 AVL树基于二叉搜索树之上&#xff0c;又对其提出了平衡的要求&#xff0c;即&#xff1a;当向二叉搜索树插入新节点后&#xff0c;保证每个节点的左右…...

Mybatis源码(2) - SqlSessionTemplate的介绍及创建过程

0. 前言1. Spring对SqlSessionTemplate的管理1.1. SqlSessionTemplate的创建&#xff1a;1.2. MapperProxy中sqlSession的来源&#xff1a;2. SqlSessionInterceptor中的getSqlSession0. 前言 众所周知&#x1f60f;:MyBatis通过SqlSessionFactory 创建SqlSession去调用Executo…...

女生做大数据有发展前景吗?

当前大数据发展前景非常不错&#xff0c;且大数据领域对于人才类型的需求比较多元化&#xff0c;女生学习大数据也会有比较多的工作机会。大数据是一个交叉学科涉及到的知识量比较大学习有一定的难度&#xff0c;女生比较适合大数据采集和大数据分析方向的工作岗位。 大数据采…...

Git实用指令记录

config 用例&#xff1a;对git最先要做的一个操作就是配置用户名和邮箱&#xff0c;否则无法commit查看所有可以config的条目&#xff0c;非常之多$ git config --list core.symlinksfalse core.autocrlftrue core.fscachetrue color.interactivetrue color.uiauto help.forma…...

复杂美公链技术重要特色:平行公链架构

复杂美公链技术Chain33从11月开源至今&#xff0c;获得众多合作方的认可&#xff0c;其中首创的平行公链架构被百度、阿里、360等机构认可并跟进研究&#xff0c;这也说明了平行公链或许是区块链普及应用的重要解决方案之一。 平行公链&#xff08;以下简称平行链&#xff09;是…...

Java——进制转换的一些内容

Java——进制转换的一些内容1.16进制字符串String转字节数组byte[]2.16进制字符串String转10进制数字int3.字节数组byte[]转字符串String4.16进制字符串String-->byte[]-->String&#xff08;使用ByteBuffer转换&#xff09;5.字节数组byte[]转字符数组char[]6.字节byte转…...

使用 Nodejs、Express、Postgres、Docker 在 JavaScript 中构建 CRUD Rest API

让我们在 JavaScript 中创建一个 CRUD rest API&#xff0c;使用&#xff1a;节点.js表达续集Postgres码头工人码头工人组成介绍这是我们将要创建的应用程序架构的架构&#xff1a;我们将为基本的 CRUD 操作创建 5 个端点&#xff1a;创造阅读全部读一个更新删除我们将使用以下…...

电子招标采购系统源码之什么是电子招投标系统?

随着互联网时代的到来&#xff0c;各行业都受到不同的影响&#xff0c;其中招投标行业也不例外。为了顺应互联网潮流的发展&#xff0c;电子招投标逐渐取代传统的纸质的招投标方式&#xff0c;给招标方、投标方、招标代理等各方也带来了前所未有的机遇与挑战。那么什么是电子招…...

匹配文件名称模块glob和fnmatch

匹配文件名称模块glob 1.概述 glob模式规则与re模块的正则表达式规则不大相同&#xff0c;glob模块遵循标准的UNIX路径扩展规则。 fnmatch模块用于根据glob模式比较文件名 2.glob表达式匹配文件名 2.1.测试文件 介绍glob配置规则前&#xff0c;先使用下面的代码创建测试文…...

day12_oop

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、继承 三、重写 四、this和super 五、访问修饰符 零、 复习昨日 局部变量和成员变量什么区别 位置,作用域,初始值,内存位置,生命周期 构造方法…...

在 Flutter 中使用 webview_flutter 4.0 | js 交互

大家好&#xff0c;我是 17。 已经有很多关于 Flutter WebView 的文章了&#xff0c;为什么还要写一篇。两个原因&#xff1a; Flutter WebView 是 Flutter 开发的必备技能现有的文章都是关于老版本的&#xff0c;新版本 4.x 有了重要变化&#xff0c;基于 3.x 的代码很多要重…...

嵌入式ARM工业边缘计算机BL302的CAN总线接口如何设置?

CAN 接口如图所示&#xff0c;输入如下命令&#xff1a; ifconfig -a //查看所有网卡 如果 FlexCAN 驱动工作正常的话就会看到 CAN 对应的网卡接口&#xff0c;如图。从图中可 以看出&#xff0c;有一个名为“can0”的网卡&#xff0c;这个就是 BL302 板上的 CAN1 接口对应的 c…...

Win11系统如何安装Ubuntu20.04(WSL版本)并安装docker

终于还是下定决心去换电脑了……这次采用轻量级的WSL&#xff0c;发现虽然没有占内存的GUI界面&#xff0c;但是编码和阅读文档还是非常nice的 1、首先开启Win11的虚拟机服务 2、下载你期望的Ubuntu服务器&#xff08;这里以20.04为例&#xff09; 安装成功后&#xff0c;发现…...