云时代如何实现企业IT智能诊断?|对话阿里云MVP蒋烁淼(下)

阿里云MVP、驻云科技CEO蒋烁淼4月11日做客《MVP时间》,为大家分析在云时代对于企业IT智能诊断的实践与探索。本篇为下期,上期文档直戳

4、 云时代企业IT智能诊断

传统情况下,客户通过监控的方式来发现系统问题、解决问题。

在云计算的大背景下,传统监控慢慢力不从心。表现在:

 监控对象范围有限:比较适合本地硬件与服务监控,不太适合对云原生环境的支持。
 监控告警具有滞后性:往往是系统发生严重故障的时候,维护或管理人员才收到相应的警告。而此时可能服务器已经宕机,只能*宕机才能解决问题、恢复业务。
随着云时代的到来,智能诊断则是针对传统监控的一场革命,表现在:
 诊断范围对象扩大:不仅可以诊断传统IT环境,同时可以诊断多种云环境;不仅可以诊断底层系统,还可以诊断中间件、应用业务层。
 诊断领域扩大:突破传统监控限制,不仅可以监控,还可以从安全、费用、架构、架构和性能的优化的角度给予诊断。
 诊断的预见性:在云计算或IT系统故障之前有效改变你自己系统中的一些问题,从而避免实际出现故障等等因素。
 解决问题的建议:不仅可以指出问题,同时给出解决方法的建议。

5、 云计算时代IT智能诊断

CloudCare是驻云科技旗下的一站式云计算IT服务品牌。之前的CloudCare更像一个智能工单系统,就是通过员工或者专家去帮助客户解决IT在使用云过程中的问题。

久而久之我们发现一个问题,就是很多客户对云的理解和认知各不相同。我们都知道:对于一个问题的理解不同,很难正确的进行描述。很多用户对于云的产品或者是某些特性不了解,他也无法描述清楚他今天需要什么或者如何解决他遇到什么问题。在这种情况下,实际上我们很难帮助客户真正解决问题。

我们认为在云计算时代,发现问题是提升IT管理一个最重要手段。
因此现在的CloudCare新推出一个最大的功能就是帮客户做检测和诊断,也就是说你不知道发生了什么问题,就像360一样,我来帮你发现问题,而不是说需要你自己有能力发现和准确描述问题。
通过将多年的云服务经验数字化,结合基于人工智能的诊断平台,CloudCare针对企业的IT资源进行检测与诊断,从云平台、云主机、到集群,为用户提供监控、安全、费用、优化等多方位的提醒、告警及实施方案,帮助用户大幅缩短IT的平均诊断时间,提升IT系统管理效率。
Cloudcare有什么作用和特点呢?
1) 已经支持大部分的主流云平台

2) 超过1000项检测项,并且还在不断更新:把我们的工程师从2013年到今天所有对于云的认知不断的算法化,变成检测项,帮助我们的用户去诊断检测他的云上IT系统中各种各样的问题和麻烦。所以检测项的数量,未来是一个没有上限的概念。
云时代如何实现企业IT智能诊断?|对话阿里云MVP蒋烁淼(下)

3) 支持百万级探测点:允许客户将他的云中的大量大量数据可供检测的数据收集上来,所以在这种情况下本身无论有多少用户还是客户有多少云资产,有多少主机,有多少数据库都没有关系,从我们角度来说你有多少我们就能帮你诊断多少。

Cloudcare的核心价值:

1) 发现问题、解决问题:不仅是故障,还会从性能、安全、费用都会帮助客户发现问题,而不仅仅是纯粹的故障问题。比如预先发现ECS证书到期并进行提醒,看起来是件小事,而实际上即便是Google、阿里历史上也犯过类似的错误。
2) 大量的诊断和知识库内容:我们从2013年开始成为云计算的使用者并赋能给其他云计算的企业,积累了大量的客户、经验和文档。我们除了把知识和经验转换成算法写到了平台上,并将我们内部积累并经过实践验证的文档全部公开,所有用户都可以查阅。
3) 实时的诊断:传统方式是发现问题,然后解决问题。就像去医院,总是不舒服了才去看病。但是最好的情况是什么呢?即使你身边没有大碍,也要去做定期体检,这样就可以动态追踪你身体的变化,不要到了非常严重的情况才去处理。而我们的诊断几乎是平均一个多小时就可以帮客户做一次全面的云上的IT的体检,基于OpenAPI收集这些IT关键性的数据点,实时反馈数据,实时将客户的问题暴露出来。
4) 通过移动终端助力被动IT管理:如果用户需要通过电脑查看的话,实际上也没解决问题,因为需要用户主动去打开查看。CloudCare除了web端,还提供了Android、iOS端,支持用户通过移动方式被动的获得IT诊断信息,避免主动管理的心理和负担。比如之前泛微的OA需要主动打开电脑查看信息,未来它的实时诊断信息可以通过我们的移动终端反馈。
5) 支持团队协作:围绕一个问题汇聚成的一条条信息我们称之为情报,相当于自动帮你建了一个群组,大家就可以围绕这些问题进行讨论,并且这些讨论都会记录在日历里面,而且是以日历维度保存的,就有点像钉钉,但又不像钉钉。因为钉钉群是不会因为问题解决而消灭,而Cloudcare当一个问题被解决以后,它所有上下文都会固定在具体时间表里。大家通过这种协同的方式去解决问题。
6) 广泛的数据源接入:兼容了各家云厂商的API,帮助各家云厂商用户去做诊断分析,同时也对云厂商以外的数据源进行接入,统一诊断。比如中间件和应用软件的诊断分析,助力IT团队保障系统使用。
云时代如何实现企业IT智能诊断?|对话阿里云MVP蒋烁淼(下)

