编辑: 旋风 2017-12-26

1 所示. 因此我们 可以把异常数据定义成使数据集的主方向偏离到一定 程度的监测数据. 每次收集到新的监测数据以后, 计算新的监测数 据集的主方向与原有监测数据集主方向之间的角度偏 差, 然后利用余弦相似度来衡量当前样本的异常程度. 方法的输入包括: Xi=(x1, x2,…, xp): 收集到的监测数据, p 是度量的 个数;

n: 样本的个数;

A: 已有监测数据集, np 矩阵;

d: 已有监测数据集的分布方向;

r: 数据复制比例. 图1离群点对数据主方向的影响 具体步骤如下: ① 放大离群点影响: 将当前监测数据复制 nr 份, 加入 A, 得到 An;

② 零均值化: 计算 An 的平均值 avg=(u1,u2,…,up),

2016 年第25卷第10 期http://www.c-s-a.org.cn 计算机系统应用System Construction 系统建设

105 对An 进行零均值处理;

③ 计算 An 的协方差矩阵:

1 1

1 ( )( ) n n n T A i j i j i x x ? ? ? ? ? ? ? ? ? ? ? ? ;

④ 获得数据集分布方向: 计算∑A 的特征向量, 作为当前数据集分布方向 dt. 方法的输出: 当前监测数据 Xi=(x1, x2,…, xp)的异 常程度为: d d d d s t t t , ~ 1? ? . 4.3 基于异常程度调整监测周期 图2监测周期调整示意图 监测周期调整原理如图

2 所示, 用户首先在配置 文件中设定监测周期的上限、下限, 异常避免的监测 周期阈值以及异常容忍度. 如果新收集到的样本的异 常程度小于用户设定的异常容忍度, 就将监测周期翻 倍;

当监测周期达到异常避免的监测周期阈值, 就进 入密集监测阶段, 每次将监测周期增加一个时间单位, 而不是原来的翻倍;

无论何时检测到异常程度超过异 常容忍度或者当前监测周期达到监测周期上限, 立即 将监测周期调整为用户设定的监测周期下限, 并且将 异常避免的监测周期阈值调整为当前监测周期的一 半. 调整算法描述如下: 算法

1 基于异常程度的监测周期调整算法 Input: current detection period I0, maximum detection period Imax, minimium detection period Imin, maximum detection period anomaly avoidance Imid, user-defined maxmium intensity of anomaly amax, current intensity of anomaly ai Output: adjusted detection period Ir Pseudocode: set Ir = I0 if ai <

amax or Ir <

Imax then: if Ir <

Imax then: set Ir = Ir + Ir else: set Ir = Ir +

1 else: set Ir = Imin set Imid = Ir/2 end if

5 系统设计与实现 监测系统面向中科院软件所研发的具有自主知识 产权的 OnceCloud 容器虚拟化支撑平台进行设计与实 现, 监测系统架构如图

3 所示, 包含以下模块: 图3系统架构图 监测 Agent: 通过监测数据收集器, 监测 Agent 实 现了监测数据的收集;

监测 Agent 会跟监测 Server 进 行通信, 建立一个数据传输的通道, 收集到的监测数 据会通过这个通道进行传输;

监测 Agent 中的监测周 期调谐器会接收位于监测 Server 中的监测周期调谐器 发送的监测周期调整指令, 根据指令调整监测周期. 容器自发现引擎: 通过脚本发现物理机上的所有 容器的 UUID 信息, 这些信息发送给监测的 GUI 进行 监测注册. 监测对象匹配模块: 为不同中间件匹配不同........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题