解决方案体系结构:带机器学习的异常检测

现代 IT 部门使用的服务会产生大量遥测数据,用于跟踪运营状况、系统性能、使用情况见解、业务指标、警报等方方面面。但通常监视和收集所有这些数据的见解并不是完全自动进行的,因而容易出错,难以在任何特定时间有效且准确地确定系统的运行状况。

这种可定制异常检测解决方案使用机器学习来确保 IT 系统的高可用性,并提供端到端的管道,从本地和云数据源引入数据,并将异常事件报告给下游监视和票证系统。

借助此解决方案,可根据 IT 基础结构(CPU,内存等)、服务(超时,SLA 变体,限电等)的基础运行状况指标和其他关键性能指标(订单积压、登录和付款失败等)快速检测并修复问题。

部署到 Azure

使用下列预建模板将此体系结构部署到 Azure

部署到 Azure

在 GitHub 上浏览

Machine Learning(Anomaly Detection) Service Bus topics(Publish/subscribe capabilities) Visual Studio Application Insights(Monitoring and telemetry) Event Hub(Event queue) Table Storage(Big Data store) Stream Analytics(Realtime analytics) Metadata Save ML output Score each dataset Publish anomalies detected Power BI Azure SQL DB(Anomaly detection results) Data Factory Time series data

实施指南

产品 文档

事件中心

这是管道的入口点,从此处引入原始时序数据。

流分析

流分析每 5 分钟执行一次聚合,并按指标名称聚合原始数据点。

存储

Azure 存储通过流分析作业存储聚合的数据。

数据工厂

数据工厂定时(默认为每隔 15 分钟)对 Azure 存储中的数据调用异常检测 API。它将结果存储在 SQL 数据库中。

SQL 数据库

SQL 数据库存储异常检测 API 的结果,包括二进制检测和检测分数。它还存储与原始数据点一起发送的可选元数据,从而允许进行更复杂的报告。

Machine Learning Studio

这将托管异常检测 API。请注意,API 本身是无状态的,且每次调用 API 时都需发送历史数据点。

服务总线

检测到的异常发布到服务总线主题,供外部监视服务使用。

Application Insights

Application Insights 用于监视管道。

Power BI

Power BI 提供显示原始数据的仪表板,及检测到的异常。

Related solution architectures