Zabbix监控网站

本章资源请访问
https://download.csdn.net/download/weixin_54373617/19040005

技能目标:

  • 了解 Zabbix 模板
  • 会创建 Zabbix 模板
  • 会监控 Nginx、Redis、MySQL 主机

案例分析

案例概述

Zabbix 是一个基于Web 界面的提供分布式系统监控以及网络监控功能的企业级开源解决方案。本案例将展示如何使用 Zabbix 实现一个网站的全面监控。

当运维人员有 10 台服务器需要添加监控,应该怎么做呢?运维人员可以一台一台的添加每一个监控项,一个一个设置触发器。如果动作快,一天之内就能搞定。但是,如果服务器数量变成 20 台、30 台、100 台呢?如果还是运维人员一台一台设置就很耗费人力。Zabbix 中的监控模板可以解决该问题,只需提前创建一个监控模板,然后将建好的模板应用在所有服务器上。如此一来无论服务器的数量有多少,只需简单几个动作即可搞定。

平时工作中,运维人员需要监控 Web、MySQL、Redis、Nginx 等服务,众多服务器的业务都是一样的。所以只要事先创建好模板,然后所有服务器链接这个模板。如果后续有修改或新增一些功能,只需要修改模板即可。

案例环境

1. 本案例实验环境

本案例共使用四台主机,分别作为 Zabbix Server 服务器、Nginx 服务器、Redis 服务器以及 MySQL 服务器。服务器具体环境信息如下表所示。

主机名 系统 IP地址 配置 主要软件
server CentOS7.9 192.168.10.101 2C/2G Zabbix-server、MySQL、lnmp
nginx CentOS7.9 192.168.10.102 1C/1G Zabbix-agent、Nginx
redis CentOS7.9 192.168.10.103 1C/1G Zabbix-agent、Redis
mysql CentOS7.9 192.168.10.104 1C/1G Zabbix-agent、MySQL

2. 案例需求

(1) 部署 Zabbix 服务器。

(2) 创建 Nginx、Redis、MySQL 模板。

(3) 应用 Nginx、Redis、MySQL 模板。

3. 案例实现思路

(1) 安装 LNMP + Zabbix Server。

(2) 安装 Nginx。

(3) 安装 Redis。

(4) 安装 MySQL。

(5) 创建 Nginx、Redis、MySQL 模板。

(6) 应用 Nginx、Redis、MySQL 模板。

案例实施

部署 Zabbix 架构服务在前面的章节已经讲过了请参考“企业分布式部署“这篇文章

1.安装 Nginx 服务、Redis 服务和 MariaDB 服务

分别在 Nginx 主机、Redis 主机和 MySQL 主机上安装 Nginx 服务、Redis 服务和MariaDB 服务。

nginx端操作

yum -y install zabbix-agent
yum -y install nginx

redis端操作

yum -y install zabbix-agent
yum -y install redis

mysql端操作

yum -y install zabbix-agent
yum -u install mariadb-server
systemctl start mariadb
systemctl enable mariadb

Nginx 主机添加监控脚本

Zabbix Agent 配置文件中,修改以下配置项

vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.10.101
ServerActive=192.168.10.101
Hostname=Agent nginx   #Agent nginx 本地的名称,此名称需要与 server 端的 Web 页面上的主机名称一 致,名称自定义

创建目录保存监控脚本,目录自定义

