Zabbix 企业级应用(Zabbix Enterprise Application)

news2024/10/7 5:37:15

  💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老
导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。
常用运维工具系列:常用的运维开发工具, zabbix、nagios、docker、k8s、puppet、ansible等
数据库系列:详细总结了常用数据库 mysql、Redis、MongoDB、oracle 技术点,以及工作中遇到的 mysql 问题等
懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

案例:Zabbix 企业级应用
技能目标:
-掌握 Zabbix 监控系统自动发现
-掌握 Zabbix 获取远程 KEY(监控项)
-掌握 Zabbix 监控实战邮件报警
-掌握 Zabbix 监控自动注册实战
-掌握 Zabbix 主被动模式详解

2.1 案例分析

2.1.1 案例概述

Kgc 公司刚刚搭建部署完 Zabbix 监控服务系统,现在需要对后续的服务器添加监控项目。
由于公司有几百台服务器,不可能手动的去添加,因此需要使用自动发现或者自动注册的方式
来批量添加服务器,并且配置好邮件报警,以便于及时发现服务器问题,及时解决,不影响正
常工作。但是由于 Zabbix Server 性能有限,所以需要将 Agent 被动工作模式修改为主动模式,
也就是将监控到的数据主动发到 Zabbix Server,以此减轻 Zabbix Server 的压力。

2.1.2 案例前置知识点

本案例将主要针对 Zabbix 在企业中所使用到的功能进行讲解。
1. 自动发现
在大型企业中,可能有成千上万台服务,手动添加每台设备非常不现实,因此就需要利用
Zabbix 自带的自动发现功能来实现批量监控设备。自动发现是由 Zabbix Server 开启发现进
程,定时扫描局域网中指定 IP 服务、设备。自动发现添加监听服务器,前提需要在 Agent
户机上安装 Zabbix Agent 软件,并指定 Server 地址,开启自动发现服务。
2. 获取远程 key 值
zabbix_get Zabbix 服务端的命令,用于检测 Agent 端的配置是否正确,可以很方便地
知道 key 是否能正常获取到 Agent 的数据,并且可以测试 key 值是否可用。
3. 邮件报警
邮件报警在 Zabbix 中是非常重要的组件,可以在服务器出现问题是及时邮件发送给管理
员处理。邮件报警使用 SendMail 组件来添加发送邮件的支持。
4. 自动注册
自动发现功能是 Zabbix Server 去扫描一个网段,把在线的主机添加到 Host 列表中。自
动注册内容与自动发现相反,这次是 Agent 主动联系 Zabbix Server,最后由 Zabbix Server
将这些 Agent 加到 host 里。前提是所有服务器批量装好 Zabbix Agent,并且 Zabbix Server
需要配置好 trigger,就可以迅速添加服务器监控。
5. 主、被动模式
Zabbix 客户端发送数据给 Zabbix 服务端分为主动和被动两种模式。主动模式是 Zabbix
客户端主动向服务端发送数据,被动模式则是被动等待服务端来客户端取数据,Zabbix 默认
使用被动模式。
主动模式的流程:客户端每隔一段时间主动向服务端发起连接请求;服务端收到请求后,
查询客户端需要取的 item 信息,发送给客户端;由客户端收集数据发送服务端。
被动模式的流程:客户端开一个端口,默认 10050,等待服务端来取数据;客户端收集
数据发送到服务端。
主动模式主要解决,当服务端监控的主机达到一定数量之后,由 Server 端去收集数据,
Zabbix 会出现严重的性能问题,主要表现如下:
1)当被监控端到达一个量级的时候,Web 操作会很卡,容易出现 502 等问题。
2)图层断裂,导致输出结果不准确。
3)开启的进程(Pollar)太多,即使减少 item 数量,以后加入一定量的机器也会有问题。

2.1.3 案例环境

