一种运维监控领域的动态阈值计算方法、装置及设备与流程
未命名
07-20
阅读:121
评论:0

1.本发明涉及互联网运维监控领域,具体涉及一种运维监控领域的动态阈值计算方法、装置及设备。
背景技术:
2.随着移动互联网业务的高速发展,巨大用户基数下快速变更和不断创新的需求推动了传统软件开发方式,云原生和微服务开始流行,使得运维监控的服务数量大幅增长;同时指标维度更丰富,每个指标都会包含几个甚至十几个标签,按不同维度进行聚合已成为基本需求。运维监控旨在事前及时预警发现问题,事中便于定位问题,事后可以提供数据分析问题。面对海量的监控指标,传统的静态阈值无法解决根本问题,如何设置合理的监控阈值以及时发现异常指标成为亟待解决的问题。
3.现有大多监控平台多采用静态阈值的方式进行指标监控,而静态阈值仅适用于在一定范围内波动的监控指标。且静态阈值的设置依赖领域专家给出的经验值,是一个恒定值。较高的静态阈值容易漏掉部分异常值,而较低的静态阈值则容易错误的检测出大量异常值,无法提供精准告警。在实际工作中,不论是基础设施类指标或是业务类指标多与人的行为挂钩,所以大多指标会呈现周期性的变化,因此少数监控平台支持对同一个指标设置多个静态阈值。
4.因此,设置静态阈值的方式,需要耗费大量人力物力,无法根据监测数据的变化而自适应调整,人为因素干扰大,监控对象变更导致维护成本增高。
技术实现要素:
5.有鉴于此,本发明的目的在于提供一种运维监控领域的动态阈值计算方法、装置及设备,以解决现有技术中设置静态阈值的方式,需要耗费大量人力物力,无法根据监测数据的变化而自适应调整,人为因素干扰大,监控对象变更导致维护成本增高的问题。
6.根据本发明实施例的第一方面,提供一种运维监控领域的动态阈值计算方法,包括:
7.获取目标监控指标的历史数据;
8.对所述历史数据进行预处理,得到第一标准数据;
9.对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;
10.根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;
11.根据所述基线值和所述同比标准差计算上限阈值和下限阈值。
12.优选的,所述对所述历史数据进行预处理,包括:
13.若所述历史数据存在数据缺失,则采用均值填充、中值填充、前值填充或后值填充的方式进行缺失值填充;
14.若所述历史数据存在时间戳及数据均缺失,则采用线性插值方法进行填充;
15.若所述历史数据存在超过预设阈值的毛刺、噪音,则采用指数平滑算法对所述历史数据进行平滑降噪。
16.优选的,所述采用指数平滑算法对所述历史数据进行平滑降噪,包括:
17.计算公式如下:
[0018][0019]
其中,x(t)表示t时刻指标的实际观测值;s(t)表示t时刻指标的平滑值,s(t-1)表示t-1时刻指标的平滑值;α表示对历史观测值的权重系数,α的取值范围为0《α《1。
[0020]
优选的,所述根据所述第二标准数据进行基线预测得到基线值,包括:
[0021]
利用时间序列预测算法进行基线预测得到基线值,计算公式如下:
[0022]
p=g(t)+s(t)+h(t)+ε(t)
[0023]
其中,p表示进行基线预测得到基线值;所述第二标准数据中的g(t)表示数据中的非周期项,s(t)表示数据中的周期项,h(t)表示数据中的节假日项,ε(t)为误差项,表示随机波动。
[0024]
优选的,所述根据所述第二标准数据计算每个单位时间的同比标准差,包括:
[0025]
选取每个单位时间预设期限内的历史同期数据预设窗口内的数据构成每个单位时间的数据集合;
[0026]
根据每个单位时间的所述数据集合,计算每个单位时间的同比标准差。
[0027]
优选的,所述根据所述基线值和所述同比标准差计算动态上限阈值和下限阈值,包括:
[0028]
利用如下计算公式计算上限阈值和下限阈值:
[0029]
upi=forecasti+level*stdi[0030]
downi=forecast
i-level*stdi[0031]
其中,upi为i时刻的上限阈值;downi为i时刻的下限阈值;forecasti为i时刻的基线值;level为正常波动范围计算等级;stdi为i时刻的同比标准差。
[0032]
优选的,所述的方法,还包括:
[0033]
根据目标监控指标的数据源对所述上限阈值和所述下限阈值进行对应的格式转换;
[0034]
将格式转换之后的所述上限阈值和所述下限阈值写入至对应的数据源。
[0035]
根据本发明实施例的第二方面,提供一种运维监控领域的动态阈值计算装置,包括:
[0036]
数据获取模块,用于获取目标监控指标的历史数据;
[0037]
数据预处理模块,用于对所述历史数据进行预处理,得到第一标准数据;
[0038]
异常值剔除模块,用于对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;
[0039]
动态阈值计算模块,用于根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;根据所述基线值和所述同比标准差计算上限阈值和下限阈值。
[0040]
优选的,所述的装置,还包括:
[0041]
阈值输出模块,用于根据目标监控指标的数据源对所述上限阈值和所述下限阈值进行对应的格式转换;将格式转换之后的所述上限阈值和所述下限阈值写入至对应的数据源。
[0042]
根据本发明实施例的第三方面,提供一种运维监控领域的动态阈值计算设备,包括:
[0043]
主控器,及与所述主控器相连的存储器;
[0044]
所述存储器,其中存储有程序指令;
[0045]
所述主控器用于执行存储器中存储的程序指令,执行上述任一项所述的方法。
[0046]
本发明的实施例提供的技术方案可以包括以下有益效果:
[0047]
可以理解的是,本发明提供的技术方案,包括获取目标监控指标的历史数据;对所述历史数据进行预处理,得到第一标准数据;对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;根据所述基线值和所述同比标准差计算上限阈值和下限阈值。可以理解的是,本发明能够根据指标的历史数据计算得到基线值和同比标准差,进而计算得出上限阈值和下限阈值,无需专家设定静态阈值,且能够根据监测数据历史数据的变化而自适应调整,维护成本降低。
[0048]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
[0049]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0050]
图1是根据一示例性实施例示出的一种运维监控领域的动态阈值计算方法的步骤示意图;
[0051]
图2是根据一示例性实施例示出的动态阈值计算整体流程示意框图;
[0052]
图3是根据一示例性实施例示出的实施例指标i时刻历史同比数据截取示意图;
[0053]
图4是根据一示例性实施例示出的实施例指标及相关特征曲线图;
[0054]
图5是根据一示例性实施例示出的一种运维监控领域的动态阈值计算装置的示意框图。
具体实施方式
[0055]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0056]
实施例一
[0057]
图1是根据一示例性实施例示出的一种运维监控领域的动态阈值计算方法的步骤示意图,参见图1,提供一种运维监控领域的动态阈值计算方法,包括:
[0058]
步骤s11、获取目标监控指标的历史数据;
[0059]
步骤s12、对所述历史数据进行预处理,得到第一标准数据;
[0060]
步骤s13、对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;
[0061]
步骤s14、根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;
[0062]
步骤s15、根据所述基线值和所述同比标准差计算上限阈值和下限阈值。
[0063]
本实施例主要以监控平台接入的监控指标为计算对象,目的是为了替换已有的静态阈值监控规则,以实现更精准、快速的发现指标的异常。图2是根据一示例性实施例示出的动态阈值计算整体流程示意框图,在图2中,首先获取指标数据,获取的指标数据为目标监控指标的历史数据,若历史数据不足2个周期,则无法进行动态阈值计算,直接结束流程,若历史数据大于等于两个周期,则进行数据预处理,进而进行异常值的剔除。异常值为用户人工对异常值进行标注的,并将异常点存储的。在异常值剔除之后,进行动态阈值的计算,优选的,可以将计算得到的动态阈值回写至原始数据源。
[0064]
可以理解的是,本实施例提供的技术方案,包括获取目标监控指标的历史数据;对所述历史数据进行预处理,得到第一标准数据;对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;根据所述基线值和所述同比标准差计算上限阈值和下限阈值。可以理解的是,本实施例能够根据指标的历史数据计算得到基线值和同比标准差,进而计算得出上限阈值和下限阈值,无需专家设定静态阈值,且能够根据监测数据历史数据的变化而自适应调整,维护成本降低。
[0065]
在步骤s11中,获取目标监控指标的历史数据,主要是从多个数据源获取监控指标的历史数据。优选的,可以将获取到的历史数据转换成统一格式后,再进行数据的预处理。
[0066]
需要说明的是,在步骤s12中,所述对所述历史数据进行预处理,包括:
[0067]
若所述历史数据存在数据缺失,则采用均值填充、中值填充、前值填充或后值填充的方式进行缺失值填充;
[0068]
若所述历史数据存在时间戳及数据均缺失,则采用线性插值方法进行填充;
[0069]
若所述历史数据存在超过预设阈值的毛刺、噪音,则采用指数平滑算法对所述历史数据进行平滑降噪。
[0070]
在具体实践中,数据预处理操作主要针对数据中存在数据缺失、时间戳缺失以及大量噪音等问题,对应的操作分别为缺失值填充、插值以及平滑降噪。针对数据缺失,提供均值填充、中值填充、前值填充以及后值填充等;若出现时间戳及数据均缺失的情况,会采用线性插值的方法进行填充;当数据存在大量毛刺、噪音,选择ewma平滑算法(指数平滑算法)对数据进行平滑降噪。
[0071]
均值填充:对于数据中的缺失值,计算数据的均值,并将该均值填充于数据中的缺失值位置。
[0072]
中值填充:对于数据中的缺失值,计算数据的中位数,并将该中位数填充于数据中的缺失值位置。
[0073]
前(后)值填充:前值填充是取缺失值索引的前一个索引处的值用于填充该缺失
值,同理,后值填充是取缺失值索引的后一个索引处的值用于填充该缺失值。
[0074]
线性插值:线性插值是取缺失值前后的部分数据进行线性拟合,用拟合后的模型计算缺失值。
[0075]
ewma平滑算法:需要说明的是,所述采用指数平滑算法对所述历史数据进行平滑降噪,包括:
[0076]
计算公式如下:
[0077][0078]
其中,x(t)表示t时刻指标的实际观测值;s(t)表示t时刻指标的平滑值,s(t-1)表示t-1时刻指标的平滑值;α表示对历史观测值的权重系数,α的取值范围为0《α《1α越小,ewma的平滑效果越强,反之降低。
[0079]
在步骤s13中,对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换,得到第二标准数据:经过数据预处理步骤后的数据变得更加规范和标准,但是若数据中存在大量异常值,则会严重影响之后计算的准确性。本步骤主要针对人为标注的异常进行剔除,能够提高数据质量。在实际场景中,当出现真实故障时,记录相应指标的异常时间段并存储。本实施例对于标注的异常值,采用同比均值进行替换:同比均值计算可参考图3,在图3中,横轴表示一天中的不同时刻,纵轴表示不同日期,t、z、y和x均为当日的时间轴,i为选取的时刻,w为预设数据窗口。参见图3,若yi被标注为异常值,则选取数据中日期不同但时刻同为i的值生成集合{zi,
…
,ti},并计算集合的均值作为同比均值,替换异常值yi。
[0080]
需要说明的是,在步骤s14中,所述根据所述第二标准数据进行基线预测得到基线值,包括:
[0081]
利用时间序列预测算法进行基线预测得到基线值,计算公式如下:
[0082]
p=g(t)+s(t)+h(t)+ε(t)
[0083]
其中,p表示进行基线预测得到基线值;所述第二标准数据中的g(t)表示数据中的非周期项,s(t)表示数据中的周期项,h(t)表示数据中的节假日项,ε(t)为误差项,表示随机波动。
[0084]
在具体实践中,利用prophet算法(时间序列预测算法)进行基线预测,prophet模型能有效拟合数据的周期性、节假日效应以及趋势性等时序特征。
[0085]
在上述公式中,g(t)代表的非周期项的数据,使用逻辑增长模型进行建模,公示如下:
[0086][0087]
其中,c表示预测模型的容量;k是趋势增长量;n是偏移参数。
[0088]
对于周期项的数据s(t)使用傅里叶级数模拟周期效应,公式如下:
[0089][0090]
其中t为周期性时间序列的周期。
[0091]
需要说明的是,在步骤s14中,所述根据所述第二标准数据计算每个单位时间的同比标准差,包括:
[0092]
选取每个单位时间预设期限内的历史同期数据预设窗口内的数据构成每个单位时间的数据集合;
[0093]
根据每个单位时间的所述数据集合,计算每个单位时间的同比标准差。
[0094]
在具体实践中,同比标准差主要选择历史同期数据进行标准差的计算,能够在一定程度上克服周期性波动对阈值计算的影响。关于历史同期数据的选择可以参考图3,以i时刻的历史同期数据选择为例,将前一天、前两天、一直到前p天i时刻前后w窗口内的数据构成集合,然后计算i时刻的同比标准差,公式如下:
[0095]
stdi=std(t-p
i-w
,
…
,t-p
i+w
,
…
,t-1
i-w
,
…
,t-1
i+w
)
[0096]
其中,stdi为i时刻的同比标准差。
[0097]
需要说明的是,在步骤s15中,所述根据所述基线值和所述同比标准差计算动态上限阈值和下限阈值,包括:
[0098]
利用如下计算公式计算上限阈值和下限阈值:
[0099]
upi=forecasti+level*stdi[0100]
downi=forecast
i-level*stdi[0101]
其中,upi为i时刻的上限阈值;downi为i时刻的下限阈值;forecasti为i时刻的基线值;level为正常波动范围计算等级;stdi为i时刻的同比标准差。
[0102]
需要说明的是,所述的方法,还包括:
[0103]
根据目标监控指标的数据源对所述上限阈值和所述下限阈值进行对应的格式转换;
[0104]
将格式转换之后的所述上限阈值和所述下限阈值写入至对应的数据源。
[0105]
在具体实践中,为了方便监控指标的告警规则配置,需要将计算出的动态阈值上下限数据输出至相应数据源。
[0106]
下面结合图4和列举的具体实施例对本发明进行详细说明。
[0107]
一、获取指标的历史数据:
[0108]
本实施例中的指标数据选择公司的某网络流量监控指标,数据存储于prometheus(一个系统监控和报警系统)。根据promql语句(是prometheus内置的数据查询语言)获取prometheus中本实施例的历史数据,数据呈现日周期。表1和表2分别为实施例的部分训练数据和测试数据,其中数据间隔为1分钟,数据包含时间与对应指标值两列,分别为ds和y。
[0109]
dsydsydsy2023/02/14 14:00:005.510424e+82023/02/15 14:00:005.854447e+82023/02/16 14:00:005.610364e+82023/02/14 14:01:006.884802e+82023/02/15 14:01:006.158347e+82023/02/16 14:01:006.009616e+82023/02/14 14:02:006.527512e+82023/02/15 14:02:005.814667e+82023/02/16 14:02:005.610798e+82023/02/14 14:03:005.898258e+82023/02/15 14:03:006.051840e+82023/02/16 14:03:005.769538e+82023/02/14 14:04:005.752561e+82023/02/15 14:04:005.878097e+82023/02/16 14:04:005.657941e+82023/02/14 14:05:005.802487e+82023/02/15 14:05:006.141763e+82023/02/16 14:05:006.040367e+82023/02/14 14:06:006.742187e+82023/02/15 14:06:005.655592e+82023/02/16 14:06:005.783330e+82023/02/14 14:07:005.903637e+82023/02/15 14:07:005.951743e+82023/02/16 14:07:006.009560e+82023/02/14 14:08:005.609108e+82023/02/15 14:08:005.584078e+82023/02/16 14:08:005.553087e+82023/02/14 14:09:005.389919e+82023/02/15 14:09:005.823118e+82023/02/16 14:09:005.850599e+8
[0110]
表1
[0111]
dsydsy2023/02/17 14:00:005.732529e+82023/02/17 14:07:008.210643e+82023/02/17 14:01:005.881827e+82023/02/17 14:08:008.594606e+82023/02/17 14:02:005.803029e+82023/02/17 14:09:008.785140e+82023/02/17 14:03:005.815525e+82023/02/17 14:10:009.525044e+82023/02/17 14:04:005.752368e+82023/02/17 14:11:001.020072e+92023/02/17 14:05:006.672545e+82023/02/17 14:12:001.034610e+92023/02/17 14:06:007.409629e+82023/02/17 14:13:001.019423e+9
[0112]
表2
[0113]
二、数据预处理:
[0114]
数据预处理包括缺失值处理、数据平滑。
[0115]
经过查找筛选,本实施例的数据中不存在缺失值。然后对数据进行平滑,参数设置α=0.3。
[0116]
三、异常值剔除:
[0117]
本实施例所取历史数据中的训练数据中,无标注异常值。
[0118]
四、动态阈值计算:
[0119]
首先设置prophet算法的周期项、趋势项、误差项、节假日项及相关超参数后,通过本实施例的训练集对prophet算法进行训练;然后将需要预测的时间序列的长度输入训练好的预测模型,得到本实施例未来的时间序列走势;最后计算各个时刻的同比标准差,并计算对应的动态阈值上下限。
[0120]
设置prophet参数daily_seasonality=true,添加国家节假日并设置country_name=cn,设置超参数level=6,窗口w=20。表3为本实施例未来的时间序列走势的部分数据,数据包含未来时间及预测值两列,分别为ds和yhat。
[0121]
dsyhatdsyhat2023/02/17 14:00:005.634863e+82023/02/17 14:07:005.672047e+82023/02/17 14:01:005.639700e+82023/02/17 14:08:005.677979e+82023/02/17 14:02:005.644698e+82023/02/17 14:09:005.684061e+82023/02/17 14:03:005.649855e+82023/02/17 14:10:005.690291e+82023/02/17 14:04:005.655170e+82023/02/17 14:11:005.696668e+82023/02/17 14:05:005.660642e+82023/02/17 14:12:005.703191e+82023/02/17 14:06:005.666268e+82023/02/17 14:13:005.709857e+8
[0122]
表3
[0123]
prophet拟合出基线数据后,则需要计算同比标准差,以计算本实施例2023/02/17 14:00:00时刻的动态阈值上下限为例,详细步骤如下:
[0124]
步骤s21、取2023/02/17 14:00:00时刻前后20分钟窗口内的数据构成集合s:
[0125]
s={02/13 13:40:00,
…
,02/13 14:20:00,
…
,02/16 13:40:00,
…
,02/16 14:20:00}
[0126]
步骤s22、计算同比标准差:
[0127]
std
2023/02/17 14:00:00
=std(s)=5617389
[0128]
步骤s23、计算动态阈值上下限:
[0129]
up
2023/02/17 14:00:00
=yhat
2023/02/17 14:00:00
+6*std
2023/02/17 14:00:00
=5.297819e+8
[0130]
down
2023/02/17 14:00:00
=yhat
2023/02/17 14:00:00-6*std
2023/02/17 14:00:00
=5.971906e+8
[0131]
至此,本实施例2023/02/17 14:00:00时刻的动态阈值上下限计算结束,针对构建的未来时间序列分别计算后得到所有数据的动态阈值上下限。表4为部分动态阈值上下限数据,数据包含未来时间、动态阈值下限及动态阈值上限三列,分别为ds、down和up。
[0132]
dsdownupdsdownup2023/02/17 14:00:005.297819e+85.971906e+82023/02/17 14:07:005.328766e+85.967566e+82023/02/17 14:01:005.684621e+85.949220e+82023/02/17 14:08:005.333546e+85.998406e+82023/02/17 14:02:005.321179e+85.939430e+82023/02/17 14:09:005.358395e+86.031363e+82023/02/17 14:03:005.324479e+85.978856e+82023/02/17 14:10:005.347331e+86.021030e+82023/02/17 14:04:005.304291e+85.941620e+82023/02/17 14:11:005.358141e+86.006196e+82023/02/17 14:05:005.295254e+85.955975e+82023/02/17 14:12:005.353527e+85.997448e+82023/02/17 14:06:005.329497e+85.966595e+82023/02/17 14:13:005.373671e+85.998382e+8
[0133]
表4
[0134]
根据计算出的动态阈值上下限就可以对本实施例的测试集进行实时检测,检测结果如图4所示。图4是根据一示例性实施例示出的实施例指标及相关特征曲线图,参见图4,其中,train是实施例指标的历史训练数据;dynamic_up是计算得到的实施例指标动态阈值上限;dynamic_down是计算得到的实施例指标动态阈值下限;test是实施例指标的真实测试数据,当实施例出现异常时,数据趋势会与历史趋势不符,超过其动态阈值上限。
[0135]
从图4中可以看出,计算出的上下限很好的学习到历史数据的相关特征。当测试集中的部分数据在发生故障后,数据走向也出现异常,超出计算出的上限,导致产生告警.
[0136]
五、数据输出:
[0137]
将计算得到的动态阈值上下限数据回写到prometheus,便于运维指标的监控告警。
[0138]
实施例二
[0139]
图5是根据一示例性实施例示出的一种运维监控领域的动态阈值计算装置的示意框图,参见图5,提供一种运维监控领域的动态阈值计算装置,包括:
[0140]
数据获取模块101,用于获取目标监控指标的历史数据;
[0141]
数据预处理模块102,用于对所述历史数据进行预处理,得到第一标准数据;
[0142]
异常值剔除模块103,用于对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;
[0143]
动态阈值计算模块104,用于根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;根据所述基线值和所述同比标准差计算上限阈值和下限阈值。
[0144]
可以理解的是,本实施例提供的技术方案,通过数据获取模块101获取目标监控指标的历史数据;通过数据预处理模块102对所述历史数据进行预处理,得到第一标准数据;通过异常值剔除模块103对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;通过动态阈值计算模块104根据所述
第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;根据所述基线值和所述同比标准差计算上限阈值和下限阈值。可以理解的是,本实施例能够根据指标的历史数据计算得到基线值和同比标准差,进而计算得出上限阈值和下限阈值,无需专家设定静态阈值,且能够根据监测数据历史数据的变化而自适应调整,维护成本降低。
[0145]
需要说明的是,所述的装置,还包括:
[0146]
阈值输出模块,用于根据目标监控指标的数据源对所述上限阈值和所述下限阈值进行对应的格式转换;将格式转换之后的所述上限阈值和所述下限阈值写入至对应的数据源。
[0147]
实施例三
[0148]
提供一种运维监控领域的动态阈值计算设备,包括:
[0149]
主控器,及与所述主控器相连的存储器;
[0150]
所述存储器,其中存储有程序指令;
[0151]
所述主控器用于执行存储器中存储的程序指令,执行上述任一项所述的方法。
[0152]
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
[0153]
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
[0154]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0155]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0156]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0157]
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0158]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0159]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示
例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0160]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:
1.一种运维监控领域的动态阈值计算方法,其特征在于,包括:获取目标监控指标的历史数据;对所述历史数据进行预处理,得到第一标准数据;对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;根据所述基线值和所述同比标准差计算上限阈值和下限阈值。2.根据权利要求1所述的方法,其特征在于,所述对所述历史数据进行预处理,包括:若所述历史数据存在数据缺失,则采用均值填充、中值填充、前值填充或后值填充的方式进行缺失值填充;若所述历史数据存在时间戳及数据均缺失,则采用线性插值方法进行填充;若所述历史数据存在超过预设阈值的毛刺、噪音,则采用指数平滑算法对所述历史数据进行平滑降噪。3.根据权利要求2所述的方法,其特征在于,所述采用指数平滑算法对所述历史数据进行平滑降噪,包括:计算公式如下:其中,x(t)表示t时刻指标的实际观测值;s(t)表示t时刻指标的平滑值,s(t-1)表示t-1时刻指标的平滑值;α表示对历史观测值的权重系数,α的取值范围为0<α<1。4.根据权利要求1所述的方法,其特征在于,所述根据所述第二标准数据进行基线预测得到基线值,包括:利用时间序列预测算法进行基线预测得到基线值,计算公式如下:p=g(t)+s(t)+h(t)+ε(t)其中,p表示进行基线预测得到基线值;所述第二标准数据中的g(t)表示数据中的非周期项,s(t)表示数据中的周期项,h(t)表示数据中的节假日项,ε(t)为误差项,表示随机波动。5.根据权利要求1所述的方法,其特征在于,所述根据所述第二标准数据计算每个单位时间的同比标准差,包括:选取每个单位时间预设期限内的历史同期数据预设窗口内的数据构成每个单位时间的数据集合;根据每个单位时间的所述数据集合,计算每个单位时间的同比标准差。6.根据权利要求1所述的方法,其特征在于,所述根据所述基线值和所述同比标准差计算动态上限阈值和下限阈值,包括:利用如下计算公式计算上限阈值和下限阈值:up
i
=forecast
i
+level*std
i
down
i
=forecast
i-level*std
i
其中,up
i
为i时刻的上限阈值;down
i
为i时刻的下限阈值;forecast
i
为i时刻的基线值;
level为正常波动范围计算等级;std
i
为i时刻的同比标准差。7.根据权利要求1~6任一项所述的方法,其特征在于,还包括:根据目标监控指标的数据源对所述上限阈值和所述下限阈值进行对应的格式转换;将格式转换之后的所述上限阈值和所述下限阈值写入至对应的数据源。8.一种运维监控领域的动态阈值计算装置,其特征在于,包括:数据获取模块,用于获取目标监控指标的历史数据;数据预处理模块,用于对所述历史数据进行预处理,得到第一标准数据;异常值剔除模块,用于对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;动态阈值计算模块,用于根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;根据所述基线值和所述同比标准差计算上限阈值和下限阈值。9.根据权利要求8所述的装置,其特征在于,还包括:阈值输出模块,用于根据目标监控指标的数据源对所述上限阈值和所述下限阈值进行对应的格式转换;将格式转换之后的所述上限阈值和所述下限阈值写入至对应的数据源。10.一种运维监控领域的动态阈值计算设备,其特征在于,包括:主控器,及与所述主控器相连的存储器;所述存储器,其中存储有程序指令;所述主控器用于执行存储器中存储的程序指令,执行如权利要求1~7任一项所述的方法。
技术总结
本发明涉及互联网运维监控领域,具体涉及一种运维监控领域的动态阈值计算方法、装置及设备,该方法包括获取目标监控指标的历史数据;对所述历史数据进行预处理,得到第一标准数据;对所述第一标准数据中人为标注的异常数据进行数据剔除,并计算同比均值对剔除数据进行替换得到第二标准数据;根据所述第二标准数据进行基线预测得到基线值并计算每个单位时间的同比标准差;根据所述基线值和所述同比标准差计算上限阈值和下限阈值。可以理解的是,本发明能够根据指标的历史数据计算得到基线值和同比标准差,进而计算得出上限阈值和下限阈值,无需专家设定静态阈值,且能够根据监测数据历史数据的变化而自适应调整,维护成本降低。低。低。
技术研发人员:陈园
受保护的技术使用者:上海中通吉网络技术有限公司
技术研发日:2023.04.19
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/