运维里的人工智能
J 网易游戏高级开发工程师,负责智能运维的算法和工程开发 运营维护的重要性 说到运维,很多人可能会很陌生,运维是什么,为什么我们需要运维? 21 世纪的今天,我们已经离不开各式各样的游戏,网站和软件。这些服务的背后,是一个又一个的服务器,运行着形形色色的程序。这些服务器只不过是普通的电脑,他们也有普通电脑的烦恼,例如内存泄露,磁盘满了和系统出错等。就算服务器本身没有出问题,服务器里运行的程序,也是会出故障的。 想象一下,你在火车上吃着火锅,唱着歌,突然间游戏的服务器崩溃了,并且长时间都没有恢复,你可能会气得再也不玩这游戏了。现实中服务器总是会出现未知的故障,我们无法完全避免这样的情况,所以运营维护,是提供稳定服务的重要基础。 运维遇到的问题 运营维护中,我们为了检测服务器的故障,会记录下很多的指标来帮助我们识别服务器的异常,例如游戏的在线人数,服务器的 CPU 占用率,内存占用率,磁盘占用率,磁盘写入速度等。这些指标所提供的信息,可以在很大程度上帮助我们识别我们提供的服务是否还在正常状态。但是大量的服务器和指标是无法靠纯人工进行检测的,所以我们借助了电脑程序来进行自动化的异常检测。 异常检测 异常检测可以利用程序检测大量的指标,例如 CPU 暴增,内存暴增,内存占用比例超过了一定的数值等单一指标的规则,来检测服务器是否出现了异常。但是这些检测只能应对简单的情况