1. 本案例环境
本案例环境如表 2-1 所示。
2-1 Zabbix 案例环境
主机操作系统主机名/IP 地址主要软件及版本
服务器CentOS 7.3zabbix-server/192.168.9.168Zabbix-Server
服务器CentOS 7.3agent-discover/192.168.9.247Zabbix-Agent
服务器CentOS 7.3agent-register/192.168.9.251Zabbix-Agent

2. 案例拓扑

本案例的拓扑图如图 2.1 所示。
2.1 拓扑图
3. 案例需求
下面是本案例的需求:
1Zabbix 设置监控系统自动发现。
2)获取远程 key
3)设置 Zabbix 邮件报警。
4)实现监控系统自动注册。
5)设置 Zabbix 监控主被动模式。
4. 案例实现思路
下面是本案例实现思路:
1)设置自动发现监控主机。
2Zabbix 获取远程 key
3)部署邮件报警。
4)部署 Zabbix 自动注册。
(5)更改 Zabbix 主被动模式。

2.2 案例实施

2.2.1 Zabbix 监控系统自动发现
1. 客户机安装 Zabbix Agent
前面章节已经介绍了 Agent 安装方法,此处不在赘述。注意关闭防火墙及 selinux
[root@agent-register ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.9.168
//zabbix 服务器地址
ServerActive=192.168.9.168
Hostname=Zabbix zidong //Agent 本地的名称,此名称需要与将来在 server 端的 WEB 页面上的主机
名称一致,名称自定义
[root@agent-register ~]# systemctl start zabbix-agent
2. 创建自动发现规则
登录 Zabbix 服务器 Web 页面,选择配置自动发现,点击创建发现规则后,填写自动
发现规则,如图 3.2 和图 3.3 所示。
注:因为有二次窗口操作图 2.2 与图 2.3 为同一个页面。
2.2 添加自动发现规则
2.3 最终状态
3. 创建自动发现动作
选择配置动作事件源选择自动发现,点击创建动作按钮,如图 2.4 所示。
2.4 创建动作
在图 2.5 界面,添加动作名称,然后在新的触发条件一项,参照图中所示选择自动发现
状态
2.5 添加条件
然后选择操作。在操作模块选择新的,选择具体的操作类型:添加主机、添加到主机群
组、与模板关联,最后选择添加,如图 2.6 所示。
2.6 添加操作
4. 验证
点击监测中选项,再点击自动发现界面,可以看到已经发现的设备,如图 2.7 所示。
2.7 自动发现
点击配置选项,再点击主机界面。可以看到 Zabbix 已经按照模板对发现的主机执行监
控,如图 2.8 所示。
2.8 主机配置界面
在图 2.8 中,主机名称显示为“192.168.9.247”,可以点击“192.168.9.247”后在弹出的界
面中,修改为“Zabbix zidong”,如图 2.9 所示。
2.9 修改主机名
5. 监控
在生产环境中,可以根据服务器所需监控类型添加模板,如 MySQL 服务,可自动添加监

控。

2.2.2 获取远程 KEY(监控项)

1. 安装 Zabbix_get
Zabbix 没有自带此命令,需要在 Zabbix Server 上自行安装。首先下载,再执行安装,执
行命令如下所示。
[root@zabbix-server bin]# wget
http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-get-3.2.1-1.el7.x86_64.rpm
[root@zabbix-server bin]#rpm -ivh zabbix-get-3.2.1-1.el7.x86_64.rpm
准备中...
################################# [100%]
正在升级/安装...
1:zabbix-get-3.2.1-1.el7
################################# [100%]
2. Zabbix_get 参数说明
输入 zabbix_get -h 命令可以查阅它的参数说明。
[root@zabbix-server bin]# zabbix_get -h
......
General options:
-s --host host-name-or-IP 指定客户端主机名或 IP
-p --port port-number
客户端端口,默认 10050
(default: 10050)
-I --source-address IP-address
指定源 IP,写上 zabbix server ip 地址即可,一般留空,服务
器如果有多 ip 的时候需指定。
-k --key item-key
需要获取的 key
......
3. Zabbix_get 获取 Agent 数据
1)Zabbix_get 主要根据 key 值来获取客户端信息。例如:获取 CPU 核数。
[root@zabbix-server bin]# zabbix_get -s 192.168.9.247 -k system.cpu.num
2
//获取结果为 2
获取 Agent 系统信息,如下所示。
[root@zabbix-server bin]# zabbix_get -s 192.168.9.247 -k system.uname
Linux apache 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64
2)Zabbix 常用 key 值
监控端口的 key 值: net.tcp.port[,port_number]
例如:监控 22 端口 zabbix_get -s 192.168.9.247 -k net.tcp.port[,22],如 22 存在,返
1;不存在返回 0
监控进程 key 值:proc.num[process_name]
例如:监控 sshd 进程 zabbix_get -s 192.168.9.247 -k proc.num[sshd] ,如果进程存在,
则返回所有 sshd 进程数量;不存在则返回 0
查看磁盘容量的 key 值:以下四种语法格式:
vfs.fs.size[/,pfree]:获取/领域的剩余空间率。
vfs.fs.size[/,free]:获取/领域的剩余空间。对应的单位就是 B(这里的意思是 Byte)。
vfs.fs.size[/,pused]:获取/领域的使用空间率。
vfs.fs.size[/,used]:获取/领域的使用空间。
例如:获取 agent 剩余空间 zabbix_get -s 192.168.9.247 -p 10050 -k vfs.fs.size[/,pfree]
查看系统当前网卡的进出流量的 key 值:net.if.out[if,<mode>]net.if.in[if,<mode>]
net.if.total[if,<mode>]
例如:查看 eth0 出口流量,zabbix_get -s 192.168.9.247 -k net.if.out[eth0,bytes]返回的
值为出流量,此值为计数值,单位为 bytes,减去上次取得值,除以时间间隔为此段时间内的
平均流量。
查看系统内存大小的 key 值:vm.memory.size[total],返回值单位 bytes
例如:zabbix_get -s 192.168.9.247 -p 10050 -k vm.memory.size[total],返回值即为内存
大小。

