AIOps实现思路思考

in 互联网技术 with 0 comment  访问: 2,694 次

我们将现有环境中的监控称之为眼,例如:APM、Zabbix、Flume、Tivoli、HMC、NPM、Netbase等,通过眼获得了众多运维数据,包括:业务监控数据、中间件监控数据、数据库监控数据、IAAS监控数据、PAAS监控数据、系统监控数据、硬件监控数据、存储监控数据、网络监控数据、众多日志数据、变更数据等。

同时,我们将现有环境中的自动化工具称之为手,例如:IAAS、PAAS、Ansible、SaltStack等,通过手执行自动化操作,包括:申请资源、部署应用、执行变更、处理故障等。现有环境中,眼和手都有比较成熟的解决方案,但眼和手之间存在鸿沟,无法自动联动,AIOps正好可以充当桥梁,解决此问题。我们将AIOps称之为脑,接受眼的输入,做推理决策,让手去自动化执行。

AIOps的实现思路大体可以分为四步:接入运维数据、建立知识图谱、编排智能算法、自动化执行。
Aiops.jpeg

接入运维数据。

将分散的运维数据集中起来,清洗入库(时序数据库、检索数据库等),包括:业务监控KPI(交易数、成功率、失败率、响应率、响应时间)、基础监控KPI(应用、数据库、中间件、操作系统、服务器、存储、网络等)、基础日志(应用、数据库、中间件、操作系统、服务器、存储、网络等)、告警信息、ITSM变更信息。

建立知识图谱

接入CMDB和经验知识库数据:建立东西向的应用拓扑关系,即应用与应用间关系、服务与服务间关系;建立南北向的资源依赖关系,即服务依赖哪些机器;建立交易链;建立监控KPI与应用、服务、资源的关系。借助这些关系,分析故障传播链,进行根源分析。

编排智能算法

分为两个阶段:

自动化执行

自动化执行是确定性动作,一般企业有比较成熟的自动化方案,系统内的操作一般用自动化工具(例如Ansible\SaltStack),系统外操作一般用云平台(例如IAAS\PAAS)。

智能在于推理决策,推理决策是从不确定性向确定性无限逼近的过程,这个过程中需要不断地加入信息,100%的信息产生100%的确定性,进行确定性推理决策,信息由数据和模型共同决定,往往数据不是完全的(可能维度不够,也可能数量不够),往往模型也不是最优的,这就决定了没有100%信息,没有100%确定性,因此是概率推理。

概率推理决定了不敢轻易用于自主决策,而是用于辅助决策,因为决策错误,可能会带来运维灾难,直接影响业务。做好AIOps的前提,是做好基础架构治理和数据治理,使得接入的数据是完全的,同时要不断地进行算法模型优化,使得算法模型是充分优化的,从而使得信息趋于100%,确定性趋于100%。不必100%确定性,只要超过人的决策能力,就可以用AIOps进行自主决策。

WeZan