部署 Zabbix 集中监控系统

news2024/12/24 8:18:55

zabbix

概述

Zabbix 是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源监控套件

服务端端口:10051

客户端端口:10050

Zabbix 主要功能

主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细报表图表绘制

Zabbix 可监控对象

Linux、Windows 等主机系统;路由器、交换机等网络设备

Zabbix-proxy使用场景

监控远程位置,解决跨机房;监控主机多,性能跟不上,延迟大;解决网络不稳定

Zabbix 是怎么实施监控的

agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式

默认为zabbix-agent被动模式;
主动模式与被动模式主要是站在zabbix-agent身份来说;
被动模式(zabbix-server轮询检测zabbix-agent);
主动模式(zabbix-agent主动上报给zabbix-server);
当(Queue)队列中有大量的延迟监控项,当监控主机超过300+ ,建议使用主动模式

Zabbix 运行条件

  • Server:Zabbix Server 需运行在 LAMP(Linux+Apache+Mysql+PHP)环境下(或者LNMP),对硬件要求低

  • Agent:目前已有的agent 基本支持市面常见的OS,包含 Linux、HPUX、Solaris、Sun、 windows

  • SNMP:支持各类常见的网络设备

SNMP(简单网络管理协议)是一种广泛应用于 TCP/IP 网络的网络管理标准协议(应用层协议),它提供了一种通过运行网络管理软件的中心计算机(即网络管理工作站)来监控和管理计算机网络的标准化管理框架(方法)。目前已颁布了SNMPv1、SNMPv2c 和 SNMPv3 三个版本,广泛应用于网络交换机、路由器、打印机等网路设备上。

安装 Zabbix 服务

yum 安装配置 LAMP

1 安装 mariadb

[root@zabbix ~]# yum -y install mariadb-server mariadb-client mariadb-devel 

2 安装 Apache/2.4.6 和 php5.4.16

如果是源码安装注意安装 php 时需要注意 php 的版本要高于 5.4

[root@zabbix ~]# yum install -y httpd php

php 安装后确定 httpd 文件中有 php 内容

[root@zabbix ~]# cd /etc/httpd/conf.d
[root@zabbix conf.d]# ll
···
-rw-r--r-- 1 root root  691 4月   1 2020 php.conf

3 安装PHP扩展

[root@zabbix ~]# yum install -y php-mysql php-snmp php-xml php-ldap php-gd php-mbstring php-posix

查看httpd.conf配置文件,确保包含以下内容:

[root@zabbix ~]# vim /etc/httpd/conf/httpd.conf
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

4 配置php.conf配置文件

末尾添加以下内容:

[root@zabbix ~]# vim /etc/httpd/conf.d/php.conf
···
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
LoadModule php5_module modules/libphp5.so
#
# Cause the PHP interpreter to handle files with a .php extension.
AddHandler php5-script .php

5 编写 phpinfo() 脚本检查 SNMP

访问 apache 网站,查看是否有 snmp 模块

[root@zabbix ~]# vim /var/www/html/index.php
<?php
	phpinfo();
?>

在这里插入图片描述

源码安装 Zabbix

1 安装 Zabbix 环境所需依赖包

[root@zabbix ~]# yum -y install gcc gcc-c++ autoconf httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel  java-devel openldap openldap-devel php-pdo ncurses-devel OpenIPMI-devel OpenIPMI OpenIPMI-libs  libxml*  libevent* 

2 创建用户账户

对于所有 Zabbix 守护进程,需要一个非特权用户。 如果从非特权用户帐户启动 Zabbix 守护程序,它将以该用户身份运行。

然而,如果一个守护进程以“root”启动,它会切换到“zabbix”用户,且这个用户必须存在。在 Linux 系统中,可以使用下面命令建立一个用户(该用户属于自己的用户组,“zabbix”):

[root@zabbix ~]# useradd -s /sbin/nologin zabbix
[root@zabbix ~]# mkdir /var/log/zabbix /etc/zabbix
[root@zabbix ~]# chown zabbix:zabbix /var/log/zabbix/