mkdir /etc/zabbix/scriptsvi /etc/zabbix/scripts/nginx-check.sh#!/bin/bash
#Zabbix requested parameter
ZBX_REQ_DATA="$1"
ZBX_REQ_DATA_URL="$2"#Nginx defaults
NGINX_STATUS_DEFAULT_URL="http://localhost:10080/nginx_status" #设置Nginx监控URL 之后在外面需要定义nginx_status文件定义监控的URL
WGET_BIN="/usr/bin/wget"   #定义监控工具之后在外面需要安装wget工具#设置错误返回值:
#能够在 Zabbix 中展示 (避免 NOT_SUPPORTED)
ERROR_NO_ACCESS_FILE="-0.9900"
ERROR_NO_ACCESS="-0.9901"
ERROR_WRONG_PARAM="-0.9902"
ERROR_DATA="-0.9903" # either can not connect /bad host / bad port#如果没有设定 URL 则取默认值
if [ ! -z "$ZBX_REQ_DATA_URL" ]; thenURL="$ZBX_REQ_DATA_URL"
elseURL="$NGINX_STATUS_DEFAULT_URL"
fi#将 nginx 状态数据存入变量中
NGINX_STATS=$($WGET_BIN -q $URL -O - 2> /dev/null)#处理访问过程中的错误
if [ $? -ne 0 -o -z "$NGINX_STATS" ]; thenecho $ERROR_DATAexit 1
fi#获取 nginx 状态数据中的特定数值(即 zabbix 模板中添加的监控项)
case $ZBX_REQ_DATA inactive_connections) echo "$NGINX_STATS" | head -1 | cut -f3 -d' ';;accepted_connections) echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f2 -d' ';;handled_connections) echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f3 -d' ';;handled_requests) echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f4 -d' ';;reading) echo "$NGINX_STATS" | tail -1 | cut -f2 -d' ';;writing) echo "$NGINX_STATS" | tail -1 | cut -f4 -d' ';;waiting) echo "$NGINX_STATS" | tail -1 | cut -f6 -d' ';;*) echo $ERROR_WRONG_PARAM; exit 1;;
esac
exit 0

为脚本添加可执行权限

chmod +x /etc/zabbix/scripts/nginx-check.sh

添加 Zabbix Agent 配置,并启动 Zabbix Agent

vim /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=nginx[*],/etc/zabbix/scripts/nginx-check.sh "$1" "$2"systemctl start zabbix-agent
systemctl enable zabbix-agnet

添加 Nginx 配置,创建监控 URL 启动Nginx

vim /etc/nginx/conf.d/nginx-status.conf
server {listen 10080;server_name _;location /nginx_status {stub_status on;access_log off;allow 127.0.0.1;deny all;}
}systemctl start nginx
systemctl enable nginx

验证 Nginx 监控数值获取

在 server 主机执行如下命令测试

安装 Zabbix_get

wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-get-3.2.1-1.el7.x86_64.rpm
rpm -ivh zabbix-get-3.2.1-1.el7.x86_64.rpm
zabbix_get -s 192.168.10.102 -k nginx[active_connections]
1

在Zabbix web界面上面添加Nginx 监控

1. 创建 Nginx 模板

创建 Nginx 模板需要依次点击 配置——模板——创建模板,如下图所示。


设置“模板名称”为“Templates App Nginx”,并加入“Zabbix Templates”群组中,点击“添加”按钮完成模板的创建操作,如下图所示。

创建完成后,在模板列表中可以看到刚刚创建完成的“Template App Nginx”,如下图

2. 创建应用集

点击上图中“Template App Nginx”,首先需要创建应用集,点击“应用集”—— “创建应用集”,在“名称”一栏中输入“Nginx”,并点击“添加”按钮,完成新应用集的创建,如下图所示。

3. 创建监控项

  • 配置 Nginx 活跃连接数
    创建“Nginx 应用集后,开始创建监控项,依次点击上图中的“监控项”——“创建监控项”,进入监控项创建页面。输入名称“Nginx $1”、键值“nginx[active_connections]”,信息类型选择“浮点数”,应用集选择“Nginx”后点击“添加”按钮,完成一个监控项的创建。监控名称中“$1”的值等于键值中方括号中的内容。

此处键值一项按图下所示输入即可,后面将在 Zabbix 中设置键值获取的方式。

