1

1、告警自身质量的人工辅助判定

告警系统的误警和漏警如何计算?在线上运行的告警设置必然是会受到骚扰频次的限制。门限设得过高就可能会漏警。但是如果每天执行一次告警质量的检查算法,然后给出一堆疑似的漏警和误警,然后结合人工辅助可以更快地发现漏警和误警的情况。

2、数据质量的自动判定

数据质量和异常检测是一回事。只是线上运行的异常检测的设置是以最大化的发现故障,最小化骚扰为原则的。所以可能会把一些数据质量的问题给过滤掉。但是做为平台方,应该统计出数据的整体质量,并推动优化。

3、可用性异常检测

  • 利用数据的周期性发现统计意义上的异常,以发现故障。
  • 利用数据在底层天然上的相关性检测出统计意义上的异常,以发现故障。

这两个方向在这里有一些提及:http://radar.oreilly.com/2013/08/anomalies-and-patterns-in-machine-dat...

4、性能降级/瓶颈检测,集群健康预警

可用性检测关注的是玩家是否受到影响。性能降级检测关注的是后台开发前台开发写的代码有没有问题,或者考虑不周全的地方。性能降级/瓶颈不一定导致故障,而且也更难发现。但是对于刚上线的新业务会非常有帮助

5、故障模式匹配

这里有提及:http://radar.oreilly.com/2013/04/the-re-emergence-of-time-series-2.htm...

可以用于展出同类型故障。或者找出同时期受到影响的曲线,也就是故障的并发症状。

6、日志数据的自动分类和异常检测

主要是summologic和prelert两家公司

7、系统状态的自动分类:停机,故障,和正常状态

一般的异常检测只能找到曲线的陡降的点。但是从业务上不仅仅需要知道什么时候陡降的,还需要知道故障影响时长,停机时长。最终要能用算法自动得出整个业务的可用性指标。

8、故障根本原因分析

关联指标(在线图)与事件(发布变更单,网络质量告警等)。人工辅助机器学习。

9、主机分类与部署模式识别

虽然有配置管理系统,但是配置管理系统并不一定就真实反应了生产环境的部署情况。根据主机的指标,比如有的主机每天日志都疯狂增长,但是定时就回落。这些行为模式可以用于更精确的分类产生环境中的不同类型的主机。

集群中不同主机的不同互访角色也可以通过netflow等数据方向推算得出。

10、资源使用优化

主机行为分类可以把主机分为空闲的,cpu型的,磁盘型的等等。可以推动业务进行混合部署,裁撤冗余的机器。

11、运维脚本的模式识别

一些发布系统并没有严格强制的分类。特别是允许运维自定义的脚本更加是很难知道它到底干了一些什么。利用发布变更系统的历史数据与作用到的目标ip的影响,可以从行为倒推出脚本的真实类型。对于不同危险程度的脚本进行不同严格层度的审查。

文本的相似度可以找出copy paste的脚本,推动代码重构,提高脚本的通用性。

12、违规行为的识别

利用运维数据识别运维人员的行为模式,找出违规操作或者外部入侵。

同行:


taowen
4.1k 声望1.4k 粉丝

Go开发者们请加入我们,滴滴出行平台技术部 taowen@didichuxing.com