Zabbix 监控系统安装和部署

Zabbix 监控系统安装和部署

  • 一、zabbix 是什么?
    • 1.1、zabbix 监控原理(重点)
    • 1.2、Zabbix 6.0 新特性
    • 1.3、Zabbix 6.0 功能组件
    • 1.4、数据库
    • 1.5、Web 界面
    • 1.6、Zabbix Agent
    • 1.7、Zabbix Proxy
    • 1.8、Java Gateway
  • 二、部署Zabbix 6.0
    • 2.1、 解决 zabbix-server Web页面中文乱码问题

一、zabbix 是什么?

  • zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

  • zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

  • zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。

  • zabbix server 可以通过 zabbix agent,SNMP协议,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在 Linux 等平台上。

  • zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

1.1、zabbix 监控原理(重点)

zabbix agent 安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后, 将数据存储到数据库中,用户基于 Zabbix Web 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值, 当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、 install 等)。

1.2、Zabbix 6.0 新特性

  • Zabbix server高可用防止硬件故障或计划维护期的停机:

    • 原生选择加入HA群集配置
    • 定义一个或多个备用节点
    • 实时监控Zabbix server群集节点的状态
    • 不需要外部工具即可将Zabbix server配置为HA群集模式
  • Zabbix 6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个维度采集指标:

    • Kubernetes节点和pods的自动发现和监控
    • 无代理方式采集Kubernetes pods和节点的信息
    • 获取Kubernetes节点主机高水平信息

1.3、Zabbix 6.0 功能组件

Zabbix Server
  • zabbix 服务端守护进程,是 Zabbix 软件的核心组件,Zabbix Agent 向其报告可用性、系统完整性信息和统计信息。

  • Zabbix Server 也是存储所有配置信息、统计信息和操作信息的核心存储库。

  • Zabbix Server 也是 Zabbix 监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员。

  • 基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web 前端、数据库。

  • Zabbix 的所有配置信息都存储在 Server 和 Web 前端进行交互的数据库中。例如,当你通过 Web 前端(或者API)新增一个监控项时, 它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。 这就是为什么 Zabbix 前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

1.4、数据库

1.所有配置信息以及 Zabbix 采集到的数据都被持久存储在数据库中。
2.可以支持 MySQL、PostgreSQL、Oracle、DB2、TimescaleDB 等多种          数据库。

1.5、Web 界面

1.Web 界面是 Zabbix Server 的一部分,用于实现展示和配置的界面。通常(但不一定)和 Zabbix server 运行在同一台物理机器上。
2.基于 Apache/Nginx + PHP 实现,早期只支持 LAMP 架构,从 Zabbix5.0 开始支持 LNMP 。

1.6、Zabbix Agent

客户端守护进程,部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix Server。从 Zabbix5.0 开始支技 Zabbix Agent2 。

1.7、Zabbix Proxy

1.zabbix 分布式代理守护进程,可以代替 Zabbix Server 采集性能和可用性数据。Zabbix Proxy 在 Zabbix 的部署是可选部分。
2.Zabbix Proxy 的部署可以很好的分担单个 Zabbix Server 的负载。
3.通常监控大于 500 台主机时使用,需要进行分布式监控架构部署。

1.8、Java Gateway

Zabbix 要监控 Tomcat 服务或其它 JAVA 程序(比例 Elasticsearch、ZooKeeper),需要使用 Java Gateway 做为代理,才能从 JAVA 程序中获取数据。

二、部署Zabbix 6.0

系统:CentOS 7 不支持 yum 方式安装 Zabbix 6.0 服务端安装方式:Zabbix 服务端采用编译安装的方式,zabbix 客户端采用 yum 安装的方式
Server	             IP
Zabbix-server	192.168.11.13
Zabbix-agent01	192.168.11.14
关闭 selinux 与防火墙
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server

在这里插入图片描述

部署 Nginx + PHP 环境并测试
安装nginx,修改配置文件
#安装 nginx
cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOFyum install -y nginx#修改 nginx 配置
vim /etc/nginx/conf.d/zbx.conf
server {listen 80;server_name zbx.byyb.com;root /var/www/zbx;location / {index index.php;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /var/www/zbx$fastcgi_script_name;include fastcgi_params;}
}
如果请求的路径是以`.php`结尾的,则会通过FastCGI进程执行对应的PHP文件。
根目录为`/var/www/zbx`,默认的索引文件为`index.php`

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

