基于事件和知识图谱技术的智能运维实践 高科 (1)

Razor

2019/10/19 发布于 技术 分类

文字内容
1. 基于事件和知识图谱技术的 智能运维实践 高科 睿象云 CEO
3. 自我介绍 • 睿象云联合创始人兼 CEO • 毕业于国防科技大学计算机系,先后就职于东方通科技、IBM、OneAPM,在基础软件领域拥 有多年的咨询服务和管理经验 • 近十年来,致力于IT运维管理领域的创新和实践,作为国内 APM 的开拓者积极推动应用性能管 理技术在企业级运维管理工作中的落地 • 随着人工智能技术与IT运维管理的不断融合,带领睿象云团队创造性以事件管理为突破口,将自 然语言处理和知识图谱技术运用到运维管理日常实践中,推出国内首个中文运维知识图谱 COKG (Chinese Operation Knowledge Graph),为 AIOps 拓展了新的边界
4. • AIOps 面临的挑战 目录 • 指标?还是事件? 算法?还是数据? • 以事件为切入点 • 用好知识图谱 • 打造基于事件和知识图谱的智能运维平台
5. 当今企业IT环境给运维管理带来了更大的挑战 告警风暴 80% 更多的工具 建转运 定位困难 基础设施云化 50% IT架构重构 -庞大的IT架构意味着 大量的告警和事件,无 法聚焦和分析需要关注 的事件 运行环境容器化 业务系统微服务化 运维难度 更复杂的 规范和流程 提升4-5倍 -在分布式环境下,当 发生致命问题,难以准 确定位根因节点和相关 事件 知识分散 更多的人员 -缺乏将故障手册、厂 商文档、告警处理意见 等知识进行沉淀和检索 的手段
6. AIOps 是企业实现精细化高效运营的基石 Gartner 认为, AIOps平台综合了大数据、机器学习和可视化技术,通过可扩展的提取和分析IT不断增 长的数据量、种类和速度来更深入的洞察和增强IT运营 。 AIOps 对于企业运营的核心价值 • 降低噪音(如误报或冗余事件); • 提供更好的因果关系,这有助于确 定事故的可能原因; • 捕获超出静态阈值的异常,以主动 检测异常情况; • 推断未来事件以防止潜在的故障; • 启动解决问题的操作(直接或通过 集成)。
7. AIOps的建设路线 AIOps 分级 名称 定义 操作执行 状态理解 /模式识 别 L0 人工运维 完全由运维人员进行IT系统日常运维管理操作。 人 人 人 人 无 L1 辅助运维 系统取代运维人员部分运维操作,实现基于规则 的告警、配置变更、容量变化、故障分析。 人和系统 人 人 人 部分场景 L2 部分智能运维 系统通过智能算法完成部分场景下的状态理解和 模式识别,并交由运维人员进行后续处理。 系统 人和系统 人 人 部分场景 条件智能运维 系统能自动完成状态理解和模式识别工作,并完 成大部分的运维操作,但运维人员还需在进行决 策时随时待命介入。 系统 系统 人和系统 人 部分场景 高度智能运维 在限定运维场景下,系统完成全部的运维管理操 作,运维人员几乎不用参与。 系统 系统 系统 人和系统 部分场景 完全智能运维 在所有运维场景下,系统完成全部的运维管理操 作,运维人员不用参与其中。 系统 系统 系统 系统 所有场景 L3 L4 L5 行动规 划 主动学 习 应用场 景
8. 基于 Gartner AIOps 技术栈衍生出来的 AIOps 技术派 别 • 算法派: 可视化 以自主算法研发为核心,提供针对运维场景下时 • 多维度,个性化,角色化,场景化展示 机器学习 序指标、文本日志、系统调用链信息、第三方告警、配置文 件等数据处理的算法集,降低用户使用开源算法自行尝试的 • 算法自我修改演进,新算法创建 时间和能力成本。 • 指标派:以传统运维监控工具指标数据采集和加工为基 算法 • 智能化选择,异常检测,异常定位,根因分析 础,结合指标类人工智能算法实现异常检测、关联分析、趋 势预测等能力,重点解决告警阈值设置、容量预测等运维场 分析 景问题。 • 数据建模,模式识别,趋势识别,故障隔离 计算 • 日志派:以日志采集和处理技术为基础,结合文本处理类 人工智能算法对海量日志数据的再加工和分析,降低运维团 • 数据清洗,去重,过滤,关联,生成新数据 大数据 队日志阅读量,解决异常检测、日志聚类、时序预测、根因 分析等运维场景问题。 • 集中统一管理,历史数据存储,实时数据存储 • 事件派:以复杂事件处理和知识图谱技术为基础,从事件 出发解读海量的 IT 运行数据。运用自然语言处理技术,提供 数据源 事件发现、事件分析、事件分类、事件聚类等能力,结合基 • 全量,海量,多样性,复杂性 IT 数据 于运维知识图谱的解决方案推荐和根因分析能力,形成智能 指标 日志 文本 流量 API 社交媒 体情绪 运维闭环。
9. 何谓事件? 事件,是对事物状态变化或不变状态的描述信息。 ⽇志数据 (Log/Event) 告警(Alert) KPI 指标 ⼯单数据 ⽹络数据包 SNMP Trap 数据库特定字 段的数据 系统输出 (STDOUT) 动环数据 API 输出 消息队列 复杂事件处理 事件数据
10. 基于事件和知识 生产场景层 基础应用层 核心算法和 数据层 谱的核心算法和典型应用场景 事件分类 事件聚类 事件降噪 异常事件发现 新奇事件发现 事件模式转换路径 事件根因定位 因果推断 应用智能调参 运维知识问答 知识卡片 知识地图 业务影响分析 知识检索 运维知识图谱 聚类 发现 预测 自然语言处理 定位 检索 辅助 双向预训练表征 行业运维知识 知识图谱
11. 自然语言处理在事件管理中的应用 • 文本聚类 样本数据准备 • 模式发现 • 新奇事件发现 • 异常事件发现 注意力机制 模式识别 • 告警根因分析
12. 自然语言处理——几种常用的算法 基于距离文本相似度聚类 适合小数据量场景 算法执行效率低 缺少确定的相似度标准 需要人工进行相似度参数调整 基于Hash的相似度聚类 适合大数据量场景 算法执行效率高 需要人工进行参数调整 聚类效果存在不确定性,Hash位的调整 对聚类结果影响较高 基于注意力机制的文本聚类 无需人工参与 没有不确定性 需要积累样本语料数据 算法执行效率高
13. 自然语言处理——通过文本外观进行聚类 通过文本间的外观进行文本的聚类 • 有 100条 事件 • 聚类成 30条 • 压缩率 70% • 但是 漏掉一条! VS • 有 100条 事件 • 聚类成 50条 • 压缩率 50% • 但是 一条没漏! √
14. 自然语言处理——通过文本外观进行聚类 为什么表面文本相似度聚类的方法不行? 因为告警文本并不是线性可分的。 content A = 'zabbix sender is busy' content B = 'zabbix process is busy' 这组事件相似吗? content A = 'BJa_VGC-RTM-FBU-QA-DB-MongoDB-Node2Availability_ping:100'>ping:100%' content B = 'BJa_VGC-Aud-QA-Env10-CoreApp002Availability_ping:100'>ping:100%' 这组呢? 表面文本相似度聚类算法结果: Editbased Compressionbased Tokenbased Sequencebased Phonetic =========================== ========================= ==================== ====================== ================== Hamming:0.36363636363636365 ArithNCD:‐0.0632911392405 Jaccard:0.72 LCSSeq:0.727272727272 MRA:1.0 Mlipns:0.0 RLENCD:0.0 Sorensen:0.83720930232 LCSStr:0.363636363635 Editex:0.772727272727 Levenshtein:0.7272727272727273 BWTRLENCD:0.0869565217391 Tversky:0.72 RatcliffObershelp:0.74418604 DamerauLevenshtein:0.7272727273 SqrtNCD:0.4823249039319015 Overlap:0.8571428571428 JaroWinkler:0.8084415584415584 EntropyNCD:0.9672831249478 Cosine:0.837435789358623 StrCmp95:0.8962049062049062 BZ2NCD:0.7674418604651163 MongeElkan:0.0411255411 NeedlemanWunsch:0.71428571428 LZMANCD:0.7575757575757576 Bag:0.8181818181818181 Gotoh:0.7142857142857143 ZLIBNCD:0.6071428571428572 SmithWaterman:0.714285714285
15. 自然语言处理——通过文本外观进行聚类 我们是怎么做的? l 模仿人类 l 从 l 的阅读习惯,引入注意力机制 14个G的原始数据 2亿条 里预训练出来的模型 线上告警数据作为实验集验证
16. 自然语言处理——场景一:模式发现 在文本聚类之后,我们可以进一步进行模式发现,聚焦某个模式,快速了解这一类数据 想要表达的内容,大大降低阅读量。 使用场景 l 日志分析 l 告警模式发现
17. 自然语言处理——场景一:模式发现 在文本聚类之后,我们可以进一步进行模式发现,聚焦某个模式,快速了解这一类数据 想要表达的内容,大大降低阅读量。 使用场景 l 日志分析 l 告警模式发现
18. 自然语言处理——场景一:模式发现 文本聚类后,根据事件出现的先后计算出事件模式关系图,快速了解事件的来龙去脉。 使用场景 l 日志分析 l 告警模式发现
19. 自然语言处理——场景一:模式发现 基于模式发现的延展功能 l 告警风暴抑制 • 通过统一模板,给某类告警配置告警压缩或者告警宽限期。 l 新奇事件发现 • 近一个周期都没有出现,但是现在突然出现了的事件是需要我们关注的。 l 异常事件发现 • 出现频率和上个周期不一样:例如Connect Refuse的错误日志,发版前出现的次数为10,而发版后 出现的次数为100。 • 出现模式和以往不一致:从历史的事件上下文中进行学习,然后推断A的下一行是否为B,假如不是, 则为异常事件。 l 事件根因分析 • 通过匹配模式的上下文,对模式进行二次训练,生成马尔可夫链进行事件根因分析。
20. 自然语言处理——场景二:事件智能分类 为什么需要事件智能分类?
21. 自然语言处理——场景二:事件智能分类 我们是怎么做的? 2亿 线上数据,经过文本聚类和模式发现之后,事件 数量被压缩至 23W,对这批数据进行标记、训练, 形成模型库。
22. 自然语言处理——场景二:事件智能分类 原文 JZ-A-SW-02 Interface Ethernet1/0/7: Operational status:down (2) 人工标注 Zabbix server CPU iowait time:89.94% Free disk space is less than 20% on volume /ldisk Zabbix agent is unreachable time:5 分词算法 数 据 准 备 分词,标注 网络状态 interface ethernet operational status down 使 用 反 馈 停用词字典 硬件处理器 zabbix server cpu iowait time 网络状态 zabbix agent unreachable time 特色词字典 告警分类模型 特征选择 网络状态 10% interface 50% ethernet 10% operational 10% status 20% down 分类算法 硬件处理器 10% zabbix 15% server 40% cpu 30% iowait 5% time 网络状态 10% zabbix 40% agent 40% unreachable 10% time 参数调整 模型训练 磁盘
23. 自然语言处理——场景二:事件智能分类 基于文本聚类的事件智能分类结果展示:
24. 自然语言处理——场景三:异常模式识别 4G 网络连接正常断开场景: 4G 网络连接异常断开场景: 1.8点31分用户从家里出发上班,断开wifi,连接4G网络。 1.8点31分用户从家里出发上班,断开wifi,连接4G网络,运营商计费。 2.8点31分到9点29分一直使用4G网络,运营商计费。 2.8点39分用户因某些原因断开4G网络。 3.9点29分用户断开4G网络,连接wifi。 3.8点40分用户重新连接4G网络,运营商计费。 3.9点29分用户断开4G网络,连接wifi。 2019-07-20 08:31:00 INFO 011472001975695 Network starts to connect. 2019-07-20 08:31:00 INFO 011472001975695 Network starts to connect. 2019-07-20 08:32:01 INFO 011472001975695 Start to bill, amount=1, balance=122. 2019-07-20 08:32:01 INFO 011472001975695 Start to bill, amount=1, balance=122. 2019-07-20 08:36:32 INFO 011472001975695 Start to bill, amount=2, balance=121. 2019-07-20 08:39:12 INFO 011472001975695 Network disconnected, billing stopped. 2019-07-20 08:52:01 INFO 011472001975695 Start to bill, amount=3, balance=120. 2019-07-20 08:40:01 INFO 011472001975695 Network starts to connect. 2019-07-20 09:10:05 INFO 011472001975695 Start to bill, amount=4, balance=119. 2019-07-20 09:10:05 INFO 011472001975695 Start to bill, amount=2, balance=121. 2019-07-20 09:29:40 INFO 011472001975695 Network disconnected, billing stopped. 2019-07-20 09:18:05 INFO 011472001975695 Start to bill, amount=3, balance=120. 2019-07-20 09:29:40 INFO 011472001975695 Network disconnected, billing stopped. 问题:网络异常断开的日志模式非常多,人工无法总结出所有异常断开的情况,因此很难通 过编写规则去识别异常。
25. 自然语言处理——场景三:异常模式识别 自然语言处理算法可以将样本集转换为机器可处理的向量,通过深度学习自动识别异常模 式的特征,大大减少人工筛查异常事件模式的时间。
26. 仅仅有处理事件还不够,打造智能运维体系闭环 1.事件分析阶段:事件首先会经过复杂事件处理服务,将非事件的数据转换为描述性强的事件,再送进平台。智能事件分析中心会对到达的事件进行 算法自动降噪,发现异常和新奇的事件,同时平台会根据事件的上下文和相关性计算对应的事件根因模型。 2.事件反馈阶段:根据事件根因模型,在事前和事中,平台会对可能会引起故障的隐患事件进行告警,并推荐事件的解决方案;事后分析故障发生的 原因时,平台会将根因定位与知识图谱相结合,用户可以很方便的查看事件的影响范围和相应的解决方案。
27. 知识 谱与知识库 • 知识库/知识图谱 知识录入 • 业务影响度分析 • IT配置建议 • 告警等级建议 知识构建 知识问答 • 运维问答/智能工单
28. 中文运维知识 谱 COKG 知识图谱: • 知识图谱是人工智能技术的重要组成部分,旨在帮助运维人员 COKG 运维知识图谱模型: • 描述企业 IT 系统中各种实体或概念及其关系,从而构成一张 巨大的语义网络。 • 知识图谱是智能问答、知识推理、决策分析的技术基础。 十月份联合中山大学数据科学与计算机学院陈鹏飞教授团队,发布全球首个面向运 维领域的中文知识图谱 COKG(Chinese Operation Knowledge Graph)。 • 首批发布图谱包含:30 多万个实体,400 万个实体关系,并成功运用在广东移动 智能运维平台中。
29. 知识 谱与知识库 Q :运维知识图谱的最终形态应该是什么? A :通过汇聚通用领域的知识和企业内部的知 识,采用问答的方式完成知识图谱功能的使用。 通用领域的知识 厂商手册、厂商知识库、博客、Stack Overflow等公开来源。需要使用到自然语言的 命名实体识别、实体关系分析的一系列的手段 进行知识的提取和整理。 企业内部知识 企业内部的工单、故障报告、监控数据、配置 信息、端口调用信息、业务承载信息等。
30. 知识 谱与知识库——业务影响度分析 Q:10.128.2.11 宕机后,会影响到哪些业务系统? A:10.128.2.11 宕机后,会对承载在其上的 dv、mysqld 造成影响,而 Davinci 服务调用了 mysqld,进而影响了 10.128.2.10 上的 Davinci 服务。 数据来源:监控系统、端口调用信息、 CMDB • 主机的业务承载关系 • 业务之间的调用关系
31. 知识 谱与知识库——IT配置建议 Q :哪些应用的ElasticSearch配置不合理? 数据来源:监控系统、官方手册、CMDB • 业务之间的调用关系 • 业务的承载关系 • 业务的配置信息 • 官方建议的配置信息
32. 知识 谱与知识库——告警等级建议 Q :业务A的告警等级建议如何配置? 数据来源:数据来源:监控系统、官方手册、 CMDB • 业务之间的调用关系 • 业务的告警等级 • 业务的调用关系
33. 知识 谱与知识库——知识问答/智能工单 QA的核心问题是 :给定用户的自然语言查询问句,希望系统从知识库里面找到一个语言片段,这个语言片段 能够正确回答用户提出的问题,最好是能够直接把答案返回给用户。 数据来源 :工单系统、故障报告、F AQ 、公开资料
34. 基于事件和知识 谱的 AIOps 平台技术架构 智能事件平台 Cloud Event 技术架构 1. 数据传输层 多种类型的事件可以按规定的格式通过 Restful API、Syslog、消息队列等发送到 智能事件平台 Cloud Event 平台进行统一的分析和展示。 2. 事件处理层 事件分析引擎、根因定位引擎、知识图谱模块、知识库模块、语义编码引擎。 3. 算法模型层 经过事件处理层的统计,加上人工标注事件模式样本,产品可以训练出拥有自学习能力的模型。算 法模型层作为平台的核心层,起着承上启下的作用,支撑着平台所有的计算和应用功能。 4. 数据存储层 数据存储分为三类,第一类为事件类型的数据;第二类为图谱数据;第三类为知识数 据。结合算法模型,为上游应用提供服务。 5. 数据展现层 用户通过 HTML5、PC 浏览器等方式实现人机交互,让用户能通过点击和下钻灵活 分析事件,运用智能的手段解决运维难题。
35. 智能事件平台落地场景 Zabbix CMDB 运维知识问答手册 场景一:异常事件分析+推荐解决方案 事件 智能事件 管理平台 知识 场景二:事件影响度分析 场景三:事件根因分析
36. 智能事件管理——场景一:异常事件分析+推荐解决方 案 异常事件分析流程 1. 运维分析8月1日之前的30天的重启事件,发现“* 刚被重启”这种事件模式增长了81%,由于没有关系 图,所以均是独立事件。运维继续下钻分析哪些应用 和主机发生过这种事件。 2. 经过分析,重启事件均在7月26日激增,通过分布 图得知大部分是敏感操作中心SOC的应用主机。 3. 通过运维知识库智能推荐主机重启的解决方案, 让运维人员快速获取专家知识。并且推荐了另外两个 告警解决方案以供运维人员参考。 1 2 3
37. 智能事件管理——场景二:事件影响度分析 事件影响度分析流程 1. 运维调查3⽉1⽇之后的30天的数据备份任务事件,到底对哪些 主机和业务系统造成影响。点击事件信息的“关系”按钮跳转到知识 场景。 2. 跳转到业务影响范围分析的知识场景后,可以通过关系图得出 10.252.xx.156的数据备份定时任务被更改可能会影响到IT运维平台 和⼆级代理机。⽽10.251.xx.92访问了10.252.xx.156,所以也可能 会影响到这台机器关联的软件和系统。 1 2
38. 智能事件管理——场景三:事件根因分析 事件根因分析流程 1. 运维在6月9日收到一条“远程桌面端口状态DOWN” 事件,需要排查可能导致这个告警的原因,从而恢复远程 桌面的可用性。点击事件模式的关系图,查看事件的上下 游关系。 2. 展开了“远程桌面端口状态DOWN”的事件模式关系 图,可以看到“Event Log服务异常”和“Citrix Health * and Recovery服务异常”的告警事件会100%引起 “远程桌面端口状态DOWN”。接下来运维人员就可以 去查看对应主机的Event Log,并修复Citrix服务以恢复 远程桌面端口DOWN的问题。 1 2
39. 未来智能运维平台的新架构
40. 睿象云主站: 咨询热线: 睿象云更多精彩,请关注公众号 WWW.AIOPS.COM 400-080-9810
41. 自我介绍