使用DAS实现数据库异常检测

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 本场景主要介绍如何使用DAS异常检测功能,对数据库PolarDB MySQL 进行异常检测,能够更为及时地发现数据库的异常变化提升数据库系统的稳定性,提高运维效率。背景知识

使用DAS实现数据库异常检测

1. 购买DAS专业版并新增实例

登录DAS专业版购买页面,根据界面提示选择对应参数,购买DAS专业版服务。

DAS控制台DAS专业版管理页面,单击页面右上角新增实例。

在选择实例的搜索框里输出需要使用DAS专业版管理的PolarDB实例ID,勾选已查询出来的实例,添加至右侧区域。

说明:DAS专业版会自动打开PolarDB的SQL洞察,DAS将赠送给您5GB SQL洞察存储空间,超出部分按照0.008元/GB/小时收费,日志至少保存30天。

单击确定后页面会提示新增成功,可到已使用实例列表页面查看。

2. 开启DAS自治服务

登录PolarDB MySQL控制台,单击集群列表,选择已创建的集群ID,进入集群详情页。

在左侧导航栏选择一键诊断,在自治中心页签下,单击右侧自治功能开关进入设置页面。

开启自治服务。

自治服务

触发条件

自动索引创建和删除

当打开开启自治服务开关后,默认开启SQL诊断

自动限流

可根据业务场景自定义,本次触发条件以下设置为例

  • CPU利用率 > 80%且活跃会话数量 > 20。
  • 持续时间>2分钟。
  • 可限流时间段 00:00-23:59。
  • 最大限流时间 10 分钟。
  • 同时KILL执行中的异常SQL。

自动扩容

可根据业务场景自定义,本次触发条件以以下设置为例

  • CPU利用率 >= 70%。
  • 升配实例规格上限是 88核710G。
  • 只读节点数量上限是 3 个。
  • 观察窗口时间 30 分钟。

自动回缩

自动扩容后,发现在观测窗口内,满足自动回缩的条件,进行自动回缩操作;本次静默期 30 分钟。

单击确定。

3. 构造数据

登录PolarDB MySQL控制台,单击集群ID,进入集群详情页后,单击数据库管理-创建数据库,完成数据库的创建。

说明:为案例展示需要,本案例中数据库的名称定为das_test。

通过DMS登录数据库:在PolarDB MySQL控制台,进入实例详情页,单击SQL查询,跳转DMS控制台后输入账号和密码。

说明:首次使用DMS连接PolarDB MySQL实例时,系统会提示您授权白名单,单击确认后即可完成授权。

成功登录后,直接打开数据库的SQL Console面板,输入以下语句,创建PolarDB MySQL表。

1)执行如下语句创建一张students表。


         

2)如下两条INSERT INTO语句各执行一次,写入两条数据。


         

3)重复执行如下语句建议执行20次以上,生成200万行数据。


         

4. 模拟压测

本步骤需要在ECS控制台中,登录ECS实例部署压测程序,并使用该程序模拟流量注入。

登录下载地址 ,下载压测程序。

开通ECS服务器,本次案例要求配置如下:

地域与可用区:与已创建的polarDB MySQL实例一致。

实例规格:建议选择计算型、4vCPU 8GiB以上规格。

镜像:CentOS 7.8 64位

系统盘 :选择ESSD云盘 40GB

公网IP:勾选分配公网IPV4地址

带宽计费模式:选择按使用流量

带宽峰值:设置为10Mbps。

登录凭证

密钥对:选择已有的密钥对,或者单击创建密钥对即时创建密钥对。

自定义密码:输入并确认密码。使用用户名和密码登录实例时,Linux实例默认用户名为root,Windows实例默认用户名为administrator

创建后设置:在实例创建完成后,自行绑定密钥对或者重置实例密码。

其余配置不做要求,选择默认即可。

PolarDB MySQL控制台的集群详情中,将ECS的IP地址添加至PolarDB MySQL的白名单中。

登录ECS。

1)登录ECS控制台,选择实例,点击开通的实例ID名称。

2)单击远程连接

3)可选择Workbench远程连接方式,单击立即登录

执行如下命令创建目录。


         

将下载的das-testbed-simple.zip 压缩包上传至ECS 实例的 /usr/local/src 目录下。