按照上面的方式,继续创建如下几个监控项。

  • 配置监控 Nginx 客户端的连接数
    输入名称“Nginx $1”,输入键值“nginx[writing]”,信息类型选择“浮点数”,应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

  • 配置监控 Nginx 等待下一次请求指令的驻留连接数
    输入名称“Nginx $1”,输入键值“nginx[waiting]”,信息类型选择“浮点数”,应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

  • 配置监控 Nginx 读取客户端的连接数
    输入名称“Nginx $1”,输入键值“nginx[reading]”,信息类型选择“浮点数”,应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

  • 配置监控 Nginx 总共处理的请求数
    输入名称“Nginx $1/sec”,输入键值“nginx[handled_requests]”,信息类型选择“浮点数”, 应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

  • 配置监控 Nginx 接受的连接数
    输入名称“Nginx $1/sec”,输入键值“nginx[accepted_connections]”,信息类型选择“浮点数”,应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

  • 配置监控 Nginx 处理的连接数
    输入名称“Nginx $1/sec”,输入键值“nginx[handled_connections]”,信息类型选择“浮点数”,应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

  • 配置监控 Nginx 开机启动
    输入名称“Nginx is enable autostart”,输入键值“chkconfig[nginx]”,信息类型选择“数字
    (无正负)
    ”,数据类型选择“布尔”,应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

  • 配置监控 Nginx 版本
    输入名称“Nginx Version”,输入键值“nginx.version”,信息类型选择“字符”,应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

  • 配置监控 Nginx 进程数
    输入名称“Number of $1 process”,输入键值“proc.num[nginx]”,信息类型选择“数字(无正负)”,数据类型选择“十字位数字”,应用集选择“Nginx”。然后,点击“添加”按钮,如下图所示。

4. 创建触发器

创建触发器,依次点击“触发器”——“创建触发器”,创建如下触发器。如下图所示

  • 配置 Nginx 开机启动触发器
    输入名称“Nginx is not enabled in autostart” , 严重性选择“ 警告” , 表达式输入“{Templates App Nginx:chkconfig[nginx].last(0)}=0”。然后,点击最下方的“添加”按钮,如下图所示。
  • 配置 Nginx 运行状态触发器
    输入名称“Nginx is not running”, 严重性选择“严重”, 表达式输入“{Templates App Nginx:proc.num[nginx].last(0)}=0”,。然后,点击最下方的“添加”按钮,如图下所示。
  • 配置 Nginx 版本变化触发器
    输入名称“version of nginx server was changed”, 严重性选择“信息”, 表达式输入“{Templates App Nginx:nginx.version.diff(0)}=0”。然后,点击最下方的“添加”按钮,如下图

5. 创建图形

创建图形,依次点击“图形”——“创建图形”,创建 Nginx 连接数和请求数趋势图、Nginx 线程状态图。如下图

  • 配置 Nginx 连接数和请求数趋势图
    输入名称“Nginx-Connections and Requested status”,监控项添加刚才创建的三个连接请求数监控项。然后,点击最下方的“添加”按钮,如下图所示。
  • 配置 Nginx 线程状态图
    输入名称“Nginx-Threads status”,监控项添加刚才创建的三个线程监控项。然后,点击最下方的“添加”按钮,如下图所示。

6. 添加客户端主机

添加客户端主机,依次选择“配置”——“主机”——“创建主机”,如下图所示。

填写客户端相关信息,输入主机名称“Nginx”,输入可见的名称“Agent nginx”,群组选择“Linux servers”,新的群组输入“Nginx server”,IP 地址输入“192.168.10.102”。然后,点击“添加”按钮,完成主机创建,如下图所示。

7. 关联模板和主机

依次选择“配置”——“模板”——“Template App Nginx”,在“主机/模板”处添加刚刚创建的“Agent nginx”主机,并点击“更新”按钮,如下图所示。

8. 结果验证

先在nginx端并发访问

for i in {1..100} ; do curl 127.0.0.1 > /dev/null ; done

依次点击“监测中”——“最新数据”,在“主机”一栏输入“Agent nginx”,点击“应用”按钮,在下方可以看到 Nginx 主机最新数据获取结果,如下图所示。

点击上图中的图形可看到如下图的图形

至此,Nginx 创建完成。


添加 Redis 监控

在 Redis 主机上进行如下操作

Zabbix Agent 配置文件中,修改以下配置项

vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.10.101
ServerActive=192.168.10.101
Hostname=Agent redis   #Agent redis本地的名称,此名称需要与 server 端的 Web 页面上的主机名称一 致,名称自定义

添加扩展配置文件

