使用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诊断。 |
自动限流 |
可根据业务场景自定义,本次触发条件以下设置为例:
|
自动扩容 |
可根据业务场景自定义,本次触发条件以以下设置为例:
|
自动回缩 |
自动扩容后,发现在观测窗口内,满足自动回缩的条件,进行自动回缩操作;本次静默期 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. 异常检测
在左侧菜单单击一键诊断。
在自治中心页签下查看异常事件、优化事件和弹性伸缩事件。
向下拖动页面,查看每个事件的描述和详情。
单击异常检测事件的详情,查看异常的指标。
实验链接:https://developer.aliyun.com/adc/scenario/e28e742918ac4d7a8d19854c55caf9e7