zabbix 监控 db2_zabbix实战 - abm
参考:
https://www.cnblogs.com/clsn/p/7885990.html#auto_id_15
https://my.oschina.net/logmm/blog/1844724#h1_14
一、监控平台介绍
1、常见的开源监控软件
cacti、nagios、zabbix、smokeping、open-falcon等
catcti、nagios、zabbix服务端监控,需要php环境支持,其中cacti、zabbix需要mysql作为数据存储;nagios不需要存储历史数据,注重服务或者监控项的状态;zabbix会获取服务或者监控项目的数据,并把它记录到数据库。
open-falcon是小米公司开发的。
2、zabbix
官方网站:https://www.zabbix.com/
Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件。
Zabbix易于管理和配置,能生成比较漂亮的数据图,其自动发 现功能大大减轻日常管理的工作量,丰富的数据采集方式和API接口可以让用户灵活进行数据采集,而分布式系统架构可以支持监控更多的设备。理论上,通过 Zabbix提供的插件式架构,可以满足企业的任何需求。
工作流程:
Agent安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送到Zabbix server端,Zabbix server端收到数据,将数据存储到数据库中,用户基于Zabbix Web可以看到数据在前端显示的图像。
zabbix监控部署,5个常见的程序:
- zabbix_server:服务端守护进程,其中,zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy的数据最终提交给zabbix_server。
- zabbix_agentd:客户端守护进程,负责收集客户端数据,比如cpu负载、内存、磁盘使用情况等
- zabbix_get:zabbix数据获取工具,单独使用的命令,通常在server端或proxy端执行获取远程客户端信息的命令
- zabbix_sender:zabbix数据发送工具,用于发送数据给server端或proxy端,通常用于耗时比较长的检查,很多检查非常耗时,导致zabbix超时,于是需要在脚本中执行完毕之后,使用sender主动提交数据
- zabbix_proxy:zabbix分布式代理守护进程,分布式监控架构需要部署zabbix_proxy
二、安装配置
1、环境
zabbix服务端服务器版本
# cat /etc/redhat-release
CentOS Linux release 7.511 (Core)
zabbix使用目前最新版本:Zabbix 4.0 LTS
zabbix官网下载以及配置说明:https://www.zabbix.com/download_sources
2、安装-服务端
因为程序运行需要连接数据库,我们先安装数据库软件,MySQL和mariadb都可以
、安装-数据库
yum安装mariadb
# yum install -y mariadb-server
# systemctl start mariadb.service
创建初始数据库
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;
后面可能需要重置登录密码
mysql>update zabbix.users set passwd=md5('123456') where alias='Admin';
mysql>flush privileges;
、yum形式安装zabbix rpm
配置yum源
阿里yum配置
#curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.rep
#curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
zabbix yum安装
# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
开始yum安装zabbix服务
依赖包安装
# yum install gcc curl curl-devel libcurl-devel pcre-devel net-snmp-devel net-snmp -y
安装服务端# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent //服务端也安装zabbix-agent用于监控自己和使用客户端的工具
安装成功 Installed: zabbix
-agent.x86_64 0:4.0.3-1.el7 zabbix-server-mysql.x86_64 0:4.0.3-1.el7 zabbix-web-mysql.noarch 0:4.0.3-1.el7 Dependency Installed: OpenIPMI-libs.x86_64 0:2.0.23-2.el7 OpenIPMI-modalias.x86_64 0:2.0.23-2.el7 dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7 fontpackages-filesystem.noarch 0:1.44-8.el7 fping.x86_64 0:3.10-4.el7 iksemel.x86_64 0:1.4-2.el7.centos libXpm.x86_64 0:3.5.12-1.el7 libevent.x86_64 0:2.0.21-4.el7 libtool-ltdl.x86_64 0:2.4.2-22.el7_3 libxslt.x86_64 0:1.1.28-5.el7 libzip.x86_64 0:0.10.1-8.el7 net-snmp-libs.x86_64 1:5.7.2-37.el7 php.x86_64 0:5.4.16-46.el7 php-bcmath.x86_64 0:5.4.16-46.el7 php-cli.x86_64 0:5.4.16-46.el7 php-common.x86_64 0:5.4.16-46.el7 php-gd.x86_64 0:5.4.16-46.el7 php-ldap.x86_64 0:5.4.16-46.el7 php-mbstring.x86_64 0:5.4.16-46.el7 php-mysql.x86_64 0:5.4.16-46.el7 php-pdo.x86_64 0:5.4.16-46.el7 php-xml.x86_64 0:5.4.16-46.el7 t1lib.x86_64 0:5.1.2-14.el7 unixODBC.x86_64 0:2.3.1-11.el7 zabbix-web.noarch 0:4.0.3-1.el7
加入开机启动:
Linux6系列:chkconfig zabbix_server on
Linux7系列:systemctl enable zabbix_server
导入数据:
#zcat /usr/share/doc/zabbix-server-mysql-4.0.1/create.sql.gz|mysql -uzabbix -pzabbix zabbix
修改zabbix服务主配置文件
编辑文件/etc/zabbix/
#vim /etc/zabbix/DBPassword=password
添加时区 修改/etc/httpd/conf.d/zabbix.conf
#vim /etc/httpd/conf.d/zabbix.confphp_value date.timezone Asia/Shanghai
解决中文乱码
# 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/<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix-server
EOF
2.3、编译安装zabbix
说明:
编译安装步骤分为:编译安装zabbix-server>添加服务>配置主配文件>将web主文件放到web程序目录下
添加客户端zabbix用户:
#groupadd zabbix
#useradd -g zabbix zabbix
下载源码包:
# wget
解压
#tar -zxvf zabbix-4.0.3.tar.gz
安装过程
安装依赖:#yum install libevent-devel pcre* -y
配置
同时安装server和agent,并支持将数据放入MySQL数据库中,可使用如下配置命令
#./configure --enable-server --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --prefix=/usr/local/zabbix
如果仅安装sever,并支持MySQL数据库,可使用如下配置命令
#./configure --enable-server --with-mysql --with-net-snmp --prefix=/usr/local/zabbix
如果仅安装proxy,并支持MySQL数据库,可使用如下配置命令#./configure --enable-proxy --with-mysql --with-net-snmp --with-ssh2 --prefix=/usr/local/zabbix
如果仅安装客户端agent,可使用如下配置命令#./configure --prefix=/usr/local/zabbix --enable-agent
编译安装
#make && make install
#ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接
#ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接
导入数据:
源码形式安装的:zabbix源码包解压后的database/mysql/目录中有zabbix的模版数据,导入即可
zabbix-4.0.1]# cd database/mysql/[mysql]# mysql -uzabbix -pzabbix zabbix <
[mysql]# mysql -uzabbix -pzabbix zabbix <
[mysql]# mysql -uzabbix -pzabbix zabbix <
修改zabbix服务主配置文件
编译安装的zabbix配置目录:/usr/local/zabbix/etc/
#vim /usr/local/zabbix/etc/DBhost=localhostDBName=zabbixDBUser=zabbixDBPassword=zabbixDBPort=3306
加入开机自启动
在zabbix源码包解压后的目录中的misc/目录下有zabbix_agentd、zabbix_server两个文件,这两个文件就是zabbix服务端、客户端的服务文件。
# cd
# ls misc/
zabbix_agentd zabbix_server
zabbix_agentd、zabbix_server就是服务端和客户端的服务文件,复制到/etc/目录中。分别设置可执行权限并添加到系统服务管理中。
# cp misc/* /etc/
# chmod +x /etc/zabbix_server
# chmod +x /etc/zabbix_agentd
# chkconfig --add /etc/zabbix_agentd
# chkconfig --add /etc/zabbix_server
修改zabbix_agentd、zabbix_server文件的BASEDIR:
# vim /etc/zabbix_server
BASEDIR=/usr/local/zabbix/# vim /etc/zabbix_agentd
BASEDIR=/usr/local/zabbix/
BASEDIR就是zabbx的安装目录。
复制zabbix的Web应用程序到网站目录中
# cd zabbix-4.0.1
# cp -r frontends/php/* /htdocs/zabbix/
# chown -R nginx.nginx /htdocs/
编译安装 nginx和php参考:
使用浏览器访问http://zabbix_ip:port/setup.php
3、初始化配置WEB界面
1、使用浏览器访问http://zabbix_ip:port
2、检测页面需要全部通过
3、选择mysql数据库,填写连接信息
4、host与port不需要修改,name自定义
5、确认信息,正确点击下一步
6、完成
进入登陆界面 账号Admin密码zabbix 注意A大写
4、安装-客户端
4.1.Linux zabbix_agent客户端
安装配置步骤很简单:创建zabbix用户和组-→安装(yum/编译)-→修改配置文件中监控机ip-→安装后配置(开机启动、防火墙)
1、yum安装
#yum install zabbix-agent -y
2、编译安装
需要监控的客户端往往是企业内部的所有服务器,所以数量较多,如果没有访问外网权限,可以使用源码编译安装方式,
ansible批量安装zabbix-agentd
# ansible zbx -m raw -a 'groupadd zabbix && useradd -g zabbix zabbix' //设置客户端zabbix用户
# ansible zbx -m copy -a "src=/tools/zabbix-4.0.3.tar.gz dest=/tools/" //传输软件包
# ansible zbx -m raw -a 'tar -zxvf /tools/zabbix-4.0.3.tar.gz -C /tools/' //解压
# ansible zbx -m raw -a 'cd /tools/zabbix-4.0.3 && ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install' //编译安装
# ansible zbx -m raw -a 'sed -n 94p /usr/local/zabbix/etc/' //查看客户端配置
# ansible zbx -m raw -a 'sed -i "94s/127.0.0.1/1968.120/" /usr/local/zabbix/etc/' //修改客户端配置
# ansible zbx -m raw -a 'ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/' //添加系统软连接
# ansible zbx -m raw -a 'ln -s /usr/local/zabbix/bin/* /usr/local/bin/' //添加系统软连接
3、安装过程中的问题解决:
若编译安装报错:configure: error: Unable to use libpcre (libpcre check failed)我们需要安装依赖包:yum -y install pcre*
4、启动zabbix-agentd。
# ansible zbx -m raw -a '/usr/local/zabbix/sbin/zabbix_agentd'# ansible zbx -m raw -a 'netstat -lnp | grep 10050'
5、加入到开机启动
# ansible linux -m raw -a 'echo "/usr/local/zabbix/sbin/zabbix_agentd" >> /etc/'
6、检查服务端和客户端的联通性
如果防火墙未开放
#iptables -A INPUT -s 1968.120 -p tcp --dport 10050 -j ACCEPT
工具zabbix_get:yum install zabbix_get -y
# zabbix_get -s -p 10050 -k "[all,avg1]" // 是客户端的ip0.000000
4.2.windows zabbix_zgent客户端
软件获取:,下载.zip
1、解压后进行配置:编辑配置文件zabbix_agentd.win
EnableRemoteCommands=1
#允许在本地执行远程命令LogRemoteCommands=1
LogFile =D:\Program Files\zabbix_agents-4.0.0-win-i386\zabbix.log
#执行远程命令是否保存操作日志Server = 1968.120
#填写zabbix服务器IP地址Hostname=win-server13.39
#zabbix_agent客户端计算机名 (被监控主机)
2、安装并启动:dos下运行注册服务和启动
c:\zabbix\ -i -c C:\zabbix\ #安装zabbix客户端
C:\ zabbix\ -s -c C:\zabbix\ #启动zabbix服务
3、win安装zabbix-agent的问题
【0X0000005】
这种报错说明需要使用管理员权限,重新用管理员权限运行cmd执行
卸载服务重新安装
先停止服务,然后运行C:\zabbix\ -d -c C:\zabbix\
三、主动和被动模式
主动或被动是相对客户端而言。
- 被动模式:服务端会主动连接客户端获取监控项目数据,客户端被动地接收连接,并把监控信息传递给服务端
- 主动模式:客户端会主动把监控数据汇报给服务端,服务端只负责接收即可。
- 当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力。
- 服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式。
主动模式:在agentd配置文件中定义:ServerActive=服务端ip
被动模式:在agentd配置文件中定义:Server=服务端ip
四、配置报警
1、配置邮件告警
1、使用163或qq邮箱发告警邮件,需要打开开启POP3、IMAP、SMTP服务,开启并设置授权码。
163邮箱为例,
2、到zabbix监控中心(web界面)设置报警媒介
默认有3个报警媒介。我们这里新建一个,点击创建“媒介类型”:
名称:自定义
类型:选择”脚本“
脚本名称:,自定义
参数:{}、{}、{} 分别代表:收件人信息、邮件标题、邮件正文
点击:添加”即可
3、为接收邮件的用户添加脚本
4、服务端设置发邮件脚本
脚本名称:,脚本放在:/myscript目录中
[root@zabbix-server conf]# mkdir /myscript
[root@zabbix-server conf]# vim /myscript/
#!/usr/bin/env python
#-*- coding:UTF-8 -*-import os,sys
import getopt
import smtplibfrom email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from subprocess import *def sed163mail(username,password,mailfrom,mailto,subject,content):gserver = ''gport = 25try:msg = MIMEText(unicode(content).encode('utf-8'))msg['from'] = mailfrommsg['to'] = mailtomsg['Reply-To'] = mailfrommsg['Subject'] = subjectsmtp = (gserver,gport)(0)()(username,password)(mailfrom,mailto,())()except Exception,err:print "Send mail failed. Error:%s" % err
def main():to=[1]subject=[2]content=[3]send163mail('邮箱账号','授权码','邮箱账号',to,subject,content)
if __name__ == "__mail__":main()
测试没有成功
非脚本发送电子邮件
参数解释:
名称:自定义一个名称类型:选择电子邮件SMTP 服务器:这里使用163的邮箱,所以是smtp.163.comSMTP helo:发邮件的邮箱地址SMTP 电邮:发邮件的邮箱地址认证:选择用户名和密码认证用户名称:发邮件的邮箱地址密码:登录邮箱的密码。现在的163邮箱安全系数比较高,因此这个密码并不是你登录邮箱的真正密码,而是授权码。**授权码怎么得到,后面有介绍。已启用:要勾上。
设置接收报警的邮件
点击:管理-->用户-->Admin-->报警媒介-->添加:
参数解释:
类型:选择前面创建的报警媒介,也就是:163电子邮件收件人:添加收件人的邮箱其他的保持默认即可
添加报警触发器
依次选择:配置-->动作-->事件源(触发器)-->创建动作:
2、配置报警第三方平台
1、添加报警第三方平台
http://www.onealert.com
通过 OneAlert 提供的通知分派与排班策略,以及全方位的短信、微信、QQ、电话提醒服务,您可以在最合适的时间,将最重要的信息推送给最合适的人员。
第一步:web操作
可在个人中心关联微信
第二步:按照提示安装
报警效果展示
2、删除onealert告警
在zabbix监控服务web端操作
第一步:删除报警媒介中的脚本
第二步:删除用户
第三步:删除用户群组
第四步:删除创建的动作
五、监控配置
1、添加监控host group、host
添加群组:登录zabbix web界面,点击:配置 -->主机群组 -->创建主机群组
根据业务或服务器类型自定义组名然后点击添加
添加主机:登录zabbix web界面,点击:配置 -->主机 -->创建主机
红色为必填项,名称写了客户端ip地址,可以自定义,接口地址必须为被监控服务器的ip和监控端口(默认10050)
2、自定义模板
登录zabbix web界面,点击:配置 -->模板 -->创建模板
模板的作用是可以通过模板来方便的为相同的主机匹配已经定义好的监控项等,使用起来特别方便
编辑模板名称和选择模板对应的主机群组
新建的这个模版为空的,如何快速完善空模板有两种方法
1、选择其他的模版,copy
比如Template OS Linux模版,选择一些监控项
勾选一些监控项,比如:
根据实际勾选一些监控项,选择自定义的模板然后点击Copy,这样可以快速的为新模板匹配监控项、触发器、图形
2、链接其他模板,然后删除不用的监控项
点击模板-->链接的模板,然后点击选择,选择需要的模版,再点击Add,最后更新即可。如下图:
注意:这时候再去删除链接过来的项目会报错,需要点击“取消链接”
3、自定义监控项
虽然zabbix自带了一些常用的监控项,但有时候我们还需要自定义需要的监控项,自定义监控项有助于我们学习监控项的配置和工作方式
下面是在配置文件中指定监控脚本的目录
#cat /etc/zabbix/
...
Include=/usr/local/zabbix/etc/*.conf //主配置文件中有监控脚本目录
...
---------------------------------------------------------------------------------
ansible批量修改
#ansible zbx -m raw -a "sed -i '267 s#^#Include=/usr/local/zabbix/etc/*.conf\n#' /usr/local/zabbix/etc/ "
写一个监控在线用户数的例子:
# cat userparameter_login.conf
UserParameter=login-user,who|wc -l
//命令格式:UserParameter=<key>,<shell command>
---------------------------------------------------------------------------------
ansible批量修改
#ansible zax -m raw -a "mkdir /usr/local/zabbix/etc/"#ansible zax -m raw -a 'echo "UserParameter=login-user,who|wc -l" > /usr/local/zabbix/etc/userparameter_login.conf'
配置完成后重启客户端
#ps -ef|grep zabbix_agentd |awk '{print $2}' |xargs kill -9#/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/
-----------------------------------------------------------------------------------
ansible 批量重启
...
服务端测试
# zabbix_get -s 1968.12.50 -p 10050 -k "login-user" //-s 指定客户端ip -p 指定端口 -k 指定key2
4、在web端配置为主机添加自定义监控项一条龙配置过程
第一步:创建模板
配置→模板→创建模板
创建完成的模板
第二步:创建应用级,其作用是给监控项分类
点击应用级→创建应用级,自定义应用级名称添加
第三步:创建监控项
监控项→创建监控项
注:选择刚才创建的应用级
第四步:创建触发器
触发器→创建触发器
第五步:创建图像
图形→创建图形
第六步:主机关联模板
一个主机可以关联多个模板
配置→主机
查看监控的图形效果
5、自动发现
1、创建自动发现规则
zabbix可以利用discovery模块,实现自动发现主机、自动将主机添加到主机组、自动加载模版、自动创建项目、自动创建监控图像。具体操作如下:
依次选择:配置-->自动发现-->创建发现规则。创建客户端发现规则。如下图所示:
参数解释:
Name(名称):规则名称,自定义名称Discovery by proxy(由agent代理发现):通过代理搜索IP range(ip范围):zabbix_server搜索区域的IP范围Update interval(更新间隔):更新的间隔Checks(检查):检测方式,如果用ping方式去发现主机,则zabbix_server需要安装fping。此处使用agent方式发现。使用zabbix agentd方式的时候,要使用key,这里key为:。也可以在zabbix_agentd配置文件中自定义key。Device uniqueness criteria(设备唯一性标准):以IP地址作为被发现主机的标识
设置好检查之后,点”添加“,检查添加完成后,勾选”已启用“,最后点底部的“添加”
2、创建发现Action,即对发现的主机进行自动管理配置
zabbix发现规则创建后,被发现的IP主机不会自动添加至zabbix监控列表,必须添加发现动作。
依次选择:配置-->动作-->事件源(自动发现)-->创建动作。如下图:
设置好新的触发条件主机ip后,点击”添加“,然后点击”操作“:
按上图添加“操作”
3、查看监控主机
设置好之后。依次点击:监测中-->自动发现,这样就可以查看到发现到的主机。如下图:
ansible:playbook安装zabbix
zabbix 监控 db2_zabbix实战 - abm相关推荐
- 企业级 zabbix 监控项目实战
此次部署 参考https://www.cnblogs.com/keerya/p/7953695.html#_label0_6_5 目录 一.zabbix 的监控搭建 环境准备 配置 server 端 ...
- Zabbix监控实战-Tomcat监控
八.Zabbix监控实战-Tomcat监控 1.方法一:开发java监控页面 [root@qfedu.com tomcat8_1]# cat /application/tomcat/webapps/m ...
- Linux实战教学笔记49:Zabbix监控平台3.2.4(一)搭建部署与概述
https://www.cnblogs.com/chensiqiqi/p/9162986.html 一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企 ...
- Linux实战教学笔记50:Zabbix监控平台3.2.4(二)深入理解zabbix
一,Zabbix Web操作深入 1.1 Zabbix Web下的主机和模版以及监控项的添加方式 (1)创建一个模版 我们所有的功能几乎都是在模版中定义的 我们再点进新创建的模版查看 模版里几乎可以设 ...
- Zabbix 4.0 企业级自动化监控系统实战
目录: ┣━━Zabbix课件 ┃ ┣━━Ansible部署Agent ┃ ┃ ┣━━zabbix_agent.yml ┃ ┃ ┗━━zabbix_agentd.conf ...
- 企业运维实战--Zabbix监控之结合nginx、mysql、java应用、proxy分布式、睿象云报警、API批量操作、替换mysql为tidb数据库
一.zabbix server的nginx监控 nginx部署 在server5上进行: tar zxf nginx-1.20.1.tar.gz cd nginx-1.20.1 yum install ...
- Zabbix监控服务详解+实战
目录 一.监控体系概述 1. 为什么需要监控 2. 监控目标与流程 (1)监控的目标 (2) 监控的流程 3. 监控的对象 (1)CPU监控 (2)磁盘监控 (3)内存监控 (4)网络监控 (5) 系 ...
- 监控案例实战 -- Zabbix 监控 企业级路由器
Zabbix 监控 企业级路由器 前言 一.监控 HUAWEI 路由器 1.配置华为设备 2.zabbix-server 监控 二.监控 Cisco 路由器 1.配置 Cisco 设备 2.zabbi ...
- 运维监控系统实战笔记(day1)
第一次课 监控需求直接的是为了出现问题时能及时感知到.新的需求: 通过监控了解数据趋势,知道系统在未来的某个时刻可能出问题,预知问题. 通过监控了解系统的水位情况,为服务扩缩容提供数据支撑. 通过监控 ...
最新文章
- 海门工业机器人_海门工业机器人供应商稳扎稳打
- 解决linux ssh客户端SSH连接linux服务器很慢的问题
- Sybase时间日期函数
- Cloudera Manager和CDH5.8离线安装
- react元素显隐控制
- postman替换快捷键ctrl加什么_电脑截图快捷键ctrl加什么
- 嵌入式linux 零基础-实践起步 --- 002 --- 配置虚拟机的网络连接
- 动态修改css 规则
- spring mvc 异常处理手动回滚 SQL log不回滚
- vs2017激活密钥
- 100以内的奇数求和
- CCF计算机软件能力认证试题练习:201903-2 二十四点
- 山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。
- linux du命令
- css背景颜色占满全屏幕
- 编辑为什么建议转投_为何投文章总被拒?听听期刊编辑的干货建议
- LeetCode-Hot100-两数相加
- 预备内容:---软件安装篇(1)
- safari支持Ajax同步请求吗,在同步“Ajax”请求之前强制在Webkit(Safari和Chrome)中重绘UI...
- Java解决杨辉三角问题(这里提供了两种方法)
热门文章
- Vue3配置postcss-pxtorem报错[plugin:vite:css] Failed to load PostCss config
- 语义分割制作自己的数据集
- Spring中的AOP以及切入点表达式和各种通知
- Fastboot的使用简单教程
- Hadoop Streaming 实战: 实用Partitioner类KeyFieldBasedPartitioner
- 为黑客打工能挣多少?月薪最高达2万美元
- 《八股文》20道Redis面试题
- 【单片机基础】89C52单片机串口通信
- ue4学习日记4(植被,光照,光束遮挡,天空球)
- C语言全局变量限定范围,C语言范围规则