X0 典型解决方案

一)数据库故障定位/根因分析解决方案

挑战:

数据库在长时间的运行过程中会出现各种各样的故障. 这些故障大体上可以分为两类:

1)数据库资源限制类 -- 表现为各种资源瓶颈出现. 常见现象有: CPU忙, 磁盘空间不够, 磁盘IO慢, 缓存命中率低等.

2)SQL语句问题类 -- 应用程序的SQL逻辑问题或者多连接并发同类SQL导致故障.

当故障发生时, 无论上述那种情况, 通过数据库给出的日志信息很难对问题的故障根因给出准确定位, 因为:

1)日志中通常是按照时间存储流水信息, 而不是按照场景来组织的;

2)有很多的错误信息不存储在日志中.

数据库DBA在很多故障发生后, 常常很无法明确说出问题根因, 在组织内部沟通和协调上就很被动.

那么, 有什么好的方法能解决上述的问题呢?

解决:

解决故障根因通常需要有故障发生时场景信息, 就像侦探需要案发现场一样.

X0通过旁路出来的网络报文, 通过认知分析还原了交易场景. 这样就可以浏览所有已经发生的交易明细, 对交易内容(SQL 构成)进行深入分析, 从而确定故障发生的时间和故障交易主体. (隶属场景认知)

另外, X0还原的SQL中, 不仅仅包含了SQL请求, 还包含了对应SQL返回码--SQLCODE. SQLCODE是数据库明确分类和定义的, 通过对SQLCODE的含义进行分析, 就可以找出故障的根因. (隶属SQL认知)

成功案例>>

二)数据库/应用系统节点级监控和故障定位解决方案

挑战:

在数据中心中, 完成一笔交易通常需要在多个节点(系统)来回. 因此, 在数据中心级别的问题定位, 只是参考一个节点(系统)的状态是不够的. 例如: 从数据库的角度来说, 当数据库的交易量急剧下降了, 是否能够就认为是数据库发生了故障, 导致服务水平下降呢? 很显然, 不能下这个结论. 因为如果是应用服务器故障导致交易请求量急剧下降, 那么就可确定不是数据库的问题.

数据库DBA在很多故障发生后, 常常很无法明确说出问题根因, 在组织内部沟通和协调上就很被动.

那么, 如何能够对数据库和应用服务器节点级进行监控, 对故障进行定位呢?

解决:

X0通过对多个KPI指标之间的联动关系的认知来定位和判断节点故障.首先, X0通过对网络层和SQL层的多个KPI指标的异动进行感知, 这些异动的指标包含:响应率异动, 流量异动, 响应时间异动, TPS异动等.然后, X0会判断多指标之间的联动效果. 比如: 如果请求流量正常, 应答流量异常下降, 同时发生响应率下降的联动, 响应时间也联动下降, 那么就可以判定数据库的应答是发生了异常. 通过KPI联动的认知分析, X0可以准确定位数据库的运行健康状态, 并定位出故障是在数据库节点内部还是源于发送访问请求的应用服务器.

成功案例>>

意见反馈 | 法律声明
版权所有:沃信科技有限公司 2013 粤 ICP11091192