6、 基于诊断互联网的技术架构
云时代如何实现企业IT智能诊断?|对话阿里云MVP蒋烁淼(下)

整个平台,我们称之为诊断互联网(Internet of Diagnosis,IoD),是一个完全标准的数据处理平台。
为什么叫诊断互联网呢?我们是受IoT启发,IoT是所有的东西都连接到互联网上,而我们今天可以将世界上所有能够产生数据的对象连接到我们诊断平台进行诊断。
诊断的对象首当其冲的是云,我们可以从云平台中通过openAPI将大量的数据导入到我们云网关。之后所有各个平台或者数据源收集的数据进入我们自己研发的流式处理平台。这里涉及两件事情:
1、通过流式处理和诊断算法,生成各式各样的结论,回流到流式平台,并且会做一份快照,展现给APP端,或者移动端、PC端等等。
2、另一方面,也可以将这些数据,和其他业务系统集成,比方说可把你的业务报表,和分析的结果数据,展示成数字大屏。
上面提到的数据快照有什么作用呢?它相当于我们保存下来的事故现场。比方说系统4月10日出现了什么问题,ECS宕掉了、或者中木马了,就会抓下ECS当时的数据,比如CPU多高,内存占用多高,有多少进程。这样事后可以还原事故现场。而传统的报警是无法还原的。功能上我们称之为情报日历。
系统整体是SaaS形态,对客户来说简单易用。
对于云的数据,可以通过RAM系统去生成一个只读账号,分析只读账号下云的资产,当然如果有的东西不想让我们分析,可以设置相应的RAM Policy,进行相应处理。
而对于其他对象的数据处理和诊断分析,可以通过Forehought,另一个平台,实现对于其他对象的数据收集,进行整体的诊断和业务支撑。
整个系统在云端,是24小时、一刻不停的为云和IT进行诊断和分析的平台,对本地来说是一个非常轻量级的状态,整个系统是非常高可用的、非常安全的,部署很简单。

7、 智能诊断体系
云时代如何实现企业IT智能诊断?|对话阿里云MVP蒋烁淼(下)

从诊断角度分为以下层次:
1)汇聚层:
 我们要诊断对象的元数据:比方说以云资源、主机,操作系统的关键信息:进程、进程占用的内存数据等等。
 状态数据:时间维度的数据,比如CPU的变化率、内存、磁盘的变化率等。
 事件数据:日志数据,事件、消息数据。
2)分析层:汇聚接入平台的数据,通过自研的分析层进行存储、处理,做算法模型,并做关联分析。
3)诊断层:根据分析层所得出的结论,对目标对象进行各种维度的检测,比如应用、中间件、操作系统等,云作为基础设施的安全、费用、架构等。前面讲的检查项是分布在各种各样的对象中的。
4)展现层:展现给客户问题及建议,并且会智能的压缩相似的问题,自动的归并一个问题的多个状态。
同时还会进行预测,告诉你可能会发生什么问题;
并进行优化建议,提供这个问题的建议解决方法。比如说存储空间不足,告诉你怎么删除历史文件,比如说按量付费服务器开的太多或时间太久,会告诉你怎么操作来换成包年包月以节省费用。这也是相对于传统告警的优势。
从安全性的角度说,我们需要一个只读key,不会向用户环境、云平台、配置信息中写一个字节的数据。也就意味着并不介入用户系统的恢复、远程运维的概念,所以优化建议更多是以我们的文本、经验方式展现给客户,而不直接帮助客户恢复系统、进行操作。
5)用户层:通过App、Web或者短信、邮件的方式,告知用户层,并且可以将你公司所有参与云平台的人员协同起来。

8、 智能诊断系统架构
云时代如何实现企业IT智能诊断?|对话阿里云MVP蒋烁淼(下)