2.2.3 Zabbix 实战邮件报警系统

执行步骤和相关命令如下:

(1)安装 SendEmail 邮箱组件
[root@zabbix-server ~]# wget
http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
[root@zabbix-server ~]#tar -zxvf sendEmail-v1.56.tar.gz -C /root/
[root@zabbix-server ~]#cp /root/sendEmail-v1.56/sendEmail /usr/local/bin/
[root@zabbix-server ~]#chmod 755 /usr/local/bin/sendEmail
(2)编写邮件脚本
执行 vim 命令编写脚本,复制下面脚本内容,进行变量值的相应修改。
root@zabbix-server ~]# vim /usr/lib/zabbix/alertscripts/SendEmail.sh
#!/bin/bash
LOGFILE="/tmp/Email.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1
SMTP_server='smtp.qq.com'
#SMTP 服务器,变量值需要自行修改
username='176944992@qq.com'
#用户名,变量值需要自行修改
password='uubhivovyazodwda'
#密码,变量值需要自行修改
from_email_address='176944992@qq.com'
#发件人 Email 地址,变量值需要自行修改
to_email_address="$1"
#收件人 Email 地址,zabbix 传入的第一个参数
message_subject_utf8="$2"
#邮件标题,zabbix 传入的第二个参数
message_body_utf8="$3"
#邮件内容,zabbix 传入的第三个参数# 转换邮件标题为 GB2312,解决邮件标题含有中文,收到邮件
显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[
$?
-eq
0
]
&&
message_subject="$message_subject_gb2312"
||
message_subject="$message_subject_utf8"
# 转换邮件内容为 GB2312,解决收到邮件内容乱码
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
# 发送邮件
sendEmail='/usr/local/bin/sendEmail'
set -x
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t
"$to_email_address"
-u
"$message_subject"
-m
"$message_body"
-o
message-content-type=text -o message-charset=gb2312 -o tls=no
注意:脚本中如果使用的是互联网邮箱,有的互联网邮箱需要开启 SMTP 相关服务,才
能执行发送。以 QQ 邮箱为例,在设置账户设置中找到 SMTP 服务设置项,如图 2.10
所示。按提示信息进行短信验证。
2.10 开启 SMTP 服务
认证成功后,会弹出图 2.11 界面,返回一个授权码信息。
2.11 邮箱授权码界面
这个授权码是邮箱客户端进行收发邮件需要使用的密码,在脚本中账户密码部分输入的就
是此授权码,而不能是邮箱账户密码。建议:提前用 foxmail 测试收发无误后,再写入脚本。
(3)修改文件属主及执行权限
[root@zabbix-server ~]# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/SendEmail.sh
[root@zabbix-server ~]# chmod +x /usr/lib/zabbix
[root@zabbix-server ~]# chmod +x /usr/lib/zabbix/alertscripts/SendEmail.sh
[root@zabbix-server ~]# touch /tmp/Email.log
//创建 Email 日志文件
[root@zabbix-server ~]# chown zabbix.zabbix /tmp/Email.log
(4)测试邮件发送
进入/usr/lib/zabbix/alertscripts/目录下执行如下命令:
[root@zabbix-server ~]# ./SendEmail.sh 176944992@qq.com "测试邮件标题" "测试邮件内容"邮箱收到邮件测试邮件标题主题邮件说明邮件发送成功。如有异常查看/tmp/Email.log
日志。
(4)Web 管理界面添加报警媒介类型
登录 Zabbix Web 管理界面,选择管理”→“报警媒介类型点击已有的媒体类型“Email”
如图 2.12 所示。
2.12 点击修改 Email 媒体类型
在图 2.13 界面中,类型更改为脚本,添加刚才创建的脚本名称 SendEmail.sh,并添加
三个脚本参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}。然后点击
按钮。
2.13 添加脚本
(5)用户关联报警媒介
点击管理标签页,点击用户按钮,再点击“Admin”用户,在弹出的图 2.14 界面中,点
报警媒介,添加报警媒介,并设置收件人邮箱地址。
2.14 添加报警媒介
完成以上设置后,点击更新按钮,更新报警媒介。如图 2.15 所示。
2.15 更新报警媒介
(6)添加报警动作
点击配置标签页,再点击动作导航按钮,事件源选择触发器,然后点击创建动作
钮。名称一栏自定义即可,本例中为“mail”。新的触发条件选择触发器示警度=未分类,然
后,点击红框中的添加按钮。如图 2.16 所示。
2.16 添加触发条件
选择操作修改默认接收人信息,如下:
接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
填写默认信息,如下:
告警主机:{HOST.NAME}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}
然后,在下方的操作区域,点击新的按钮,准备添加操作步骤,如图 2.17 所示。
2.17 填写默认信息
在操作细节区域,按红框中所示添加群组和用户,仅发送到选择“Email”,如图 2.18
示,再点击小红框中的添加按钮。
2.18 设置操作细节信息
恢复操作修改默认接收人信息,如下:
接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
默认信息填写,如下:
恢复主机:{HOST.NAME}
主机地址:{HOST.IP}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}
操作细节部分与上一步相同,默认接收人默认信息以及操作配置,如图 2.19 所示。
2.19 设置恢复操作
最后,点击蓝色添加按钮,完成配置。
(7)模拟宕机验证邮件
关闭 9.247 服务器 Agent 进程。查看仪表盘,发现已出现警告信息,如图 2.20 所示。
2.20 仪表盘警告信息
等待几分钟查看是否收到故障邮件,如图 2.21 所示。
2.21 故障告警邮件
注意:Zabbix Server 端和 Agent 端时间需要一致。
如果邮箱一直未收到警告邮件,需要编辑 zabbix_server.conf 配置文件,按黑体字部分修
改。
### Option: AllowRoot
#
Allow the server to run as 'root'. If disabled and the server is started by 'root', the server
#
will try to switch to the user specified by the User configuration option instead.
#
Has no effect if started under a regular user.
#
0 - do not allow
#
1 - allow
#
# Mandatory: no
# Default:
# AllowRoot=0
AllowRoot=1
### Option: User
#
Drop privileges to a specific, existing user on the system.
#
Only has effect if run as 'root' and AllowRoot is disabled.
#
# Mandatory: no
# Default:
# User=zabbix
User=root
2.2.4 Zabbix 监控系统自动注册
(1)客户端安装 Agent
安装方法与自动发现客户端安装相同,此处不在赘述。
(2)Web 管理创建自动注册动作
登录 Web 管理界面,选择配置动作,事件源选择自动注册,然后点击创建动作,填写
名称及触发条件,如图 2.22 所示。
2.22 配置动作
选择操作,添加操作细节,如图 2.23 所示。
2.23 配置操作细节
(3)验证
选择配置主机,可以看到 9.229 主机已经自动添加,如图 2.24 所示。
图 2.24 自动添加主机
2.2.5 Zabbix 主被动模式讲解
调整 Agent 为主动模式,在 Zabbix-Server 机器执行。
(1)修改配置文件
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_agentd.conf
StartAgents=0
#客户端的 agent 的模式,0 表示关闭被动模式,zabbix-agentd 不监控
本地端口,所以看不到 zabbix_agentd 进程。
#Server=192.168.9.168
#主动模式需要注释掉此行
ServerActive=192.168.9.168
#主动模式的 serverip 地址
Hostname=192.168.9.251
#客户端的 hostname,不配置则使用主机名
RefreshActiveChecks=120
#被监控端到服务器获取监控项的周期,默认 120S
BufferSize=200
#被监控端存储监控信息的空间大小
Timeout=3
#超时时间
(2)检查 Agent 进程
重启 Agent,并查看、确认已经没有 Agent 进程。
[root@zabbix-server ~]#systemctl restart zabbix-agent
[root@zabbix-server ~]#netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address
Foreign Address
State
PID/Program name
tcp
0
0 0.0.0.0:111
0.0.0.0:*
LISTEN
1/systemd
tcp
0
0 192.168.122.1:53
0.0.0.0:*
LISTEN
1663/dnsmasq
tcp
0
0 0.0.0.0:22
0.0.0.0:*
LISTEN
1064/sshd
tcp
0
0 127.0.0.1:631
0.0.0.0:*
LISTEN
1039/cupsd
tcp
0
0 127.0.0.1:25
0.0.0.0:*
LISTEN
1642/master
tcp
0
52 192.168.9.251:22
192.168.9.189:51002
ESTABLISHED
2692/sshd: root@pts
tcp
0
0 192.168.9.251:22
192.168.9.250:58312
ESTABLISHED
7992/sshd: root@pts
tcp6
0
0 :::111
:::*
LISTEN
1/systemd
tcp6
0
0 :::22
:::*
LISTEN
1064/sshd
tcp6
0
0 ::1:631
:::*
LISTEN
1039/cupsd
tcp6
0
0 ::1:25
:::*
LISTEN
1642/master
(3)Web 管理添加主动模式模板
选择配置模板找到 Template OS Linux 模板,点击“全克隆按钮,如图 2.25 所示。
2.25 添加主动模式模板
完成克隆之后,修改模板名称,点击“添加”按钮,如图 2.26 所示。
2.26 修改模板名称并添加
进入模板列表找到刚刚添加的模板,并点击“监控项”按钮,如图 2.27 所示。
2.27 准备配置监控项
全选所有监控项,点击最下方“批量更新”按钮,如图 2.28 所示。
2.28 批量更新
在类型处打钩,选择 Zabbix 客户端(主动式),点击更新按钮,如图 2.29 所示。
2.29 选择 Zabbix 客户端(主动式)并更新
添加主机,如图 2.30 所示。
2.30 添加主机
添加模板,点击“更新”按钮,如图 2.31 所示。
2.31 添加模板并更新
添加完成后,ZBX 灯不会亮,因为服务器处于被动模式,客户机处于主动模式。
可以在监控中看到监控数据,选择监测中图形,选择主动客户机,选择图形为 CPU
jumps,可以看到相关数据图,如图 2.32 所示。
注意:刚添加的数据可能看的不明显,等几分钟就可以看到。
2.32 CPU Jumps 监控界面
至此,Zabbix 主被动模式讲解并配置完成。

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

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

