zabbix部署【各模块超详细】

news2025/1/16 6:41:37

目录

安装zabbix

部署zabbix

配置zabbix

1. 修改语言

2. 监控linux端

3. 修改中文乱码

报警功能

报警音报警

邮件报警

脚本报警

邮件通知内容

图形模块

创建图形

创建聚合图形

percona

mysql模板

nginx模板

克隆主机

网络发现

自动注册

主被动模式


🍁如果对你有帮助就点个收藏吧🔖

🍁博主首页大虾好吃吗

        实验目标:根据拓扑图配置监控node1和mysql,添加mysql监控模板,脚本报警等功能。

拓扑图如下:

 

安装zabbix

1. 安装zabbix源:

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm (阿里源)

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm  (官方源)

rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm (国内清华源)

新版本:

https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm

本案例使用rpm安装,如yum安装使用此命令:yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

2. 安装zabbix服务端软件

[root@zabbix_server ~]# rpm -ivh /media/zabbix-server/* --nodeps --force

[root@zabbix_server ~]# modprobe ipmi_devintf     //rpm安装缺少模块,加载两项模块

[root@zabbix_server ~]# modprobe ipmi_msghandler

3. 启动数据库,建立数据库及用户

[root@zabbix_server ~]# systemctl start mariadb
[root@zabbix_server ~]# systemctl enable mariadb
[root@zabbix_server ~]# mysqladmin -uroot password
New password:
Confirm new password:
[root@zabbix_server ~]# mysql -uroot -p123
//省略部分内容
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)

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

MariaDB [(none)]> exit
Bye

4. 导入zabbix初始化数据