3 编译安装 Zabbix

[root@zabbix ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.20.tar.gz
zabbix-4.0.20.tar.gz    // 软件包
[root@zabbix ~]# tar xf zabbix-4.0.20.tar.gz
[root@zabbix ~]# cd zabbix-4.0.20/
[root@zabbix zabbix-4.0.20]# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config  --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-ldap --enable-java
[root@zabbix zabbix-4.0.20]# make && make install

这里可能会提示错误:Unable to use libevent (libevent check failed)

解决办法:需要安装依赖包

[root@zabbix zabbix-4.0.20]# yum install libevent-devel  -y

4 设置环境变量

[root@zabbix ~]# vim /etc/profile
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
[root@zabbix ~]# source /etc/profile

5 建立监控数据库,并导入zabbix数据库

[root@zabbix ~]# mysql -uroot -p

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.01 sec)

对于授权用户有不同的方式,需要根据数据库是否在本地的环境来确定

mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
或
mysql> grant all on zabbix.* to zabbix@192.168.153.% identified by 'zabbix';
或
mysql> grant all on zabbix.* to zabbix@127.0.0.1  identified by 'zabbix';

进行 zabbix 文件导入到数据中

MariaDB [(none)]> use zabbix;

MariaDB [zabbix]> source /root/zabbix-4.0.20/database/mysql/schema.sql;

MariaDB [zabbix]> source /root/zabbix-4.0.20/database/mysql/data.sql;

MariaDB [zabbix]> source /root/zabbix-4.0.20/database/mysql/images.sql;

6 修改配置文件

[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306

7 拷贝网页文件到httpd网站目录下

Zabbix 的源码包中有相应的网站目录,复制到 apache 中

[root@zabbix ~]# cp -rf /root/zabbix-4.0.20/frontends/php/ /var/www/html/zabbix
[root@zabbix ~]# chown -R apache:apache /var/www/html/zabbix/

8 通过 Web 页面配置 Zabbix

访问你的 apache 网页

在这里插入图片描述

根据提示修改 PHP 的配置文件/etc/php.ini ,再重启 Apache ,右边全部为 OK 就可以进入下一步

在这里插入图片描述

在这里插入图片描述

接收默认值,下一步

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到登录界面,说明 Zabbix 安装成功。

输入用户名 Admin 以及密码 zabbix 以作为 Zabbix 超级用户登录。

在这里插入图片描述

页面右上角找到用户头像标志,可以把语言设置为中文。

在这里插入图片描述

设置完成后会返回登录界面,提示 Zabbix Server 没有启动

在这里插入图片描述

9 启动 Zabbix_server 服务

Zabbix 的源码包中自带服务启动脚本,复制到/etc/init.d/目录下,并添加到系统服务。

[root@zabbix zabbix-4.0.20]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@zabbix zabbix-4.0.20]# ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/
[root@zabbix zabbix-4.0.20]# cd /etc/init.d
[root@zabbix init.d]# ls
functions  netconsole  network  README  redis_6379  zabbix_server
[root@zabbix init.d]# chkconfig --add zabbix_server
[root@zabbix init.d]# systemctl start zabbix_server

在这里插入图片描述

10 锁定安装页面

安全起见对 Zabbix 安装界面进行锁定

[root@zabbix ~]# mv /var/www/html/zabbix/setup.php /var/www/html/zabbix/setup.php.bak
[root@zabbix ~]# chmod 600 /var/www/html/zabbix/setup.php.bak

安装被监控端口

在 Zabbix_server 上创建 zabbix_agentd 服务,使它自己监听自己

[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1,192.168.153.132
ServerActive=127.0.0.1:10051

启动agent服务

[root@zabbix zabbix-4.0.20]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@zabbix zabbix-4.0.20]# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/
[root@zabbix zabbix-4.0.20]# cd /etc/init.d/
[root@zabbix init.d]# ls
functions  netconsole  network  README  redis_6379  zabbix_agentd  zabbix_server
[root@zabbix init.d]# chkconfig --add zabbix_agentd
[root@zabbix init.d]# systemctl start zabbix_agentd