Windows系统下载使用MobaXterm工具登录ECS地址上传。

Macos系统使用终端上传。

在src 目录下执行如下命令解压das-testbed-simple.zip。


         

依次执行如下命令编辑data-source.properties,复制PolarDB的集群地址替换该文件里的占位符,并设置账户和密码。

1)在PolarDB集群的基本信息页面,获取集群链接地址。

2)修改配置文件data-source.properties。


         

按i进行修改,修改完成后按Esc再输入:wq保存退出。

说明:标红位置参数按照实际环境配置

jdbc.url:

*********.rwlb.rds.aliyuncs.com:PolarDB MySQL集群的链接地址。

das_test:数据库名称。

jdbc.username:账户名,登录PolarDB控制台,在配置与管理 > 账号管理页面,进行查看。

jdbc.password:账户密码。

在 /usr/local/src目录下执行以下命令,克隆一个目录。


         

修改das-testbed-simple/config/test-scenario-config.json的内容如下:


         

按i进行修改,修改完成后按Esc再输入:wq保存退出。


         

说明:该配置测试程序以 20个线程并发执行 update 语句20分钟,把 PolarDB主库的 CPU持续打高。

修改das-testbed-simple1/config/test-scenario-config.json的内容如下:


         

按i进行修改,修改完成后按Esc再输入:wq保存退出。


         

说明:该配置测试程序以 10个线程并发执行慢查询select语句20分钟,把PolarDB只读库或者主库的CPU持续打高。

通过 yum命令在 ECS上安装 java。


         

在 2个终端窗口分别运行以下2条命令,对 PolarDB进行高并发压测。


         

5. 异常检测

登录PolarDB MySQL控制台

在左侧菜单单击一键诊断。

在自治中心页签下查看异常事件优化事件弹性伸缩事件

向下拖动页面,查看每个事件的描述和详情。

单击异常检测事件的详情,查看异常的指标。

实验链接:https://developer.aliyun.com/adc/scenario/e28e742918ac4d7a8d19854c55caf9e7

相关文章
|
18天前
|
运维 安全 关系型数据库
参加数据库管理工具DAS训练营,赢取国潮保温杯和阿里云定制双肩包!
本训练营带您简单了解数据库自治与云安全服务,数据库自治服务提供云上RDS、PolarDB、NoSQL、ADB等数据库7*24小时异常检测、SQL自优化、安全合规审计、弹性伸缩、数据自治、锁分析等亮点功能。一站式自动化、数字化DAS集成平台,助力您畅享DBA运维智能化。
|
18天前
|
SQL 运维 数据库
数据库自治专家DAS在手,安心过春节!
春节期间,企业数据库可能面临的问题高发在稳定性、性能和安全性等方面,比如:会遭遇人手不足,IT支持可能会因运维工程师休假、交通通勤而受到限制,也会存在远端接入不方便、通信不畅通、处理不及时等问题。除此之外,大规模增长的商业活动促销和交易量波动增加,交易系统有可能凌晨依然存在高峰负载压力等问题,这对数据库性能是一场不小的考验,上述种种问题,都需要更精确的、更全方位的守护系统。通过DAS智能助手,能够实现7*24小时的守护,接触DBA焦虑,保障系统平稳有序运行。
366 2
|
9月前
|
SQL 关系型数据库 分布式数据库
使用DAS实现数据库自动SQL优化
本场景介绍如何使用DAS实现数据库自动SQL优化。
115 0
|
9月前
|
SQL 关系型数据库 分布式数据库
使用DAS实现数据库自动SQL限流
本场景主要介绍如何使用DAS提供SQL限流功能,通过自动SQL限流来控制数据库请求访问量和SQL并发量,保障服务的可用性。
147 0
|
16天前
|
关系型数据库 MySQL API
实时计算 Flink版产品使用合集之可以通过mysql-cdc动态监听MySQL数据库的数据变动吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
124 0
|
18天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
88 0
|
11天前
|
存储 SQL 关系型数据库
【MySQL】数据库基础 -- 详解
【MySQL】数据库基础 -- 详解
|
18天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
135 0
|
18天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(上)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
71 0
|
2天前
|
SQL 关系型数据库 MySQL
mysql 数据库 增删改查 基本操作
mysql 数据库 增删改查 基本操作

热门文章

最新文章