[root@zabbix_server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.22/create.sql.gz |mysql -uzabbix -pzabbix zabbix

5. 修改zabbix配置文件

[root@zabbix_server ~]# vim /etc/zabbix/zabbix_server.conf

DBPassword=zabbix         //修改此行,删除注释添加数据库密码

[root@zabbix_server ~]# systemctl start zabbix-server

[root@zabbix_server ~]# systemctl enable zabbix-server

6. 修改时区

        修改配置文件,定位到20行修改为上海。

[root@zabbix_server ~]# vim /etc/httpd/conf.d/zabbix.conf

        php_value date.timezone Asia/Shanghai

[root@zabbix_server ~]# systemctl restart httpd

[root@zabbix_server ~]# systemctl enable httpd

部署zabbix

        通过浏览器访问http://192.168.1.4/zabbix ,部署zabbix点击"Next step"下一步,确认当前页ok再次点击"Next step"下一步,输入数据库用户密码后,全部点击下一步即可到达登录界面。默认用户:Admin,密码:zabbix。

 

配置zabbix

1. 修改语言

        首次安装的zabbix一般为英文,下面将修改为中文界面。

        再次查看后就成为中文首页了。

2. 监控linux端

(1)再次打开一台linux服务器,测试zabbix监控。

yum安装方式:

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm

        本次使用rpm安装

[root@node1 ~]# rpm -ivh /media/zabbix-server/zabbix-agent-4.0.22-1.el7.x86_64.rpm --nodeps --force

[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.1.4             //找到Server字段,指向zabbix服务器。

[root@node1 ~]# systemctl start zabbix-agent

[root@node1 ~]# systemctl enable zabbix-agent

(2)添加主机

        配置→主机→创建主机→指定主机名称→指定群组→代理服务器IP(被监控端IP)→添加。

(3)添加模板

         点击配置→主机→模板→添加模板→添加(小字体)→添加。

        添加后稍等片刻就可以看到新建的主机成功,添加的模板等都可以看到。下面Zabbix server是zabbix服务器本机,本机也是可以被监控的(自己监控自己)。

        zabbix服务器执行命令:[root@zabbix_server ~]# systemctl start zabbix-agent下面就可以看到主机已启用并正常监控了。

3. 修改中文乱码

        点击监测→图形→选择群组→主机→监控类型,就可以看到当前被监控端的信息,但是可以看到下方数据有乱码现象,需要在zabbix服务器安装字体包。

[root@zabbix_server ~]# yum -y install wqy-microhei-fonts

[root@zabbix_server ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

        选择覆盖原字体。

 

        现在登录zabbix的web页面将正常显示中文字体。

报警功能

报警音报警

        下面将开启触发器测试登录人数,如果超过限定人数就发出警报并发邮件到管理员qq邮箱。

(1)前端声音报警

        右上角小人(用户)→正在发送信息→勾选前端信息中→更新。

  

(2)添加触发器

        配置→主机→找到对应主机(node1)→触发器→创建触发器→命名→严重性→添加表达式→选择监控项(Number of logged in users)→间隔→结果(大于/0小于/等于/不等于n则发出警告)→下方添加完成。

 

        node1端创建大于三个连接数,等待zabbix发出警告并发送邮件。但是想要发送邮件还需要开启Report problems to Zabbix administrators,如未开启需要开启该项。

  

        此时可以在web页面看到警报提醒。

邮件报警

        zabbix的报警功能随好,但是生产环境中,不能无时无刻的守在服务器旁,这就应用到了邮件警报功能。当下班时如服务器出现问题,警报系统将给邮箱发送一条信息,我们从而得知服务器的故障。

1. 配置→动作→启用report→应用。

  

2. 点击右上角用户头像→报警媒介→添加→收件人邮箱地址(推荐使用qq邮箱)。

 3. 管理→报警媒介类型→email→添加SMTP服务器:smtp.qq.com→端口:465→HELO:qq.com→SMTP电邮:2502461084@qq.com→SSL/TLS→勾选→用户名称:2502461084@qq.com→密码:qq邮箱授权码。

        qq邮箱授权码获取方式:(打开邮箱--设置--账户→开启smtp服务--获取授权码--保存配置)

  

        监控端再次打开新端口访问,连接数大于三个用户,查看zabbix是否发送邮件(过程需要等待1至两分钟)。

        通过下图已经收到了网站的警告,打开邮件查看是否收到邮件。

        通过对邮件的查看,可以看到主机node1的警告。

脚本报警

        上面也讲过邮件报警了,但是还是有一些公司用的老版本centos6或者zabbix2,zabbix没有email报警媒介模块,这就需要编辑脚本报警。

1. 关闭zabbix-server上的邮件服务,安装mailx

[root@zabbix_server ~]# systemctl stop postfix

[root@zabbix_server ~]# systemctl disable postfix

Removed symlink /etc/systemd/system/multi-user.target.wants/postfix.service.

[root@zabbix_server ~]# yum -y install malix

2. 编辑mailx的配置,指定收件邮箱和用户密码

[root@zabbix_server ~]# vim /etc/mail.rc

        空白行添加下面内容,收件人注意修改为本人邮箱

set from=2502461084@qq.com                         //本人邮箱
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=2502461084@qq.com                //本人邮箱
set smtp-auth-password=hjhzldkencdyeaji             //本人授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

        保存文本退出后,测试邮件服务是否成功。error内容表示证书不安全,实验环境不用理会。

        登录邮箱就可以看到测试内容了。

  

3. zabbix-server编写邮件报警脚本

[root@zabbix_server ~]# yum -y install dos2unix
[root@zabbix_server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix_server alertscripts]# vim email_notice.sh
#!/bin/bash
#export UTF-8
FILE=/tmp/mail.txt
echo "$3" > $FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
[root@zabbix_server alertscripts]# chmod +x email_notice.sh

4. zabbix web控制台关联邮件报警脚本

        管理→报警媒介类型→关闭已有的email报警→右上角“创建媒体类型”→“名称,类型(脚本),脚本名称(必须写对),参数添加3个:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}”→添加。

  

        右上角→小人(用户)→报警媒介→“类型(邮件脚本,收件人:真实邮箱地址)”→添加→更新。

邮件通知内容

        查看的邮件发现很多英文,排版也不规则,很不人性化。下面通过修改配置让邮件信息合理阅读。

        配置→动作→Report problems to Zabbix administrators→操作→修改默认标题→修改消息内容→恢复操作→修改默认标题→修改消息内容→更新。

  操作主题:Problem: {EVENT.NAME}故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

  内容:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

  恢复操作主题:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

内容:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

 

        修改后还是增加node1的连接数,等待邮件报警。通过查看我们可以看到对比刚在的邮件内容更加一目了然。

图形模块

创建图形

        配置→主机→选择主机(node1)→图形→右上角“创建图形”→填写“名称”→添加“监控项”→点击最后一行“添加”

查看图形:

        监测→图形→选择“群组”→选择"主机"→选择“图形名称”

  

创建聚合图形

        监测→聚合图形→创建聚合图形→填写聚合图形“名称”→添加→选择新建聚合图形→指定名称→编辑行和列→添加→选择创建的聚合图形→编辑聚合图形→根据需求添加

  

幻灯片演示:

        聚合图形→创建幻灯片演示(把多个聚合图形,按照频率刷新演示)→指定名称→选择 幻灯片播放的图形→添加→点击创建的幻灯片查看。

percona

zabbix模板文件下载:

https://www.zabbix.org/wiki/Zabbix_Templates/Official_Templates

mysql模板

        mysql主机(192.168.1.6)安装zabbix-agent,修改配置文件指向zabbix服务器。

1. 安装环境

percona需要php环境

[root@mysql ~]# yum -y install php php-mysql
[root@mysql ~]# rpm -ivh /media/zabbix-server/zabbix-agent-4.0.22-1.el7.x86_64.rpm
[root@mysql ~]# systemctl start zabbix-agent
[root@mysql ~]# systemctl enable zabbix-agent
[root@mysql ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.4
[root@mysql ~]# rpm -ivh /media/mysql5.6-rpm/* --nodeps --force
[root@mysql ~]# systemctl start mysqld
[root@mysql ~]# systemctl enable mysqld
[root@mysql ~]# mysqladmin -uroot password
New password:
Confirm new password:

2. 下载软件

注意:安装完成后会有提示模版的路径位置

[root@mysql ~]# rpm -ivh /media/percona-zabbix-templates-1.1.8-1.noarch.rpm
//省略部分内容,下面为模板路径提示
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates

3. 查看目录

        进入安装目录会发现有2个目录,一个是脚本目录,一个是模版目录

[root@mysql ~]# cd /var/lib/zabbix/percona/
[root@mysql percona]# ls
scripts  templates

        其中脚本目录里有2个脚本,用来获取数据库信息

4. 修改get_mysql_stats_wrapper.sh

        修改get_mysql_stats_wrapper数据库登陆信息

[root@mysql percona]# vim scripts/get_mysql_stats_wrapper.sh

修改第19行-e前面加用户名及密码:

    RES=`HOME=~zabbix mysql -uroot -p123 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`

5. 修改ss_get_mysql_stats.php

[root@mysql percona]# vim scripts/ss_get_mysql_stats.php
修改30,31行:

$mysql_user = 'root';
$mysql_pass = '123';

6. 复制自定义监控项配置文件到zabbix目录

[root@mysql percona]# cp templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

7. 重启agent

[root@mysql percona]# systemctl restart zabbix-agent

8. 刷新

[root@mysql percona]# zabbix_agentd -p

        下面出现这样的提醒没有报错不用理会。

9. 导入模版

        配置→模板→导入→浏览导入文件(zbx_percona_mysql_template)→勾选聚合图形→最后导入

10. 主机链接模版

        模板创建完成后就可以创建主机了,并选择刚才导入的模板。

        配置→主机→创建主机→选择两个模板→添加→添加

查看模板图形:

        监测→图形→群组→主机→图形

nginx模板

        前提环境:打开nginx服务器安装zabbix-agent,修改配置文件指向zabbix服务器。

1. 开启监控页面并访问测试

[root@node1 ~]# vim /etc/nginx/conf.d/default.conf     //添加nginx状态模块
   location /nginx_status {
       stub_status on;
       access_log off;
   }
[root@node1 ~]# systemctl restart nginx

使用下面两种方式其一验证。

2. 准备nginx监控状态脚本

[root@node1 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@node1 zabbix_agentd.d]# vim nginx_monitor.sh
#!/bin/bash
NGINX_COMMAND=$1
CACHEFILE="/tmp/nginx_status.txt"
CMD="/usr/bin/curl http://127.0.0.1/nginx_status/"
if [ ! -f $CACHEFILE  ];then
   $CMD >$CACHEFILE 2>/dev/null
fi
# Check and run the script
TIMEFLM=`stat -c %Y $CACHEFILE`
TIMENOW=`date +%s`

if [ `expr $TIMENOW - $TIMEFLM` -gt 60 ]; then
    rm -f $CACHEFILE
fi
if [ ! -f $CACHEFILE  ];then
   $CMD >$CACHEFILE 2>/dev/null
fi

nginx_active(){
         grep 'Active' $CACHEFILE| awk '{print $NF}'
         exit 0;
}
nginx_reading(){
         grep 'Reading' $CACHEFILE| awk '{print $2}'
         exit 0;
}
nginx_writing(){
         grep 'Writing' $CACHEFILE | awk '{print $4}'
         exit 0;
}
nginx_waiting(){
         grep 'Waiting' $CACHEFILE| awk '{print $6}'
         exit 0;
}
nginx_accepts(){
         awk NR==3 $CACHEFILE| awk '{print $1}'
         exit 0;
}
nginx_handled(){
         awk NR==3 $CACHEFILE| awk '{print $2}'
         exit 0;
}
nginx_requests(){
         awk NR==3 $CACHEFILE| awk '{print $3}'
         exit 0;
}
case $NGINX_COMMAND in
    active)
        nginx_active;
        ;;
    reading)
        nginx_reading;
        ;;
    writing)
        nginx_writing;
        ;;
    waiting)
        nginx_waiting;
        ;;
    accepts)
        nginx_accepts;
        ;;
    handled)
        nginx_handled;
        ;;
    requests)
        nginx_requests;
        ;;
    *)