完成后返回网页查看

在这里插入图片描述

监控其他机器:配置 Zabbix 客户端

现在使用 Zabbix_server 去监听另一台 Linux 服务器。

以下信息是默认存在的:

[root@node1 ~]# vim /etc/services
zabbix-agent    10050/tcp               # Zabbix Agent
zabbix-agent    10050/udp               # Zabbix Agent
zabbix-trapper  10051/tcp               # Zabbix Trapper
zabbix-trapper  10051/udp               # Zabbix Trapper

安装 zabbix_agentd 代理程序

# wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.20.tar.gz

在需要监控的 Linux 客户机上安装的软件包和在 Zabbix_server 端安装的是同一个,区别在于配置时选取的参数不同。

[root@node1 ~]# useradd -s /sbin/nologin -M zabbix
[root@node1 ~]# mkdir /var/log/zabbix /etc/zabbix
[root@node1 ~]# chown zabbix:zabbix /var/log/zabbix/
[root@node1 ~]# tar xf zabbix-4.0.20.tar.gz
[root@node1 ~]# cd zabbix-4.0.20/
[root@node1 zabbix-4.0.20]# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix/ --enable-agent
[root@node1 zabbix-4.0.20]# make && make install

此处添加服务端的 ip,如服务器不为本机,则需要填写远端 zabbix_server 的 ip 地址

[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1,192.168.153.132
ServerActive=192.168.153.132:10051

启动 agent 服务

[root@node1 ~]# cd zabbix-4.0.20/
[root@node1 zabbix-4.0.20]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@node1 zabbix-4.0.20]# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/
[root@node1 zabbix-4.0.20]# cd /etc/init.d/
[root@node1 init.d]# chkconfig --add zabbix_agentd
[root@node1 init.d]# systemctl start zabbix_agentd

使用 Zabbix 管理平台

将被监控主机添加到系统中

配置–主机–创建主机;根据之前的配置填入信息

在这里插入图片描述

Zabbix 在实际使用中,一般采用模板进行监控配置

在这里插入图片描述

录入信息一分钟左右就可以看到CPU、内存等使用情况,因为选择了模板,应用集、监控项等会有所不同

在这里插入图片描述

监控Windows

在 windows server 2008 上安装 zabbix_agent

1 下载安装包

访问 https://www.zabbix.com/download_agents,下载的安装包直接解压到指定目录就可以

在这里插入图片描述

新建C:\Program Files\zabbix_agent文件夹,解压下载的文件到这个文件夹中

在这里插入图片描述

2 修改 agent 的配置文件

修改C:\Program Files\zabbix_agent\conf\zabbix_agentd.win.conf这个文件

LogFile=c:\zabbix_agentd.log
Server=192.168.153.132
ServerActive=192.168.153.132
UnsafeUserParameters=1    // 是否开启自定义脚本,默认值为0表示不开启;
UserParameter=iis.site.discovery,C:\LLD_Web_Service.bat

3 创建脚本

在 C 盘下创建一个LLD_Web_Service.bat脚本

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION 
echo {
echo     "data":[
for /F "tokens=* delims= " %%i IN ('typeperf -qx^|find "Web Service"^|find "Current Connections"') DO (
    set j=%%i
    for /F "tokens=1 delims=\" %%k in ("%%i") DO (
    echo         {
    echo             "{#WEB_SERVICE}": "%%k"
    echo         },
    )
)
echo         {
echo             "{#WEB_SERVICE}": "none"
echo         }
echo     ]
echo }

4 安装和启动 zabbix_agent

WIN + R 进入命令行

cd C:\Program Files\zabbix_agent\bin
zabbix_agentd.exe -c ..\conf\zabbix_agentd.win.conf -i    // 安装
zabbix_agentd.exe -c ..\conf\zabbix_agentd.win.conf -s    // 启动服务