vi /etc/zabbix/zabbix_agentd.d/redis.conf
UserParameter=redis[*],redis-cli info | grep $1":" | cut -d ':' -f 2
UserParameter=redis.version, redis-server --version | cut -d " " -f 3 | cut -d "=" -f 2

启动服务

systemctl start zabbix-agent redis
systemctl enable zabbix-agent redis

在 server 主机上验证 Redis 监控数据获取

zabbix_get -s 192.168.10.103 -k redis[total_commands_processed]
0

在Zabbix web页面添加 Redis 主机

1. 创建 Redis 模板

创建 Redis 模板的方法同上,依次点击“配置” ——“模板”——“创建模板”,设置“模板名称” 为“Templates App Redis”,并添加到“Zabbix Templates”群组。点击“添加”按钮完成创建, 如下图所示。

2. 创建应用集

创建 Redis 应用集,“应用集”——“创建应用集”,名称输入“Redis”。再点击“添加”按钮, 如下图所示。


3. 创建 Redis 监控项

需要创建的 Redis 监控项有:监控 Redis 开机启动、监控 Redis 版本、监控 Redis 是否宕机、监控 Redis 总连接数、监控 Redis 执行的操作命令总数、监控 Redis 最近一次存盘的状态。

  • 监控Redis 开机启动
    应用集创建完成后,开始创建监控项。依次点击“监控项”“创建监控项”,进入监控项创建页面。输入名称“Redis enabled autostart”,输入键值“chkconfig[redis]”,信息类型选择 “数字(无正负)”,数据类型选择“布尔”,应用集选择“Redis”。然后,点击“添加”按钮,完成监控项的创建。如下图所示。

  • 监控Redis 版本
    和前面的创建方法一样,依次点击“监控项”——“创建监控项”,进入监控项创建页面。输入名称“Redis Version”, 输入键值“redis.version”,信息类型选择“字符”,应用集选择“Redis”。然后,点击“添加”按钮, 完成监控项的创建,如下图所示。

  • 监控Redis 是否宕机
    依次点击“监控项”——“创建监控项”,进入监控项创建页面。输入名称“[Redis]server is running”,输入键值“net.tcp.port[,6379]”,信息类型选择“数字(无正负)”,数据类型选择“十进位数字”,应用集选择“Redis”。然后,点击“添加”按钮,完成监控项的创建。如下图所示。

  • 监控Redis 总连接数
    输入名称“[Redis]$1”,输入键值“redis[total_connections_received]”,信息类型选择“数字(无正负)”,数据类型选择“十进位数字”,应用集选择“Redis”。然后,点击“添加”按钮, 完成监控项的创建,如下图所示。

  • 监控Redis 执行的操作命令总数
    输入名称“[Redis]$1”,输入键值“redis[total_commands_processed]”,信息类型选择“数字(无正负)”,数据类型选择“十进位数字”,应用集选择“Redis”。然后,点击“添加”按钮, 完成监控项的创建,如下图所示。

  • 监控Redis 最近一次存盘的状态
    输入名称“[Redis]$1”,输入键值“redis[rdb_last_bgsave_status]”,信息类型选择“文本”, 应用集选择“Redis”。然后,点击“添加”按钮,完成监控项的创建,如图下所示。

4. 创建 Redis 触发器

  • Redis 开机启动触发器
    创建 Redis 开机启动触发器,即如果 Redis 未开机启动,则触发警报。名称输入“Redis is not enabled in autostart” , 严 重 性 选 择 “ 警 告 ” , 表 达 式 输 入 “{Templates App Redis:chkconfig[redis].last(0)}=0”,如下图所示。

  • Redis 宕机触发器
    创建 Redis 宕机触发器,即如果 Redis 宕机,则触发警报。名称输入“Redis is down”, 严重性选择“灾难”,表达式输入“{Templates App Redis:net.tcp.port[,6379].last(0)}=0”,如下图所示。

  • Redis 响应触发器
    创建 Redis 响应触发器,名称输入“Redis is not responding”,严重性选择“严重”,表达式输入“{Templates App Redis:redis[total_commands_processed].nodata(2m)}=1”, 如下图所示。

5. 添加 Redis 图形