相关文章

【AI学习】Mamba学习(三):离散化SSM的矩阵计算

SSM离散化表示 除了连续的输入之外&#xff0c;还会通常碰到离散的输入(如文本序列)。所以SSM需要离散化形式&#xff0c;就是下面公式2和3。 SSM离散化过程 但是好奇这个离散化过程是如何进行的&#xff1f; 《一文通透想颠覆Transformer的Mamba&#xff1a;从SSM、HiPPO、…

【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解

目录 1、NIO 2、NIO 和 IO 的区别 1. 阻塞 vs 非阻塞 2. 一个线程 vs 多个连接 3. 面向流 vs 面向缓冲 4. 多路复用 3、Channel & Buffer (1&#xff09;Channel&#xff1a;双向通道 (2&#xff09;Buffer&#xff1a;缓冲区 (3&#xff09;ByteBuffer&#xff…

GO网络编程(五):海量用户通信系统3:整体框架与C/S通信总体流程【重要】

这个系统其实是尚硅谷的老韩讲的&#xff08;尚硅谷网络编程项目&#xff09;&#xff0c;但是他讲得很碎片化&#xff0c;思路不够清晰&#xff0c;时间又长&#xff0c;所以要掌握还是挺难的。如果你听了他的视频&#xff0c;不去梳理系统业务流程&#xff0c;不去看代码就往…

云计算身份认证与访问控制(Cloud Computing Identity Authentication and Access Control)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

支持向量机(SVM)基础教程

一、引言 支持向量机&#xff08;Support Vector Machine&#xff0c;简称SVM&#xff09;是一种高效的监督学习算法&#xff0c;广泛应用 于分类和回归分析。SVM以其强大的泛化能力、简洁的数学形式和优秀的分类效果而备受机器学 习领域的青睐。 二、SVM基本原理 2.1 最大间…

watch命令:周期执行指定命令

一、命令简介 ​watch ​命令用于周期性地执行指定的命令&#xff0c;并显示其输出结果。 ‍ 二、命令参数 2.1 命令格式 watch [选项] 命令2.2 选项 ​-n, --interval​: 指定更新间隔时间&#xff08;以秒为单位&#xff09;。默认间隔时间为 2 秒。​-d, --difference…

数学与生活

多学科交叉 信号处理 小波 经济 政策 计算机 统计 信号处理与市场分析 经济与数据分析 政策与统计 过去的数学家没有一个是纯粹的数学家&#xff1b;生活中各方面工程的&#xff0c;物理的&#xff0c;天文&#xff0c;地理的&#xff0c;赌博&#xff0c;政治的&#xff1b…

删除AlibabaProtect

首先管理员运行cmd 然后执行下行 sc delete AlibabaProtect重启电脑&#xff0c;再删除该文件夹C:\Program Files (x86)\AlibabaProtect

prometheus学习笔记之PromQL

prometheus学习笔记之PromQL 一、PromQL语句简介 官方文档&#xff1a;https://prometheus.io/docs/prometheus/latest/querying/basics/ Prometheus提供⼀个函数式的表达式语⾔PromQL (Prometheus Query Language)&#xff0c;可以使⽤户实时 地查找和聚合时间序列数据&…

vSAN04:vSAN远程数据存储挂载、双节点集群介绍/安装/组件读写/高级配置/故障处理方式

目录 vSAN远程数据存储挂载双节点vSAN集群介绍双节点vSAN集群安装双节点vSAN集群的组件读写方式双节点vSAN的高级配置双节点vSAN故障处理方式 vSAN远程数据存储挂载 在同一个vCenter下的VSAN集群可以互相挂载对方VSAN存储&#xff0c;以达到提高资源利用率的目的。 一个集群最…

Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)