在这里插入图片描述

任务管理器能看到进程说明启动成功

在这里插入图片描述

现在 zabbix_agent 端的操作已经完成

在服务器端添加 agent

在这里插入图片描述

在这里插入图片描述

连接成功,配置完成

在这里插入图片描述

使用 Media 邮件报警

使用第三方邮箱实现报警

这里测试环境使用的 QQ 邮箱;原理是通过脚本实现 Linux 借用第三方邮箱发送邮件,但是使用脚本发送邮箱还需要邮箱账号的授权码,以及对应的 SMTP 服务器地址。

POP3 (Post Office Protocol - Version 3)协议用于支持使用电子邮件客户端获取并删除在服务器上的电子邮件。

SMTP (Simple Mail Transfer Protocol)协议用于支持使用电子邮件客户端发送电子邮件。

1 邮箱信息获取

在 QQ 邮箱的 “设置” – “ 账户” 中可以找到,点击开启服务。

在这里插入图片描述

之后会让你发送一条短信,获取授权码;
关于授权码,如果别人知道你的授权码和邮箱账号,就可以使用你的邮箱发送邮件。

在这里插入图片描述

至此,授权码已经获得,我们需要的信息都已经获得

POP3/SMTP 设置方法

用户名/帐户: 你的QQ邮箱完整的地址
密码: 生成的授权码
电子邮件地址: 你的QQ邮箱的完整邮件地址
接收邮件服务器: pop.qq.com,使用SSL,端口号995
发送邮件服务器: smtp.qq.com,使用SSL,端口号465或587

2 Zabbix_server 上配置脚本

修改配置文件,打开自定义脚本选项