创建图形,依次点击“图形”“创建图形”,创建 Redis 总连接数、总命令数趋势图。 输入名称“[Redis]Total”,监控项添加刚才创建的监控项。然后,点击最下方的“添加”按钮,如图下所示。

6. 关联模板和主机

  • 添加 Redis 主机
    在 Zabbix 的管理界面,依次选择“配置”-——“主机”——“创建主机”,在创建主机界面,填入主机信息。主机名称输入“Agent redis”,可见的名称输入“Agent redis”,新的群组输入“Redis Server”, 然后输入 Redis 主机 IP 地址“192.168.10.103”,其他保持默认。点击最下方“添加”按钮,如下图所示。
  • 关联模板和主机
    依次选择“配置”——“模板”——“Templates App Redis”,在“主机/模板”处添加刚刚创建的“Agent redis”主机,并点击“更新”按钮,如下图所示。

    结果验证,依次点击“监测中”-——“最新数据”,在“主机”一栏输入“Agent redis”,点击“应用” 按钮,在下方可以看到 Redis 主机最新数据获取结果,如下图所示。

    点击上图中的图形可以查看到如下图所示

添加 MySQL 监控

在 MySQL 主机上进行如下操作

执行mysql进入数据库
mysql#授权
GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456';FLUSH PRIVILEGES;quit;

Zabbix Agent 配置文件中,修改以下配置项

vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.10.101
ServerActive=192.168.10.101
Hostname=Agent mysql   #Agent mysql 本地的名称,此名称需要与 server 端的 Web 页面上的主机名称一 致,名称自定义
  • 创建配置文件/etc/zabbix/.my.cnf 以提供 Zabbix Agent 访问数据库
vim /etc/zabbix/.my.cnf#Zabbix Agent
[mysql]
host=localhost
user=zabbix
password=123456
[mysqladmin]
host=localhost
user=zabbix
password=123456
  • 修改监控配置文件/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf,将所有的 “/var/lib/zabbix”修改为当前.my.cnf 文件的路径“/etc/zabbix”
sed -i 's/\/var\/lib\/zabbix/\/etc\/zabbix/g' /etc/zabbix/zabbix_agentd.d/userparameter_mysql.confsystemctl start zabbix-agent
systemctl enable zabbix-agent
  • 在 Zabbix Server 主机执行下列命令,验证获取 MySQL 状态数据的效果
zabbix_get -s 192.168.10.104 -k mysql.status[Com_begin]
0

添加MySQL 监控

1. MySQL 模板

MySQL 模板默认包含在 Zabbix 中,依次选择“配置”——“模板”。在默认的模板中,可以找到“Template App MySQL”模板,如下图所示。

2. 添加 MySQL 主机

在 Zabbix 的管理界面,依次选择“配置”——“主机”——“创建主机”。在创建主机界面,填入主机信息。主机名称输入“Agent mysql”,可见的名称输入“Agent mysql”,新的群组输入“MySQL Server”,然后输入 MySQL 主机 IP 地址“192.168.10.104”,其他保持默认值。点击最下方“添加”按钮,如下图所示。

关联模板和主机,依次选择“配置”——“模板”——“Templates App MySQL”,在“主机/模板” 处添加刚刚创建的“Agent mysql”主机,其他保持默认值。然后,点击“更新”按钮,如下图所示。

结果验证,依次点击“监测中”——“最新数据”,在“主机”一栏输入“Agent mysql”。点击“应用” 按钮,下方可以看到 MySQL 主机最新数据获取结果,如下图所示。

点击上图中的图形可看到如下图