文章目录 Docker的数据持久化是什么&#xff1f;1.数据卷&#xff08;Data Volumes&#xff09;使用Docker 创建数据卷创建数据卷创建一个容器&#xff0c;将数据卷挂载到容器中的 /data 目录。进入容器&#xff0c;查看数据卷内容停止并重新启动容器&#xff0c;数据卷中的数据…

打卡第四天 P1081 [NOIP2012 提高组] 开车旅行

今天是我打卡第四天&#xff0c;做个省选/NOI−题吧(#^.^#) 原题链接&#xff1a;[NOIP2012 提高组] 开车旅行 - 洛谷 题目描述 输入格式 输出格式 输入输出样例 输入 #1 4 2 3 1 4 3 4 1 3 2 3 3 3 4 3 输出 #1 1 1 1 2 0 0 0 0 0 输入 #2 10 4 5 6 1 …

k8s 中存储之 hostPath 卷

目录 1 hostPath 卷介绍 2 hostPath 卷实际应用操作 2.1 创建 pod 资源类型 2.2 修改清单文件增加 hostPath 对应的参数配置 2.3 查看是否创建 卷 和 pod 2.4 创建发布文件测试是否正常访问 1 hostPath 卷介绍 EmptyDir中数据不会被持久化&#xff0c;它会随着Pod的结束而销…