安装php,修改配置文件
#更换为阿里源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo#安装依赖环境
yum install -y epel-releaserpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmyum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-ldap php72w-bcmath

在这里插入图片描述

#修改 php 配置
vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

在这里插入图片描述

vim /etc/php.inimax_execution_time = 300		# 368行
max_input_time = 600			# 378行
post_max_size = 80M				# 656行
date.timezone = Asia/Shanghai	# 877行1. 最大执行时间(max_execution_time):您可以在第 368 行找到这个选项。默认情况下,它被设置为 300 秒(5 分钟)。您可以根据您的需求将其修改为更长的时间。2. 最大输入时间(max_input_time):这个选项位于第 378 行。它控制从服务器接收到客户端请求开始计时的时间。默认值为 600 秒(10 分钟)。如果您需要更长的时间来处理请求,请相应地修改这个值。3. 最大 POST 数据大小(post_max_size):在第 656 行,您可以找到这个选项。默认情况下,它被设置为 80M。您可以根据您的需要将其调整为更大或更小的值。4. 日期时区(date.timezone):在第 877 行,您可以找到这个选项。默认情况下,它被设置为 "Asia/Shanghai",表示使用上海的时区。如果您希望使用其他时区,请将其更改为相应的时区。

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

测试
#创建目录和测试文件
mkdir -p /var/www/zbxvim /var/www/zbx/index.php
<?php
phpinfo();
?>#启动服务
systemctl enable --now nginx php-fpm

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

#测试访问(hosts解析)
修改 C:\Windows\System32\drivers\etc\hosts
192.168.11.13 zbx.byyb.com

在这里插入图片描述

浏览器访问:http://zbx.byyb.com/index.php

在这里插入图片描述

部署数据库要求 MySQL 5.7 或 Mariadb 10.5 及以上版本安装Mariadb
#配置 Mariadb yum源
cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
EOFyum install -y mariadb-server mariadbsystemctl enable --now mariadb

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

初始化数据库并以root用户登录
mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y#"mysql_secure_installation" 是一个用于设置和加固 MySQL 安装的脚本工具
#提示您输入数据库的 root 用户密码。如果尚未设置密码,则按回车键留空。
#询问您是否需要更改 root 密码。根据需求选择 Y 或 N。
#提示您删除匿名用户。如果不希望数据库中存在匿名用户,选择 Y。
# 提示您禁用 root 远程登录。如果不希望 root 用户能够通过远程连接访问数据库,选择 Y。
#提示您删除测试数据库。如果不需要默认的测试数据库,选择 Y。
#提示您重新加载权限表以使更改生效。选择 Y 来重新加载权限表。

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

mysql -u root -pabc123

在这里插入图片描述

创建数据库并指定字符集
create database zabbix character set utf8 collate utf8_bin;
创建 zabbix 数据库用户并授权
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';
flush privileges;

在这里插入图片描述

准备zabbix源码包并解压
#上传源码包 zabbix-6.0.13.tar.gz 到 /opt 目录
cd /opt
tar xf zabbix-6.0.13.tar.gzls /opt/zabbix-6.0.13/database/mysql#data.sql:这个文件包含了 Zabbix 数据库的实际数据,包括监控项、触发器、历史数据等。# double.sql:这个文件包含了用于移除重复数据的 SQL 查询语句。#history_pk_prepare.sql:这个文件包含了用于优化历史数据表的 SQL 查询语句。#images.sql:这个文件包含了用于存储和管理图像数据的 SQL 查询语句。#Makefile.am 和 Makefile.in:这两个文件是用于构建 Zabbix 数据库的 Makefile 配置文件。#schema.sql:这个文件包含了 Zabbix 数据库的表结构、索引、键等定义。这是创建和初始化整个数据库的主要文件。

在这里插入图片描述

按照顺序向数据库导入 zabbix 数据
cd /opt/zabbix-6.0.13/database/mysqlmysql -uroot -pabc123 zabbix < schema.sql
mysql -uroot -pabc123 zabbix < images.sql
mysql -uroot -pabc123 zabbix < data.sql
mysql -uroot -pabc123 zabbix < double.sql
mysql -uroot -pabc123 zabbix < history_pk_prepare.sql

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

