运维驿站大数据运维及安全系统运维专家

读书笔记|运维人如何做好趋势预测?

2021-02-02  本文已影响0人  小术晓术

因为工作需要不停充电,前阵子买了《应用智能运维实践》这本书,读过之后受益匪浅,书里详细介绍了应用智能域运维系统建设涉及的技术、工具、流程、方法,分析了关键智能化应用运维技术、相关开源软件工具的能力和真是行业用户建设案例。这里做个总结记录,算是写给我自己的阅读笔记,也给大家做个分享~

对于互联网公司来说,系统复杂化导致的人工运维成本激增已经是普遍现象,通过趋势预测、根源问题分析等智能化手段简化人工运维问题是行之有效的应对策略。

如果应用系统包含上千个无状态的计算集群节点,所有节点都在运行同样的代码,分担相同规模的计算负载,从这些集群中选出异常节点并不容易,那么该怎么做呢?

1,怎么从海量数据中找到异常节点

为了解决上千节点运行期的海量监控数据筛选问题,可以首先利用算法识别节点反馈的监控指标正常运行的状态数据模式,然后过滤集群中监控指标状态数据模式类似的节点,将其识别为正常,剩下的就是疑似异常节点。

这样系统可以自动找出异常节点,不需要通知任何人干预处理。为了排查故障原因,自动处理过程和异常节点的状态数据会被保存并通知相关工程师。通过应用异常检测算法,计算集群中异常节点定位、故障排查和恢复的人工工作量大幅度降低了,服务质量也会有显著提升。

2,如何确定某一时间内数据是否异常

分析指定时间范围内应用指标数据是否存在异常最简单的统计学方法是计算指标的平均值和标准差。通过这种方法,我们能很快发现持续采集的监控数据中指标波动异常的时间范围。

当关键产品服务发生异常时,在凌晨或其他任何时间生成告警短信或电话以通知责任人都是有必要的。但是,当产生的告警并没有明确指出异常原因,或者根本就是错误告警时,就没有必要推送了。

从理论上说,好的告警需要有较高的信噪比,能指示关键KPI指标上实时产生的异常数据点,并能与明确有所指的告警信息匹配,引导责任人快速定位、修正问题。

假如要监控某应用未授权用户尝试非法登录系统的行为,采集的指标数据的概率分布为高斯分布,则越靠近高斯分布钟形曲线边缘的取值,为异常数据的可能性越高。在运维数据分析场景下,这种方法最常用的场景是利用一段时间的监控数据,计算概率分布,并通过标准差设置告警阈值,然后计算实时采集的数据偏离平均值的程度来判断是否触发告警。

例如,若监控的未授权登录量指标符合高斯分布,则可以设置告警策略为筛选未授权登录量比平均值3倍标准差大的时间。

3,总结

对于统计学方法,要围绕实际场景,本着计算简单、结果有效的原则进行选择。因为我们面对的是几万甚至百万级别的指标,过于复杂的统计学方法会给监控系统带来巨大的负担,影响产生结果的时效性,我们也不可能对每个甚至每类指标都定义统计学方法。

上一篇下一篇

猜你喜欢

热点阅读