echo 'Invalid credentials';
exit 2;
esac
[root@node1 zabbix_agentd.d]# chmod +x nginx_monitor.sh
[root@node1 zabbix_agentd.d]# sh nginx_monitor.sh 

3. 编写zabbix监控配置文件

[root@node1 zabbix_agentd.d]# vim nginx_status.conf

UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1

[root@node1 zabbix_agentd.d]# systemctl restart zabbix-agent

[root@node1 zabbix_agentd.d]# chown zabbix:zabbix /tmp/nginx_status.txt

4. 在服务端(192.168.1.4)使用zabbix_get取值

[root@zabbix ~]# zabbix_get -s 192.168.1.5 -k nginx_status[accepts]

5. 导入模版

        配置→模板→导入→选择文件→根据需求勾选聚合图形→导入。

6. 使用模板

        配置→主机→选择nginx主机→模板→选择Template App NGINX→添加→更新/添加。

  

        此时两个新添加的模板都链接成功了。

  

7. 查看数据

使用mysql服务器安装ab工具测试

[root@mysql ~]# yum -y install httpd-tools
[root@mysql ~]# ab -c 1000 -n 10000 http://192.168.1.5/index.html

        监测→最新数据→选择nginx主机→查看访问。

克隆主机

        在生产环境中的主机非常多,如果一台一台添加非常消耗时间。此刻就需要到克隆,配置玩一个nignx服务器或mysql服务器,直接克隆出多台,模板等都不需要配置,只需要修改主机名称和客户端IP。

        此刻需要在添加一台nginx服务器,安装zabbix-agent修改配置文件指向zabbix服务器。