先见(Forethought)数据平台是驻云基于开源监控平台 Prometheus 开发的,针对集群环境,部署在用户的本地用于收集系统和应用相关数据指标的监控服务平台,同时先见数据平台会在用户允许的范围内将部分数据指标上报到诊断系统进行分析诊断并产生相关情报。
CNCF毕业的四个项目里面,第二个就是Prometheus,它是一个时序数据库,K8S的监控就是用的Prometheus。
Forethought是Prometheus的一个发行版,我们在Prometheus上做了大量的修改和增强,使它的数据和采集适应于我们的诊断,可以对其他IT系统、软件、中间件进行诊断。
比如我们将普罗米修斯的缓存层Trickster打包,同时集成了Grafna,实现了增强型普罗米修斯的UI。
此外还有一个组件叫做Forethought Agent,可以把需要诊断的数据送到Cloudcare的云环境中进行分析诊断。
同时Forethought在Prometheus基础上增强了服务发现,增强了exporter,使得其在支持时序数据库的基础上也支持了对于与时间无关的配置数据的获取。
如果你已经是一个Prometheus用户,可以联邦模式,将原有Prometheus的部分数据送到Forethought来,由其再将部分可支持诊断的数据送到我们的云端来进行诊断。
另外Forethought也提供了非常强大的集成能力,将各式各样其他监控,比如 Zabbix 的告警接入到我们的云端,把各种各样其他的告警,包括日志的告警,甚至各种各样的安全报告,也可以通过这种Alert的数据结构通知到云端。
最后云端形成了配置型数据,也就是KV数据、时序数据、日志数据这三种数据。通过*的情报引擎,去读取这些数据,做预处理,并生成我们要计算的数据集,并通过智能分析引擎,将这些从各处,无论是云,还是Forethought、容器、中间件或者主机拿到的数据,或者报警数据,通过综合的分析,生成我们在用户前端所能看到的情报。这就是整体的工作流程。
在这个过程中要强调的是:
1)我们在多维数据收集以后,进行处理的平台是无限可扩展的平台,也就是说,无论用户侧收集的数据有多少,我们作为诊断服务的提供商,会根据用户的情况不断的去增加、减少服务器,来保证对客户数据的有效分析和处理。
2)不断更新智能分析引擎中的算法,来给客户提供更多、更高维度、更有效的问题发现能力和诊断能力。
3)所有关键数据,都会用脱敏的方式,因为我们只需要知道分析诊断问题,并不需要知道数据背后的业务,因此可以把数据脱敏后提交。
4)对于Forethought 来说,export可以收集的数据,并不只限于IT数据。IoT的数据、门店库存、交易量等等数据,都可以收集起来,既可以做业务型的集成展示,同时也可以实现业务诊断,这是另一个话题。
以上就是我们智能诊断的整体技术架构。

9、 混合IT环境下的数据采集
云时代如何实现企业IT智能诊断?|对话阿里云MVP蒋烁淼(下)

在混合IT架构下的数据采集,如果客户能够脱敏将他的库存、订单、交易量数据同步到云端,把打印机、办公电脑、门禁的数据也脱敏后同步到云端,或者脑电波收集每个人的集中度、放松度,等等类似场景同步,其实我们可以监控一切、诊断一切。
只要能够有效的数据采集上来,我们都能进行有效的分析、诊断。这是我们这个平台为什么叫做IoD的核心原因。

此外,关于Prometheus的增强还包括:
 提供完整的Prometheus的集成打包方案(Prometheus+Grafana+trickster)
 安全认证增加
 提供更多的增强的Exporter(更多对象,安全增强,更多指标)
 提供Exporter快速生成器
 与「王教授」在线诊断结合
 提供整体的解决方案,如果客户没有能力部署整套的平台,我们可以帮助他实现整套服务的搭建和部署。

希望我们这套云时代企业IT智能诊断的产品和解决方案能够帮助到大家更轻松的应对云时代的IT管理,Make IT Easy!

更多内容:
【三位阿里云MVP(驻云CEO、首席架构师、大数据总监)《MVP时间》首次同台授课,“湖畔第一大脑” 蒋烁淼领头线上精讲,内容涉及企业IT架构、混合云存储、大数据方案等实战内容,从技术实战到解决方案,难题痛点一次解透。听课链接直戳:
第一节:云时代企业IT智能诊断实践与探索
第二节:企业IT架构云化转型挑战与应对
第三节:混合云场景下存储实践精讲
第四节:云管理服务技术要点和实践精讲
第五节:混合云大数据实践精讲

上一篇:学汉语、来云栖、海外布道阿里云……这位印度架构师不一般


下一篇:典型技术架构的分析和构建——《企业大数据实践路线》之四