[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/opt/zabbix/alertscripts

创建目录并授权

[root@zabbix ~]# mkdir -p /opt/zabbix/alertscripts
[root@zabbix ~]# chown -R zabbix:zabbix  /opt/zabbix/alertscripts

编写 python 脚本

#!/usr/bin/python
# -*- coding: utf-8 -*-
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
import sys
smtpaddr = 'smtp.qq.com'    // SMTP 地址
myemail='xxx@qq.com'    // QQ 邮箱地址
password='xxxxxxxxxxxxxxxx'    // 授权码

recvmail=sys.argv[1]    // 收件人
subject=sys.argv[2]    // 主题
content=sys.argv[3]    // 内容

msg = MIMEText("""%s"""%(content), "plain", "utf-8")
msg['Subject'] = Header(subject, 'utf-8').encode()
msg['From'] = myemail
msg['To'] =  recvmail

try:
  smtp = SMTP_SSL( smtpaddr )
  smtp.login(myemail, password)
  smtp.sendmail(myemail, recvmail.split(','), msg.as_string())
  smtp.quit()
  print("success")
except Exception as e:
  print("fail: "+str(e))

给脚本授权

[root@zabbix ~]# chmod +x /opt/zabbix/alertscripts/zabbix_sendmail.py

测试,执行脚本,向邮箱发送邮件,成功进入下一步。

[root@zabbix ~]# /opt/zabbix/alertscripts/zabbix_sendmail.py xxx@qq.com 'zabbix test' 'test123123456456'
success

3 在 zabbix 网页上配置报警

管理–报警媒介类型–创建

添加三个脚本参数

{ALERT.SENDTO}    // 收件人
{ALERT.SUBJECT}    // 邮件标题
{ALERT.MESSAGE}    // 邮件内容

在这里插入图片描述

选择使用哪个用户发送消息

管理–用户–点击“Admin" ,当然你也可以选择其他用户

在这里插入图片描述

配置–动作–创建触发器,进入到下面界面;选择触发条件,满足即触发后面的动作

在这里插入图片描述

选择由哪个用户发送,发送内容

在这里插入图片描述

在这里插入图片描述

恢复操作同样的道理

在这里插入图片描述

故障{TRIGGER.STATUS},服务器名:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

4 模拟故障,检测报警

最简单的,使用模拟磁盘文件,占用所以磁盘空间

[root@zabbix ~]# dd if=/dev/zero of=/root/a.txt bs=512M count=500
dd: 写入"/root/a.txt" 出错: 设备上没有空间
记录了28+0 的读入
记录了27+0 的写出
14586609664字节(15 GB)已复制,30.1032 秒,485 MB/秒

在这里插入图片描述

在 zabbix-server 上配置 mail 服务

1 安装软件 mailx

yum -y install mailx

2 编辑配置文件

[root@zabbix ~]# vim /etc/mail.rc
set bsdcompat
set from=xxx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=xxxxxxxxxx     // 授权码
set smtp-auth=login

测试能否发送邮件

echo "test" | mail -s 'test zabbix for linux' xxx@qq.com

3 编写发送邮件的脚本

[root@zabbix ~]# vim /opt/zabbix/alertscripts/mailx.sh
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/var/log/zabbix/mailx.log 2>&1

给脚本授权

[root@zabbix ~]# touch /var/log/zabbix/mailx.log
[root@zabbix ~]# chown zabbix:zabbix /var/log/zabbix/mailx.log
[root@zabbix ~]# chmod +x /opt/zabbix/alertscripts/mailx.sh

测试脚本

[root@zabbix ~]# /opt/zabbix/alertscripts/mailx.sh xxx@qq.com "test for zabbix" "test page text"

4 配置 zabbix-web 端

配置和之前基本相同,不同的是参数配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5 测试

方法和之前一样,附上一张恢复的邮件

在这里插入图片描述

添加 MySQL 监控

Zabbix Server 端配置

创建数据库连接信息文件/etc/zabbix/.my.cnf

[root@zabbix ~]# vim /etc/zabbix/.my.cnf
[root@zabbix ~]# cat /etc/zabbix/.my.cnf
[mysql]
host=localhost
password=zabbix
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock

在 Zabbix 的源码包中可以找到 MySQL 模板 userparameter_mysql.conf ,复制模板并修改

[root@zabbix ~]# cp zabbix-4.0.20/conf/zabbix_agentd/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.conf.d
[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf.d/userparameter_mysql.conf
:%s@HOME=/var/lib/zabbix@HOME=/etc/zabbix        // 做替换操作

重启 server 和 agent

[root@zabbix ~]# systemctl restart zabbix_server
[root@zabbix ~]# systemctl restart zabbix_agentd

在 Zabbix Web 中添加 Template DB MySQL 模板加入监控

需要新添加一个主机,我的 MySQL 在本地

在这里插入图片描述

选择模板

在这里插入图片描述

查看主机列表, MySQL 监控成功

在这里插入图片描述

监控成功后会生成两个新图形

在这里插入图片描述

拓:关于 Zabbix Web 乱码问题的解决

在 Windows 的 C:\Windows\Fonts 目录下,随意找一个字体文件上传到 Linux 的 /var/www/html/zabbix/assets/fonts 目录中

将原来的字体文件备份,将新的字体文件重命名

[root@zabbix ~]# cd /var/www/html/zabbix/assets/fonts
[root@zabbix fonts]# ls
DejaVuSans.ttf  STXINGKA.TTF
[root@zabbix fonts]# mv DejaVuSans.ttf DejaVuSans.ttf.bak
[root@zabbix fonts]# mv STXINGKA.TTF DejaVuSans.ttf
[root@zabbix fonts]# ls
DejaVuSans.ttf  DejaVuSans.ttf.bak

再去 web 上刷新,乱码就解决了

在这里插入图片描述

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

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

相关文章

电压放大器如何驱动电容性负载的

电容性负载是指由电容器或一组电容器组成的负载。在电路中&#xff0c;当电容性负载与电压放大器相连时&#xff0c;电容器下极板的电位将随着输入信号的变化而变化&#xff0c;从而改变输出电压。电压放大器是一种常见的电路&#xff0c;它能够将输入电压信号放大到较大的幅度…

YOLOv5解析 | 第三篇:yolov5s.yaml文件详解

YOLOv5配置了4种不同大小的网络模型,分别是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中 YOLOv5s 是网络深度和宽度最小但检测速度最快的模型,其他3种模型都是在YOLOv5s的基础上不断加深、加宽网络使得网络规模扩大,在增强模型检测性能的同时增加了计算资源和速度消耗。出于对…

k8s kubeadmin方式安装部署

1、节点至少2C2G. 2、首先安装docker&#xff0c; sudo yum install -y docker-ce docker-ce-cli containerd.io#以下是在安装k8s使用的docker版本。注意保持一致 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6sudo mkdir -p /etc/docker su…

基于iTOP-RK3568开发板进行讲解,本次更新第十一期主要讲解pinctrl子系统共计16讲

1.课cheng规划 2.pinctrl子系统课程引入 3.前置理论-pinctrl_desc结构体.mp4 4.实践-讲解pinctrl_desc结构体实际应用 5.理论&#xff1a;pinctrl子系统三个函数操作集 6.进一步了解rockchip_pinctrl结构体 7.实践&#xff1a;pinctrl子系统三个函数操作集 8.重点&#xff1a;d…

UE4 解决在同一场景播放多个本地视频卡顿的问题(4.27+)

在使用4.27版本开发项目时&#xff0c;需要在同一场景播放多个本地视频&#xff0c;用的是ue自带的播放器&#xff0c;一旦播放的视频多了就会导致卡顿甚至播放不了&#xff0c;查了一下官方文档&#xff0c;虚幻引擎4.27中内置了Bink Media插件&#xff0c;这个插件可以解决这…

Spring MVC 系列1 -- 初识Spring MVC

目录 1. 什么是 Spring MVC&#xff1f; 2. MVC定义 3. 创建SpringMVC项目 ​4. Spring MVC要学习哪些? 1. 什么是 Spring MVC&#xff1f; 官⽅对于 Spring MVC 的描述是这样的&#xff1a; 翻译成中文 从上述定义我们可以得出两个关键信息&#xff1a; 1. Spring MVC 是…

骨传导蓝牙耳机怎么样?盘点当下最流行的几款骨传导耳机

作为耳机资深用户&#xff0c;特别推荐大家使用骨传导耳机&#xff0c;因为骨传导耳机完全不需要入耳&#xff0c;在一定程度上&#xff0c;减少了外耳道和耳膜受损以此保护听力&#xff0c;而且佩戴骨传导耳机时&#xff0c;周围的声音仍然可以听到&#xff0c;避免了因听不到…

伦敦银最新行情分析独到技巧

伦敦银的行情走势时时刻刻都处于变化之中&#xff0c;如果投资者对行情分析得好&#xff0c;无论是市场上涨还是下跌都可以获利&#xff0c;无论做多做空都可以赚钱。如果投资者想更好地发挥伦敦银双向交易的优势&#xff0c;就要对后市的运行的方向有一个基本的判断。 在分析伦…

​​​​layui 实现左侧菜单栏及子类(二)​​

目录 ​ 一&#xff0c;分析左侧菜单栏及子类的数据表 ​ 二&#xff0c;实现左侧菜单栏及子类的具体步骤 2.1实体类&#xff08;与数据库中的字段对应一一&#xff01;&#xff01;&#xff01;&#xff09; 2.2dao方法 dao类代码&#xff1a; TreeOv工具类代码&#xf…

实战:Springboot集成Sentinel实现流量控制、熔断降级、负载保护

文章目录 前言知识积累流量控制负载保护熔断降级官方文档 实战演练部署sentinel-dashboard直接jar包部署docker-compose编排 springboot集成sentinel基础架构搭建sentinel控制台sentinel验证 延伸&#xff1a;系统自适应限流系统规则原理配置页面 写在最后 前言 前面的文章我们…

网络编程6——TCP协议的两大特性:面向字节流 + 异常情况 + 沾包BUG解决方案

文章目录 前言一、TCP协议段与机制TCP协议的特点TCP报头结构TCP协议的机制与特性 二、TCP协议的 面向字节流特性 TCP协议接发数据的流程TCP协议面向字节流导致的BUG 三、TCP协议的 异常情况 总结 前言 本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅…

DHorse v1.2.1 发布,基于k8s的发布平台

综述 DHorse是一个简单易用、以应用为中心的云原生DevOps系统&#xff0c;具有持续集成、持续部署、微服务治理等功能&#xff0c;无需安装依赖Docker、Maven、Node等环境即可发布Java、Vue、React应用&#xff0c;主要特点&#xff1a;部署简单、操作简洁、功能快速。 优化内…

TypeScript 学习笔记(三):函数

一、函数定义 函数是由一连串的子程序&#xff08;语句的集合&#xff09;所组成的&#xff0c;可以被外部程序调用&#xff0c;向函数传递参数之后&#xff0c;函数可以返回一定的值。 通常情况下&#xff0c;TypeScript 代码是自上而下执行的&#xff0c;不过函数体内部的代…

【说明书】TA3001信号隔离器使用说明书

-为了方便需要的时候查阅分享说明书&#xff0c;特将其整理到CSDN。- 一、产品介绍&#xff1a; 给现场的变送器提供隔离电源&#xff0c;接收变送器输出的电流信号&#xff0c;隔离后输出给系统。该产品需要独立供电。 二、主要技术参数 1、供电电压:18~36 VDC 2、消耗电流…

python的字符串操作

1、字符串的驻留机制 字符串 在Python中字符串是基本数据类型&#xff0c;是一个不可变的字符序列什么叫字符串驻留机制呢? 仅保存一份相同且不可变字符串的方法&#xff0c;不同的值被存放在字符串的驻留池中&#xff0c;Python的驻留机制对相同的字符串只保留一份拷贝&…

想知道MLGO是如何工作的吗?看完这篇文章你就懂了

在当今软件开发领域&#xff0c;代码优化对于提高性能和减小代码体积至关重要。在这方面&#xff0c;内联&#xff08;Inlining&#xff09;被认为是一项关键的优化技术之一。而MLGO能够在编译过程中智能地做出内联/非内联的决策&#xff0c;从而提供更高效、更紧凑的代码。本文…

apk应用完整性校验

测试客户端程序是否对自身完整性进行校验。攻击者能够通过反编译的方法在客户端 程序中植入自己的木马&#xff0c;客户端程序如果没有自校验机制的话&#xff0c;攻击者可能会通过篡改客 户端程序窃取手机用户的隐私信息。 用 ApkTool 将目标 APK 文件解包&#xff0c;命令如…

linux下实现串口功能

1.先从wiringpi库复制一个串口代码 2.查看串口类型 3.将代码修改成ttyS5 4.改完代码后打开串口助手然后编译 代码示例&#xff1a; #include <stdio.h> #include <string.h> #include <errno.h> #include <pthread.h> #include <wiringPi.h> #i…

Ubuntu18.04.6本地部署PaddleSpeech实验代码(CPU版)

前言 因为本人不是搞python和AI的&#xff0c;所以部署这个项目是耗时耗力&#xff0c;本地部署还是挺麻烦的&#xff0c;发现了很多问题&#xff0c;关键就是权限和源代码路径问题&#xff0c;经历了14天&#xff08;大部分时间扔在做系统&#xff0c;装环境&#xff0c;代码阅…

【数学建模】常微分方程

常微分方程 博客园解释 https://www.cnblogs.com/docnan/p/8126460.html https://www.cnblogs.com/hanxi/archive/2011/12/02/2272597.html https://www.cnblogs.com/b0ttle/p/ODEaid.html matlab求解常微分方程 https://www.cnblogs.com/xxfx/p/12460628.html https://www.cn…