拓扑图如下:

node1添加其他nginx服务器

        配置→主机→node1→克隆。

      修改主机名称和代理端IP后点击添加即可。

  

        稍等刷新界面,可以看到node2的各项都和node1相同,模板也链接成功。

网络发现

        网络发现的作用:加快Zabbix部署,简化管理,无需过多管理,也能在快速变化的环境中使用Zabbix,一般通过网络ip范围自动发现agent主机。

拓扑图如下:

  

        如跟着上面做的实验,需要先全部删除客户端主机,如下图所示。

1. 客户端安装三台客户端主机需要安装zabbix-agent,配置文件Server指向zabbix-server服务器。下面以node1为例,mysql和node2配置相同。

[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.1.4

[root@node1 ~]# systemctl start zabbix-agent

2. web自动发现

(1)配置→自动发现→修改Local Network→添加主机网段(agent端范围,IP数越多时间越久)→修改间隔→更新。

  

(2)配置→动作→事件源(自动发现)→修改现有自动发现→修改触发条件(agent端IP)→操作→添加标题→添加主机,根据需求添加群组、模板→更新。

        稍等片刻查看主机,可以看到三台主机都自动添加成功。

自动注册

        自动注册:Zabbix Active agent可以实现自动注册,进而服务器对其进行监控。通过这种方式,无需在服务器上进行手动配置便可直接启动对新host的监控。例如:手动指定node1,它会自动创建包含node的主机,如node1、node2。但不会自动创建mysql主机。

1. 环境要求

        添加前需要删除前面创建的主机,禁用自动发现功能。

  

        web页面删除三台agent主机,客户端安装zabbix-agent,配置文件Server,ServerActive指向zabbix-server,Hostname修改本机主机名。

        本次目标根据主机名node实现node1、node2的自动创建主机,修改两台node服务器文件。以node1为例。

[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.4
ServerActive=192.168.1.4
Hostname=node1
[root@node1 ~]# systemctl restart zabbix-agent

2. web自动注册

        配置→动作→事件源(自动注册)→创建动作→填写名称→触发条件主机名→操作(主机、群组、模板)。

        下面就可以看到主机名包含node的两台主机都已经添加成功了。

主被动模式

        被动模式:默认模式,由服务器向客户端发起监控项请求,每个监控项发一个请求,效率低。

        主动模式:由客户端主动向服务器申请监控项清单,一起发送给服务器,效率高,不占服务器太多资源。

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

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

相关文章

Handsontable复制列标题内容的功能

Handsontable复制列标题内容的功能 添加了通过使用3个新的上下文菜单选项复制列标题内容的功能&#xff1a;“使用标题复制”、“使用组标题复制”和“仅复制标题”。 添加了4个用于以编程方式复制列标题的新API方法&#xff1a;“copyCellsOnly()”、“copyWithColumnHeaders(…

vscode jupyter配置远程服务器开发

背景说明&#xff1a;本地vscode中使用jupyter编写本地python代码很方便&#xff0c;各种快捷键用的飞起。但是要做线上大数据分析时。在集群环境中搭建一个jupyter。使用网页端编写程序非常不习惯&#xff0c;所以想到能不能将线上的jupyter接口开出来&#xff0c;使用vscode远…

js-有关时间

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date 有关Date 返回格式 Sun Oct 10 2021 00:00:00 GMT0800 (中国标准时间) new Date() 无参数 获取当前时间new Date(value) 传入时间戳 传入一个时间戳 一个 Unix 时间戳&#xff08;U…

JVM运行流程/运行时数据区

JVM运行流程 程序在执行之前先要把 java代码 转换成 字节码文件 (.class文件), JVM 首先需要把字节码通过一定的方式 类加载器 (ClassLoader) 把文件加载到内存中 运行时数据区 (Runtime Data Area) , 而字节码文件是 JVM 的一套指令集规范, 并不能直接交给底层操作系统去执行…

【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)

一、Hive简介 Hive起源于Facebook&#xff0c;Facebook公司有着大量的日志数据&#xff0c;而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架&#xff0c;可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发&#xff0c;但对于其他语言使用…

Anaconda为虚拟环境安装第三方库与Spyder等软件的方法

本文介绍在Anaconda中&#xff0c;为Python的虚拟环境安装第三方库与Spyder等配套软件的方法。 在文章Anaconda中Python虚拟环境的创建、使用与删除&#xff08;https://blog.csdn.net/zhebushibiaoshifu/article/details/128334614&#xff09;中&#xff0c;我们介绍了在Anac…

提前做好网络安全分析,运维真轻松(二)

背景 某汽车总部已部署NetInside流量分析系统&#xff0c;使用流量分析系统提供实时和历史原始流量。汽车配件电子图册系统是某汽车集团的重要业务系统。本次分析重点针对汽车配件电子图册系统进行预见性分析&#xff0c;以供安全取证、性能分析、网络质量监测以及深层网络分析…

FRP搭建内网穿透

前言 内网穿透方式很多&#xff0c;可以用公网IP进行端口映射&#xff0c;DDNS等。现在我有个云服务器&#xff0c;使用它做中转作为内网穿透的工具。 可以在这个网址了解下原理基础&#xff1a;内网穿透工具的原理与开发实战 FRP内网穿透 FRP是一个内网穿透的反向代理应用…

电压放大器工作原理及特点是什么

很多人虽然经常使用电压放大器&#xff0c;但是对于电压放大器的工作原理以及特点是什么都不清楚&#xff0c;下面就来为大家讲解。 什么是电压放大器&#xff1f; 电压放大器是一种能够增加信号电压的装置。对于弱信号&#xff0c;通常采用多级放大级联方式分直接耦合、阻容耦…

关于机器人状态估计(10)-VSLAM与VIO的3D建图,重定位与世界观综述

近期我国迎来了cov海啸&#xff0c;其实我也不知道我羊了没有&#xff0c;但并没有什么不舒服同时因为我没有测&#xff0c;那自然是没有羊&#xff0c;或者是薛定谔的羊。 近年另外一块工作的综述&#xff0c;这篇科普的同时&#xff0c;也会包含部分有价值的信息。 一. 摘要…

【面试题】 面试官:你如何实现大文件上传

大厂面试题分享 面试题库 前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 一、问题分析 如果将大文件一次性上传&#xff0c;会发生什么&#xff1f;想必都遇到过在一个大文件上传、转发等操作时&#xff0c;由…

如果公司线上系统突然宕机了,怎么才能确保MQ消息不丢失?

V-xin&#xff1a;ruyuanhadeng获得600页原创精品文章汇总PDF 一、写在前面 之前写过一篇文章《项目里接入了MQ消息中间件以后&#xff0c;我摸鱼的时间更长了~》&#xff0c;我们用一个简单易懂的电商场景给大家引入说明了一个消息中间件的使用场景。 同时&#xff0c;我们还…

考研英语|传统文化英语高频词汇

目录​​​​​​​ 一. 节日名称 二. 相关节日活动 三. 传统饮食 四. 传统建筑 五. 文学艺术 六. 四大发明 七. 新四大发明 一. 节日名称 1. 春节&#xff1a;Chinese New Years Day / Chinese Lunar New Year / the Spring Festival 2. 除夕&#xff1a;New Years E…

Vue2.0开发之——Vue组件-样式冲突(35)

一 概述 scoped的使用及底层原理使用deep修改子组件中的样式 二 scoped的使用及底层原理 2.1 组件之间的样式冲突问题(修改Left.vue中的h3属性&#xff0c;Right也被修改) 默认情况下&#xff0c;写在 .vue 组件中的样式会全局生效&#xff0c;因此很容易造成多个组件之间的样…

kubelet源码分析 syncLoopIteration(二) plegCh、syncCh

kubelet源码分析 syncLoopIteration&#xff08;二&#xff09; plegCh 上一篇&#xff1a;kubelet源码分析 syncLoopIteration&#xff08;一&#xff09; configCh 上一篇说了configCh管道的作用&#xff0c;这一篇说一下plegCh管道。这个管道主要是监听容器运行时状态的&…

搭建Python环境

搭建Python环境 文章目录搭建Python环境需要安装的环境&#xff1a;安装Python1&#xff09;找到官网2&#xff09;找到下载页面3&#xff09;双击安装包4&#xff09;运行 hello world安装 PyCharm1&#xff09;找到官方网站2&#xff09;找到下载页面3&#xff09;双击安装包…

BEVFormer-accelerate:基于 EasyCV 加速 BEVFormer

导言 BEVFormer是一种纯视觉的自动驾驶感知算法&#xff0c;通过融合环视相机图像的空间和时序特征显式的生成具有强表征能力的BEV特征&#xff0c;并应用于下游3D检测、分割等任务&#xff0c;取得了SOTA的结果。我们在EasyCV开源框架&#xff08;https://github.com/alibaba…

照片调色JixiPix Hand Tint Pro

JixiPix Hand Tint Pro带有专业分层系统的简单工作流程具有色调&#xff0c;色调&#xff0c;颜色&#xff0c;乘法&#xff0c;柔和涂料或可以逐层更改的涂料的模式&#xff0c;以及功能强大的选色工具&#xff0c;可在隔离区域内保持刷涂&#xff0c;以实现快速着色和准确性。…

Linux环境下多线程C/C++程序的内存问题诊断

目录说明常见的内存错误举例常见的内存访问错误有以下几种&#xff1a;内存问题定位步骤野指针内存释放后使用&#xff08;UaF&#xff0c;Use after Free&#xff09;内存问题检查工具常见的内存问题检查工具Valgrindgcc 命令行参数 -fsanitizeaddress -fno-omit-frame-pointe…

Prim算法

应用场景 1.如何修路才能保证修路的总路程最短&#xff1f; 特点&#xff1a; 1.将所有节点全部连通&#xff0c;并且边上的权总和最小——>最小生成树 2.N个顶点&#xff0c;有N-1条边 Prim算法图解分析 简而言之&#xff0c;就是先确定顶点A&#xff0c;然后寻找没有遍…