基于预警自适应技术的监控系统设计

2020-07-29 12:35曹靖城张继东吴春平
计算机与网络 2020年13期
关键词:阈值利用率动态

曹靖城 张继东 吴春平

1引言

传统监控系统能够实时采集各项阈值类监控项相关监控数据并进行分析,结合预先设定的阈值进行故障检测和告警,但在异常判定阈值的设定上存在不足。对不同的应用场景使用统一设定的阈值难以做适配,即使人为根据具体情况进行不同的阈值设定,也无法避免会有主观因素的影响。本方案提出在保证异常检测可靠的前提下进一步使检测阈值合理化,提高监控和告警效率。

2系统总体方案

2.1方案设计

使用一定周期内各项指标的置信区间来设定阈值,在大量数据的基础上,采用统计学方法计算出合理的阈值区间,采用分时段、动态阈值的方式对指标进行监控并对异常发出告警。同时设置置信区间更新机制应对突发情况,一旦监控数据超出置信区间或系统硬件参数发生变化,可在发出系统警告的同时清除当前置信区间,重新统计,生成新的置信区间。在新的置信区间未生成时,依据人工设定初始阈值,待新的置信区间统计完成,自动切换为新的置信区间。

2.2方案架构

本方案包括5个核心模块,方案整体架构如图1所示。

①指标采集模块,对监控对象分时段周期进行指标数据采集。

②置信区间计算模块,计算每一时段内指标的平均值、标准差,并结合相关数据对每一周期设置置信水平,计算置信区间。

③指标监测模块,通过划分时段的方法计算每个周期内对应指标的相关统计数据,可对每个周期分别动态设置置信区间。

④动态阈值微调模块,指标监测正常则将采集到的数据用来更新相关统计值并微调动态阈值。

⑤动态阈值更新模块,指标监测异常则重新采集数据,计算并更新阈值区间,采用设定阈值保持监控,在异常恢复期间重新采集数据进行阈值自适应更新。

2.3系统流程及核心算法

系统设计整体流程如图2所示,具体步骤如下(以CPU利用率为例)。

步骤1:根据具体应用场景的实际要求,将一天划分成不同的时间周期,周期可自定义,采集不同时间周期内的CPU利用率并进行统计分析。

步骤2:计算连续个周期的CPU利用率数据,每一时间周期的数据分别统计,计算每个时间周期内的平均值、标准差,对每一时间周期设置置信水平,按下式计算置信区间:

式(2)用于計算某一周期内CPU利用率的标准差,其中为样本数量,为式(1)计算得到的样本均值。

选择适用于场景的置信度并计算误差范围,结合样本均值生成对应置信度的置信区间,计算公式如下:

步骤3:使用计算得出的置信区间作为当前周期的动态阈值进行CPU利用率监测,若数据处于置信区间内则反馈到置信区间计算模块进行阈值的微调,若数据超出置信区间则触发告警。

步骤4:触发告警后进入置信区间更新状态,重新采集一定量的数据并进行统计分析,将计算得出的新置信区间更新为动态阈值。更新数据采集期间使用人为设定的固定阈值进行异常检测,数值超出告警阈值则触发告警。

2.4测试结果及分析

本测试采用CPU使用率数据为例进行分析,采用95 %的置信水平进行置信区间的计算。实验数据表示,正常情况下CPU的使用率在20 %上下浮动,而当某一时间点加入新服务后,该服务器的CPU使用率上升,维持在80 %上下浮动。若使用固定阈值,并不能很好地反映当前CPU的负载水平,只能依靠人为修改阈值。若使用动态阈值,根据统计数据计算置信区间,得到较为合理的浮动阈值,并且在服务增加之后能够自适应地调整阈值以适配业务环境变化,可以更好地反应当前CPU的负载水平,基于置信区间对业务系统设置“分时+分区”的个性化阈值动态设定,规避人为主观性,极大地提升准确告警能力。

3结束语

文章简要介绍了监控预警自适应的系统方案、模块设计、流程说明以及对测试结果的分析,本设计支持嵌入监控系统具有较好的实用性,动态阈值设定精准高效,能够应对各种突发情况并自动适配多种数值监控告警场景。

猜你喜欢
阈值利用率动态
非均匀光照下文本图像分割算法研究
特斯拉发布新功能 停电期间也可充电
2020年第三季度全国工业产能利用率为76.7%
公共充电桩利用率不足15%
山西省煤炭产业产能利用率测度
山西省煤炭产业产能利用率测度
利用迭代软阈值方法抑制恒时演化类核磁共振实验中的采样截断伪峰
韩可再生能源利用率倒数
2014年5月27日—2014年6月24日
2014年4月22日—2014年5月22日