暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
opengauss源码分析--指标采集预测与分析.pdf
1792
13页
24次
2022-01-29
免费下载
opengauss 源码分析—指标采集预测与分析
一.指标采集、预测与异常检测简介
数据库指标监控与异常检测技术,通过监控数据库指标,并基于时序预测和异常检测等算法,
发现异常信息,进而提醒用户采取措施避免异常情况造成严重后果。
二,使用场景
用户操作数据库的某些行为或某些正在运行的业务发生了变化,都可能会导致数据库产生异
常,如果不及时发现并处理这些异常,可能会导致严重的后果。通常,数据库监控指标(metric,
如 CPU 使用率、QPS 等)能够反映出数据库系统的健康状况。通过对数据库指标进行监控,
分析指标数据特征或变化趋势等信息,可及时发现数据库异常状况,并及时将告警信息推送
给运维管理人员,从而避免造成损失。
实现原理
指标采集、预测与异常检测是通过同一套系统实现的,在 openGauss 项目中名为 Anomaly-
Detection,它的结构如图 8-14 所示。该工具主要可以分为 Agent 和 Detector 两部分,其中
Agent 是数据库代理模块,负责收集数据库指标数据并将数据推送到 Detector;Detector 是
数据库异常检测与分析模块,该模块主要有三个作用。
(1) 收集 Agent 端采集的数据并进行转储。
(2) 对收集到的数据进行特征分析与异常检测。
(3) 将检测出来的异常信息推送给运维管理人员。
1. Agent 模块的组成
Agent 模块负责采集并发送指标数据,该模块由 DBSource、MemoryChannel、HttpSink 三
个子模块组成。
(1) DBSource 作为数据源,负责定期去收集数据库指标数据并将数据发送到数据通道
MemoryChannel 中。
(2) MemoryChannel 是内存数据通道,本质是一个 FIFO 队列,用于数据缓存。HttpSink
组件消费 MemoryChannel 中的数据,为了防止 MemoryChannel 中的数据过多导致 OOM
(out of Memory,内存溢出),设置了容量上限,当超过容量上限时,过多的元素会被禁止
放入队列中。
(3) HttpSink 是数据汇聚点,该模块定期从 MemoryChannel 中获取数据,并以 Http(s)的
方式将数据进行转发,数据读取之后从 MemoryChannel 中清除。
2. Detector 模块组成
Detector 模块负责数据检测,该模块由 Server、Monitor 两个子模块组成。
(1) Server 是一个 Web 服务,为 Agent 采集到的数据提供接收接口,并将数据存储到本
地数据库内部,为了避免数据增多导致数据库占用太多的资源,我们将数据库中的每个表都
设置了行数上限。
(2) Monitor 模块包含时序预测和异常检测等算法,该模块定期从本地数据库中获取数据
库指标数据,并基于现有算法对数据进行预测与分析,如果算法检测出数据库指标在历史或
未来某时间段或时刻出现异常,则会及时的将信息推送给用户。
8.5.3 关键源码解析
1 总体流程解析
智 能 索 引 推 荐 工 具 的 路 径 是 openGauss-
server/src/gausskernel/dbmind/tools/anomaly_detection,下面的代码详细展示了程序的入
口。
def forecast(args):
…
# 如果没有指定预测方式,则默认使用’auto_arima’算法
if not args.forecast_method:
forecast_alg = get_instance('auto_arima')
else:
forecast_alg = get_instance(args.forecast_method)
# 指标预测功能函数
def forecast_metric(name, train_ts, save_path=None):
…
forecast_alg.fit(timeseries=train_ts)
dates, values = forecast_alg.forecast(
period=TimeString(args.forecast_periods).standard)
date_range = "{start_date}~{end_date}".format(start_date=dates[0],
end_date=dates[-1])
display_table.add_row(
[name, date_range, min(values), max(values), sum(values) / len(values)]
)
of 13
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