编译安装zabbix Server 服务端
安装依赖包,创建 zabbix 用户
#依赖包
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ make#用户
useradd -s /sbin/nologin -M zabbix

在这里插入图片描述

编译安装
#编译安装
cd /opt/zabbix-6.0.13/./configure \
--sysconfdir=/etc/zabbix/ \
--enable-server \
--with-mysql \
--with-net-snmp \
--with-libxml2 \
--with-ssh2 \
--with-openipmi \
--with-zlib \
--with-libpthread \
--with-libevent \
--with-openssl \
--with-ldap \
--with-libcurl \
--with-libpcre
make install

在这里插入图片描述

#检查版本
zabbix_server --version

在这里插入图片描述

修改配置文件
#修改 zabbix server 配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf 
......
LogFile=/var/log/zabbix_server.log
# 38行,指定 zabbix 日志路径
DBPassword=zabbix					# 123行,指定 zabbix 数据库的密码

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

 添加到系统服务中
#准备 systemctl 服务管理文件
cat > /usr/lib/systemd/system/zabbix-server.service << EOF
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix[Install]
WantedBy=multi-user.target
EOF

在这里插入图片描述

#修改日志文件的属主属组为zabbix
chown zabbix:zabbix /var/log/zabbix_server.log	systemctl daemon-reload
systemctl start zabbix-server

在这里插入图片描述

ss -lntp | grep 10051			#zabbix_server 默认监听 10051 端口

在这里插入图片描述