Zabbix监控网站相关推荐

  1. 如何在 Zabbix 执行远程主机的脚本或指令?如何用 Zabbix 监控网站的访问量?

    如何在 Zabbix 执行远程主机的脚本或指令? 场景需求: 1.我们可以通过zabbix_server的web界面的脚本功能实现对已经安装了zabbix_agent主机实现远程关机而不用手动登陆然后 ...

  2. Zabbix 监控网站的访问量

    转载来源 :Zabbix 监控网站的访问量 : http://www.lwops.cn/thread-306-1-1.html 需求:监控网站pv和uv的总量和5分钟内的pv和uv的增量 1. PV. ...

  3. zabbix案例--监控网站的PV-UV-IP

    一.  统计方法 1>.  根据日志进行分析 2>.  开源软件∶ matomo:自己搭建的,以前叫piwik. js代码:开发写的. Awstates:是一个免费的强大而有个性的工具,带 ...

  4. zabbix 监控项自动发现过滤_Zabbix监控之配置Linux自动发现与自动注册报警

    1.关于linux客户端的部署上篇已经介绍不清楚的可以去看一下(Zabbix监控之agent和邮件报警配置) 1.1.一.配置自动发现: 1.1.1.1.1.打开Zabbix Web管理界面,创建Za ...

  5. Zabbix监控详解

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...

  6. zabbix监控oracle缓冲区,Zabbix监控oracle各服务器连接数

    需求: 根据机器名查询oracle连接数,并通过zabbix进行监控 脚本: [root@rac1 Zabbix_S]# cat get_conns.py #!/usr/bin/python #cod ...

  7. zabbix mysql设置中文乱码_解决zabbix监控因php问题导致图形界面中文乱码方法

    解决因编译php中添加了-enable-gd-jis-conv选项导致Zabbix监控系统图形界面中文乱码问题 现象: php编译参数: 说明: 如果PHP编译时启用–enable-gd-jis-co ...

  8. 傲云浏览器linux,Centos7安装部署zabbix监控软件

    目录 部署监控服务器 部署监控服务器Zabbix Server Web页面验证设置 部署监控服务器 一.安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL ...

  9. zabbix监控SNMP

    步骤一:部署系统环境 1.修改主机名 [root@CentOS7-test~]# hostnamectlset-hostname zabbixserver [root@CentOS7-test ~]# ...

  10. 运维必备——Zabbix监控系统

    目录 一.关于Zabbix (1)什么是Zabbix (2)Zabbix具备的功能 (3)Zabbix的官方网站 (4)Zabbix的一些重要组件 (5)Zabbix的进程 (6)Zabbix的工作原 ...

最新文章

  1. Linux服务器-使用mysql
  2. 可变车道怎么走不违章_可变车道怎么才能正确通行?老司机来告诉你什么才是正确的走法。...
  3. c#客户端 通过用户名密码访问服务器文件,C#如何连接服务器共享文件夹
  4. iPhone OS框架 介绍
  5. 图像分类_04神经网络最优化过程:反向传播+代码实现
  6. 学习Linux第一天
  7. 使用UIActivityIndicatorView 和多线程
  8. Easyui的numberbox无法输入以0开头的数字编号(转载)
  9. Microsoft.ACE.OLEDB.12.0 读取混合列
  10. 编程基本功:工作中,高低境界如何迁就?
  11. 三菱有C语言PLC控制器,三菱PLC可程序设计控制器系列软件介绍
  12. 电气simulink常用模块_重庆台达PLC控制柜施工技术标准 - 重庆电工电气
  13. 日常生活记账的账本你知道吗
  14. 打印系统开发(6)——纸张尺寸对照表如下
  15. 计算机二级答题技巧口诀,计算机二级考试复习技巧:考场答题经验分享
  16. 如何实现自适应页面 (响应式布局)
  17. 【20200129】win10 win7双系统安装成功后,win7提示未激活怎么办?
  18. type-c转type A 3.0线以及otg线序
  19. 怎么做好网络营销推广引流客户?
  20. ajax failed啥意思,AJAX请求返回200 OK,但是一个错误事件被触发而不是成功。

热门文章

  1. Prolog 语言入门教程(转)
  2. 桥接模式---Bridge
  3. 深入学习Spring IOC和AOP 实例代码
  4. 第二届“香山杯”网络安全大赛|MISC
  5. vue实战项目-ego商城
  6. HTML导航如何加下划线,HTML怎么设置下划线?html文字加下划线方法
  7. Quartus 在工具栏设置功能快捷方式
  8. bulma.css_在5分钟内学习Bulma CSS-初学者教程
  9. Python英文搜索引擎(模糊搜索)
  10. win11家庭中文版 安装docker 步骤