美文网首页
监控异常分析系统

监控异常分析系统

作者: 拿着滋水枪的消防员 | 来源:发表于2018-12-25 13:27 被阅读0次

前言


对于DEVOPS或者AIOPS来说,对于监控指标的异常检测,大部分公司还处于阈值触发告警,而没办法提前通过指标的突变进行报警,此篇文章针对几款热门的开源devops异常检测项目进行深入的代码级别的学习分析,从而积累足够的知识点去设计自己的将监控异常指标检测模块。

开源软件


# Metis

- 腾讯开源的异常分析组件

- 地址: https://github.com/Tencent/Metis

- 代码结构为经典mvc service dao controller的分层结构,不在做详解因为非核心代码。

* 训练模型service路径 app/service/time_series_detector/detect_service.py

首先介绍一下数据集data_c,data_b,data_a, 代表的含义如下图的一周前、一天前、当天:

   process_train方法里定义起一个线程通过__generate_model方法进行训练,__generate_model里定义使用time_series_detector/algorithm/xgboosting.py模块里的xgb_train方法进行训练,在time_series_detector/model路径下生成task_id+'_model'的文件以及task_id+'_features'文件,__calculate_features方法进行features的预处理, 首先标准化normalized时间序列数据,标准化的方法为为当天的data_a的平均值,如果平均值大于1,则所有数据除以平均值,否则返回实际值:

标准化时序数据后,然后就是比较核心的features提取了,具体提取的内容在time_series_detector/feature/下,分别提取statistical features ,fitting_feature,classification_feature,最后使用__save_libsvm_format持久化feature到本地。

在time_series_detector/algorithm/xgboosting.py里的xgb_train方法里经过了刚才的一些列过程使用xgboost模块先训练feature然后训练model代码如下:

预测部分算法如下,分为量值以及率指(百分比)的预测。

- statisc算法

在系统里定义是判断时序数据的(最后一个值 - 时序数据的平均值) > 偏差系数 * 时序数据的标准差abs(X[-1] - np.mean(X[:-1])) >self.index * np.std(X[:-1])

- polynomial+Ridge算法

多项式回归加上岭回归的算法,先计算时间序列平均值,如果大于1则标准化将时序数据除以平均值,然后预测是否大于阈值

- ewma算法

系统里的实现说真的我没看懂,但是指数加权移动平均值算法的做法就是算变指数变化的时候每一项都一个加权系数在里面,主要作用是使得一些近期的数据的影响力大一些。

- IsolationForest算法

关于孤立树的详细文章请看https://www.jianshu.com/p/1b020e2605e2

简单理解的话,就是去随机从一组数据里抽样然后算max,min然后随机冲max到min之间选一个值,然后根据这个值为根将数据分叉成树,然后通过一个计算节点到根距离的函数,算法优点是比较容易发现一组数据的异常孤立的噪点,对于时序数据的话只能说是一个观察点。

量值 经历一下四种算法的预测,详细代码均在time_series_detecotor下。

polynomial+Ridge、ewma、statistic、iforest四种算法里但凡有一种预测算法是超过偏差阈值,将使用xgb再次进行预测,如果四中算法预测都正常,则返回正常。

率值 预测。

只进行statistic的预测

# prophet

- 一个facebook开源的long  term anomaly detector,这只是一个库并不是完全的解决方案,如果你的监控是用的prometheus那么你很幸运可以看一下Redhat上面的给出的与prophet结合的解决方案https://events.linuxfoundation.org/wp-content/uploads/2017/12/AIOps-Anomaly-Detection-with-Prometheus-Marcel-Hild-Red-Hat.pdf

相关文章

  • 监控异常分析系统

    前言 对于DEVOPS或者AIOPS来说,对于监控指标的异常检测,大部分公司还处于阈值触发告警,而没办法提前通过指...

  • 前端异常监控平台搭建

    一、资料收集 前端异常监控系统的落地前端异常监控解决方案研究从初级到高级前端---异常监控系统的搭建从无到有<前端...

  • 前端异常监控解决方案研究(转)

    前端监控包括行为监控、异常监控、性能监控等,本文主要讨论异常监控。对于前端而言,和后端处于同一个监控系统中,前端有...

  • 【前端】异常监控解决方案研究

    前端监控包括行为监控、异常监控、性能监控等,本文主要讨论异常监控。对于前端而言,和后端处于同一个监控系统中,前端有...

  • 用户行为监控之webfunny

    webfunny是一款轻量级前端异常监控和前端性能监控系统,致力于线上项目的实时分析。PV、UV数据的变化趋势,线...

  • CAT实时监控系统日志存储设计

    CAT实时监控系统,是面向应用的监控系统,提供了应用性能、日志等监控,包括java的异常堆栈的监控。github地...

  • (4)分布式系统关键技术:全栈监控

    一、监控系统需要完成的功能为: 全栈监控; 关联分析; 跨系统调用的串联; 实时报警和自动处置; 系统性能分析。 ...

  • 描述常见监控系统及SNMP协议

    一、监控系统 1、监控系统概念 监控系统应用在监控硬件、软件和业务上,并及时获取相应的数据并分析保存数据,发送报警...

  • 第三方支付公司风控主要工作内容

    1、风险监控:主要负责风险的事前监控,各个公司都有监控交易的系统及交易拦截的规则,如果系统检测到有异常的交易或者触...

  • 4.虚拟机性能监控与故障处理工具

    虚拟机性能监控与故障处理工具 定位系统问题可以分析的文件有:运行日志、异常堆栈、GC日志、线程快照(threadd...

网友评论

      本文标题:监控异常分析系统

      本文链接:https://www.haomeiwen.com/subject/ysrkbftx.html