效果测试(部署 Web 前端,进行访问)
cp -r /opt/zabbix-6.0.13/ui/* /var/www/zbxchown -R nginx.nginx /var/www/zbx

在这里插入图片描述

浏览器访问:http://zbx.byyb.com/ 

在这里插入图片描述

[Default language]
选择 Chinese(zh_CN),点击下一步[必要条件检测]
确认无误后,点击下一步

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

[配置DB连接]
密码部分输入 zabbix,点击下一步

在这里插入图片描述

[Settings]
主机名称设为 Zabbix-监控
默认时区选择 Asia/Shanghai
点击下一步

在这里插入图片描述

安装完成后,

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

默认的登录账号和密码为:Admin/zabbix

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

添加 zabbix 客户端主机,安装zabbix-agent2
服务端和客户端设置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com

在这里插入图片描述

 服务端和客户端设置域名映射

在这里插入图片描述

 客户端安装zabbix-agent2zabbix 5.0 版本开始采用 golang 语言开发的新版本客户端 agent2。
#设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpmsed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-agent2

在这里插入图片描述

修改agent2的配置文件,启动服务
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.11.13		
#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.11.13	
#133行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			
#144行,指定当前 zabbix 客户端的主机名

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

#启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

在这里插入图片描述

ss -natp | grep zabbix

在这里插入图片描述

在服务端验证 zabbix-agent2 的连通性
yum install -y zabbix-get
#`zabbix_get` 是 Zabbix 命令行工具,用于从 Zabbix Agent 获取监控数据。#常用的键值
agent.ping						
#服务端与客户端是否连通,返回1表示可达,返回非表示不可达
system.hostname					
#系统主机名
agent.hostname
#客户端主机名
net.if.in[if,<mode>]
#网络接口进入的流量统计,if表示网卡名称,带<>的参数表示可以省略
net.if.out[if,<mode>]
#网络接口流出的流量统计
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]
#进程数
net.tcp.port[<ip>,port]			
#检查是否能建立tcp连接到指定端口,返回0表示不能连接,返回1表示可以连接
zabbix_get -s '192.168.11.14' -p 10050 -k 'agent.ping'`agent.ping` 是 Zabbix Agent 提供的内置键之一,用于检查 Agent 的可用性。
当 Zabbix Server 发送 `agent.ping` 请求时
如果 Agent 正常工作,它将返回 "1" 表示活动
如果 Agent 不可用,则返回 "0" 表示不活动。

在这里插入图片描述

zabbix_get -s '192.168.11.14' -p 10050 -k 'system.hostname'

在这里插入图片描述

在 Web 页面中添加 agent 主机
点击左边菜单栏【配置】中的【主机】,点击【创建主机】

在这里插入图片描述

【主机名称】输入 zbx-agent01
【可见的名称】输入 zbx-agent01-192.168.2.102
【模板】搜索 Linux ,选择 Linux by Zabbix agent
【群组】选择 Linux servers
【Interfaces】点击添加 客户端
【IP地址】输入 192.168.11.14

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

2.1、 解决 zabbix-server Web页面中文乱码问题

在这里插入图片描述

解决方法
#zabbix-server安装
yum install -y wqy-microhei-fonts\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /var/www/zbx/assets/fonts/DejaVuSans.ttf刷新浏览器页面

在这里插入图片描述

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

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

相关文章

Configuration of phpstudy and sqli-labs

Go download the app&#xff1a; 小皮面板(phpstudy) - 让天下没有难配的服务器环境&#xff01; (xp.cn) Have done. Then enter the program. Enable both functions&#xff1a; Apache and MySQL. Open the website&#xff1a; Next, Lets make the sqli-liab. GitHub…

基于MDK-Keil环境如何把STM32程序直接下载到SRAM运行

1. 前言 对于 Cortex-M 内核的微控制器&#xff0c;它们都可以支持在 RAM 中执行程序&#xff0c;有些非 ARM 的微控制器是不支持的。 在内部 SRAM 执行程序&#xff0c;有基于以下几方面的原因&#xff1a; 1、所使用的设备可能具有OTP&#xff08;One-time Programmable&a…

笔记一:odoo透视表和图表

透视表 1、首先在xml文件添加pivot 说明&#xff1a;&#xff08;1&#xff09;根元素pivot中属性&#xff1a; disable_linking&#xff1a;设置为True&#xff0c;删除表格单元格到列表视图的链接 display_quantity&#xff1a;设置为True&#xff0c;默认显示“数量”列 d…

关于IDEA中gradle项目bootrun无法进入断点以及gradle配置页面不全的解决方案

问题背景 在使用gradle编写的bootrun&#xff0c;采用debug方式启动项目时&#xff0c;无法进入断点&#xff0c;程序正常运行 并发现象1 此处无法识别为大象图标 点击右键后&#xff0c;没有圈中的这个选项 并发现象2 图片圈中的位置缺失 问题原因 正常的 run 命令是通过…

SoapUI实践:自动化测试、压力测试、持续集成

因为项目的原因&#xff0c;前段时间研究并使用了 SoapUI 测试工具进行自测开发的 api。下面将研究的成果展示给大家&#xff0c;希望对需要的人有所帮助。 SoapUI 是什么&#xff1f; SoapUI 是一个开源测试工具&#xff0c;通过 soap/http 来检查、调用、实现 Web Service …

springboot和vue:十、vue2和vue3的差异+组件间的传值

首先用vue-cli创建一个vue2的项目。 vue2和vue3的差异 main.js的语法有所差别。 vue2是 import Vue from vue import App from ./App.vuenew Vue({render: h > h(App), }).$mount(#app)vue3是 import { createApp } from vue import App from ./App.vuecreateApp(App).…

Java虚拟机内存模型

JVM虚拟机将内存数据分为&#xff1a; 程序计数器、虚拟机栈、本地方法栈、Java堆、方法区等部分。 程序计数器用于存放下一条运行的指令&#xff1b; 虚拟机栈和本地方法栈用于存放函数调用堆栈信息&#xff1b; Java堆用于存放Java程序运行时所需的对象等数据&#xff1b…

学习笔记|串口通信的基础知识|同步/异步|RS232|常见的串口软件的参数|STC32G单片机视频开发教程(冲哥)|第二十集:串口通信基础

目录 1.串口通信的基础知识串口通信(Serial Communication)同步/异步&#xff1f;全双工&#xff1f;常见的串口软件的参数 2.STC32的串口通信实现原理引脚选择&#xff1a;实现分时复用模式选择串口1模式1&#xff0c;模式1波特率计算公式 3.串口通信代码实现编写串口1通信程序…

前端 | AjaxAxios模块

文章目录 1. Ajax1.1 Ajax介绍1.2 Ajax作用1.3 同步异步1.4 原生Ajax 2. Axios2.1 Axios下载2.2 Axios基本使用2.3 Axios方法 1. Ajax 1.1 Ajax介绍 Ajax: 全称&#xff08;Asynchronous JavaScript And XML&#xff09;&#xff0c;异步的JavaScript和XML。 1.2 Ajax作用 …

vue3+elementPlus:el-tree复制粘贴数据功能,并且有弹窗组件

在tree控件里添加contextmenu属性表示右键点击事件。 因右键自定义菜单事件需要获取当前点击的位置&#xff0c;所以此处绑定动态样式来控制菜单实时跟踪鼠标右键点击位置。 //html <div class"box-list"><el-tree ref"treeRef" node-key"id…

python+selenium实现UI自动化(入门篇)

一、基础准备。 python环境安装&#xff0c;参考&#xff1a;CSDN pycharm安装&#xff0c;参考&#xff1a;CSDN 谷歌浏览器驱动配置&#xff0c;参考&#xff1a;CSDN二、新建pycharm项目 截图中&#xff0c;上面是项目地址&#xff08;可以提前在指定位置创建文件夹&#xf…

Redis 主从复制及哨兵模式

目录 1 Redis 主从复制 1.1 主从复制的作用 1.2 主从复制流程 2 搭建Redis 主从复制 2.1 安装 Redis 2.2 修改 Redis 配置文件&#xff08;Master节点操作&#xff09; 2.3 修改 Redis 配置文件&#xff08;Slave节点操作&#xff09; 2.4 验证主从效果 3 Redis 哨兵模…

数据结构——排序算法(C语言)

本篇将详细讲一下以下排序算法&#xff1a; 直接插入排序希尔排序选择排序快速排序归并排序计数排序 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某写关键字的大小&#xff0c;按照递增或递减0排列起来的操作。 稳定性的概念…

JAVA开发中常用RDMS

一、前言 JAVA的开发离不开数据库的支持&#xff0c;常见的有关系型数据库和非关系型数据库。java除了处理不依赖与数据库的通信技术。很多的java项目或者应用程序都需要建立在数据库的基础上。所以java开发早已经不是单纯的java开发&#xff0c;更多的是基于对数据的处理&…

一文教你如何快速备考云计算HCIE 3.0 !

大家好&#xff0c;在誉天实验辅导老师的耐心帮助下&#xff0c;本人在9月21日的云计算HCIE 3.0考试已顺利通过&#xff0c;很高兴有这个机会给大家分享备考的经历&#xff0c;希望对还在备考的同学能有一定的帮助。 备考准备 在云计算HCIE3.0的课程学习结束之后&#xff0c;就…

一款构建Python命令行应用的开源库

1 简介 当我们编写 Python 程序时&#xff0c;我们经常需要与用户进行交互&#xff0c;接收输入并输出结果。Python 提供了许多方法来实现这一点&#xff0c;其中一个非常方便的方法是使用 typer 库。typer 是一个用于构建命令行应用程序的 Python 库&#xff0c;它使得创建命令…

使用MATLAB进行傅里叶变换

1、定义 T1;% 周期0-1 N20;% 最大谐波 k-N:N;% -20:20——-20表示a_(20)e^(j*20*w0*t) N1length(k);%N141 % ceil(N1/2)21%即21是N1的中位数tlinspace(0,T,100); Ntlength(t); ttlinspace(-4*T,4*T,1024); Nttlength(tt);2、原函数 w02*pi/T; % 0-T xt(t>T/4).* 1.0; fig…

嵌入式学习笔记(49)由I2C学通信时序

10.2.1什么是时序&#xff1f; 字面意思&#xff0c;时序就是时间顺序&#xff0c;实际上在通信中时序就是通信线上按照时间顺序发生的电平变化&#xff0c;以及这些变化对通信的意义就叫时序。 10.2.2 I2C总线空闲状态、起始位、结束位 (1)I2C总线上有1个主设备&#xff0c…

二叉树的顺序存储——堆——初识堆排序

前面我们学过可以把完全二叉树存入到顺序表中&#xff0c;然后利用完全二叉树的情缘关系&#xff0c;就可以通过数组下标来联系。 但是并不是把二叉树存入到数组中就是堆了&#xff0c;要看原原来的二叉树是否满足&#xff1a;所有的父都小于等于子&#xff0c;或者所有的父都…

2023年铷铁硼行业分析:低端供应过剩,高性能材料供应不足[图]

铷铁硼材料是一种Fe基磁性材料&#xff0c;主要由钕铁硼按一定比例组成的四方晶体结构&#xff0c;其中Fe元素约占总质量的三分之二&#xff0c;Nd元素约占总量的三分之一&#xff0c;而B等含量最少&#xff0c;约占1%。铷铁硼是现今磁性最强的永久磁铁&#xff0c;也是最常使用…