每日一题|2187. 完成旅途的最少时间|二分法、计数器

本题的一个思路是从小到大遍历全部可能的t&#xff0c;并分别计算当前每一辆车所能够行驶的最多trips数量。 但是如果从1开始&#xff0c;结束在最不理想的情况是max(time) * totalTrip&#xff0c;在数据很大的时候很容易time out。 所以不妨对每一个可能的t重新思考性质。随…

STL的位图:bitset

引言 在C标准模板库&#xff08;STL&#xff09;中&#xff0c;bitset是一种用于表示固定大小序列的位集合的容器。每个位&#xff08;bit&#xff09;可以被独立地设置或清除&#xff0c;即它可以单独地表示0或1。bitset在处理二进制数据时非常有用&#xff0c;尤其是在需要节…

linux安装百度网盘

版本20.04 下载 deb&#xff1a;debian系列&#xff0c;Ubuntu下载这个 rpm&#xff1a;redhat系列 安装 在Downloads中找到&#xff0c;打开终端&#xff0c;使用命令安装 sudo dpkg -i 名称 //dpkg:Debian package在所有文件中找到。

Linux相关概念和易错知识点(12)(命令行参数、环境变量、本地变量)

1.命令行参数 &#xff08;1&#xff09;main函数的参数int argc和char* argv[]是什么&#xff1f; main函数可以带参数&#xff0c;即int main(int argc, char* argv[])&#xff0c;(int argc, char* argv[])叫做命令行参数列表&#xff0c;int argc叫参数的个数&a…

【YOLO学习】YOLOv3详解

文章目录 1. 网络结构1.1 结构介绍1.2 改进 2. 训练与测试过程3. 总结 1. 网络结构 1.1 结构介绍 1. 与 YOLOv2 不同的是&#xff0c;YOLOv3 在 Darknet-19 里加入了 ResNet 残差连接&#xff0c;改进之后的模型叫 Darknet-53。在 ImageNet上 实验发现 Darknet-53 相对于 ResN…

VSCODE驯服日记(三):配置C++环境

1. 下载mingw64&#xff0c;解压后把bin并添加到环境变量 1>编译器介绍 mingw&#xff1a;专为windowsgcc&#xff1a;多平台msvc &#xff1a;windows&#xff0c;且配合vs使用更佳 注意与调试器gdb和lldb的区别 2. 安装vscode插件&#xff1a; 安装C/C插件 安装code ru…

力扣之1322.广告效果

题目&#xff1a; sql建表语句&#xff1a; Create table If Not Exists Ads (ad_id int,user_id int,action ENUM (Clicked, Viewed, Ignored) ); Truncate table Ads; insert into Ads (ad_id, user_id, action) values (1, 1, Clicked); insert into Ads (ad_id, use…