以下文稿由 AI 整理,仅供参考。
基于机器学习的指标异常检测:从数据到实战
实验数据:SMD 公开数据集
在指标异常检测实验中,我们需要用到运维监控数据。本次实验采用的是真实数据,来源于互联网平台的公开数据集——Server Machine Dataset(简称 SMD)。我们将数据放在 AI OPS 目录下,先来了解一下这份数据的结构。
SMD 数据集采集自一套服务器集群环境,共包含 28 台服务器。每台服务器都有一个机器 ID(如 1-1、1-2……1-8、2-1 等)。数据目录分为四个部分:
- 训练集目录:存放每台机器的训练数据文件(文本文件,以逗号分隔,即 CSV 格式)。
- 测试集目录:存放测试数据文件。
- 测试集标签目录:标注测试数据中哪些记录是异常。
- 异常解释说明目录:说明异常发生的时间段及涉及的维度。
数据维度
每台服务器的监控数据包含 38 个维度,分为六大类:
- CPU 相关指标(4 个):CPU 就绪队列长度(等待 CPU 资源的进程数)、用户态 CPU 使用率、系统态 CPU 使用率、空闲 CPU 时间百分比。
- 内存相关指标(7 个):共享内存使用量、用户空间内存使用量、用户空间内存使用峰值、系统总内存容量、空闲内存量、缓冲区内存使用量、页缓存内存使用量。
- 磁盘 I/O 相关指标(8 个):磁盘读取速率、读取字节数、磁盘服务时间、磁盘利用率百分比、CPU 等待磁盘 I/O 的时间百分比、磁盘写入字节数、写入速率、磁盘设备繁忙时间百分比。
- 系统交换空间指标(2 个):换入(磁盘到内存)、换出(内存到磁盘)。
- 网络接口指标(多个):第一块网卡的入 / 出帧数、入 / 出字节数、错误包数量、丢包数量;第二块网卡的类似指标。
- TCP 连接指标(6 个):处于特定状态的连接数、活动 TCP 连接数、主动发起的连接数、被动接受的连接数、流入 / 流出 TCP 连接数。