分布式系统正在在IT组织中广泛采用。这些系统中的监视故障,包括松散的耦合应用程序,很麻烦,需要手动关注。本研究重点是在运行Kafka的沙箱中实现异常检测,以自动检测故障。用于训练和测试模型,“混乱工程”用于将受控故障注入系统。由于沙盒当前不在负载下,因此创建了负载模拟器以模拟五种不同的方案:恒定负载,线性增加负载,线性减小负载,正弦负载和现实生活中的场景负载。该研究还研究了从5、10到未来30分钟的各种预测范围上预测指标的能力。预测模型显示出不同的性能结果,具体取决于沙箱上的当前负载和预测度量,因为一些指标显示出较高的波动性,从而导致预测性能较差。总体而言,增加预测范围会导致预测较差,但在合理的利润率之内。该研究得出的结论是,CPU使用度量对于现实生活中的模拟以及所有模型的正弦载荷表现最佳。对于线性增加,消费者组滞后的指标对于所有型号都是最好的。该度量在线性减少载荷期间也对LSTM表现最好。但是,KNN最好的指标是网络错误增加和内存使用量。隔离森林的最佳指标是主题偏移。在整体模型性能方面,KNN是现实生活模拟和线性增加负载的最佳选择。对于持续的模拟,Kafka延迟是LSTM和KNN的最佳指标,而网络错误最适合隔离林。隔离森林最适合正弦,线性减少和恒定模拟。该研究还得出结论,与常规负载模拟相比,沙盒中的混乱工程能够注入足够的误差,以使模型对负载的反应不同。本研究中引入的新方法提供了一种方法,用于使用混乱工程在测试环境中建立机器学习模型,而无需生产数据或现实生活中的使用。
主要关键词