写点什么

阿里云监控体系现状概览

  • 2014-10-14
  • 本文字数:2610 字

    阅读完需:约 9 分钟

本文根据 InfoQ 中文站跟阿里云产品技术部产品总监马劲的在 2014 年 10 月初的一次电话交流整理而成,褚霸对本采访内容亦有所贡献。在本次沟通中,马劲对阿里云监控体系的现状进行了简单介绍,涉及到监控的覆盖面、监控粒度、故障识别、OpenAPI 的开放进度等方面。

嘉宾简介

马劲,花名竹蜓,来自阿里云产品技术部,是阿里云四大主题(云服务器,存储和多媒体、数据平台、中间件)的产品总监之一,负责阿里云所有中间件产品管理,目前负责管理的产品有 OCS(缓存)、MQS(消息队列)、ACE(云引擎)、ESS(弹性扩展)、PTS(性能测试)、Open Search(开放搜索)、ONS(开放消息服务)、云监控。竹蜓之前在 IBM 有 13 年工作经历,曾经担任云计算软件全球产品总监、大中华区软件 VIP 客户服务总监、大中华区软件培训负责人、攻城狮、程序猿等多个职位。

背景概述

监控体系是云计算基础架构最重要的组成部分之一。阿里云监控体系有两个视角:运维自己的集群监控体系,由技术保障部主导;以及用户视角的监控产品(如云监控服务),由产品技术部主导。运维的工作着眼于掌握每个服务的可用性、可靠性数据,提升发现问题解决问题的速度;客户的需求则是可以方便的看到自己阿里云资源的状态,包括资源的稳定情况和资源消耗情况等,以及客户基于阿里云的应用的状态,例如应用是否可用,性能如何。

当然,无论是何种角度的监控,底层基础架构是共享的。

过去一年主要完成的相关工作包括:

  • 为阿里云的各个产品逐步建立全链路监控,完成对所有服务各个模块端到端的数据采集(运维视角)
  • 在 2014 年 4 月开始“云监控”产品的公测,目前包含站点监控、ECS 监控以及自定义监控。ECS 的 CPU、内存、IO、存储等资源的状态,现在所有人都可以通过 API 项获取(用户视角)
  • RDS、SLB 在“云监控”上的接入正在实现当中(用户视角)

RDS 的监控

褚霸:RDS 全链路监控现在基本都做完了。RDS 较早做到全链路监控,是因为用户对数据库的 QPS 和 RT 变化非常敏感,倒逼着我们对系统更深入把控。

这就要求我们能够从网络(交换机)、操作系统、LVS、中间层、数据库整个链路能够从用户的视角收集到详尽的数据,通过流计算平台聚合、对比来看到异常,先于用户发现变坏的趋势,在更短的时间内做出响应。

全链路是个麻绳,需要整个链条上的每个部件都暴露出足够多的信息(特别是用户触发的行为动作),透过这个麻绳串起来。比如说 RDS 中间层统计数据在内存中按照树状组织的,基本上所有的内部模块都有详细的运行状态,日志和诊断代码在中间层中占比达到 30%。这些状态都在内存中,抓取统计数据的代价是恒定的,精细到每个用户的链接,再聚合成用户级别,主机级别,集群级别在监控系统界面上关联展现,指标超过 150 个,基本可以做到白盒,对系统的运行了如指掌。

监控粒度

ECS 上的 CPU 争抢情况已经按秒级采集数据,而对于 IO 访问的访问请求监控是更细粒度,统计到每个 IO 访问的响应延时。

监控的目的提供稳定的服务,在出了问题以后能尽快处置,即使做到十毫秒级,如果还是基于事件,问题报警,也是事后诸葛亮。监控希望能做到事前分析与预测,所谓后发先至,避免发生影响服务的事件,这本身是一个 IT 数据的大数据应用的课题,例如我们正在分析 VM 的 CPU 消耗周期变化尽可能把 CPU 密集的 VM 均匀分布到不同的物理机器上,同时正在开发动态热点迁移技术进一步提高用户体验。

做到秒级不是目标,做到主动预测、主动干预化解问题,避免服务对外不可用,才是我们的目标。

故障预测

基于全链路的监控与分析平台,我们对每一次的故障进行 review,将故障原因的相关指征提取出来,形成预警方法。有些故障是由软件更新的 bug 触发,不过 bug 触发的问题如果能够提取为指征,也可以回归到预警系统。另外,通过异常分析也可能找出可能未知的问题,报警让人来分析。

全链路监控与分析平台现在在 RDS 上得到应用已经取得不错的效果,ECS、SLB 和 CDN 等正在应用该平台。

弹性计算服务

阿里云正在做 Elastic Scaling Service 弹性计算服务,原计划 8 月发布,但是觉得还达不到公测的质量水平标准,所以有所延迟,预计近期(10 月)会推出邀请测试。

第三方监控服务

其实公测阶段的云监控产品目前还不太完善。比如 ECS 实例监控,现在还需要客户手动下载安装 Agent,这对于 ECS 服务器数量多的客户是工作量很大的,可以做得更加自动化。

阿里云的云监控会提供更多服务,同时也欢迎第三方能够针对阿里云开发一些高级的监控。目前市场上已经有客户自己安装了第三方监控可以在阿里云上使用,包括商业监控软件和开源监控软件对阿里云资源的监控,也有客户自己订阅了监控 SaaS 服务来监控他们跑在阿里云上的应用,包括一些国外的 SaaS 监控(如 New Relic)。

阿里云的云监控提供 OpenAPI,目前已经在针对小部分可信用户进行内测。内测资格目前只有经过单独审批才能拿到,主要针对企业客户。因为 API 涉及到权限、流量等安全因素,所以这方面会非常谨慎的逐步公开,一方面要借助内测用户的尖锐批评来改进,减少 bug、提升用户体验,另一方面也需要把文档更加完善起来,具体的时间表尚未确定。

总结

阿里云是非常技术的产品,但归根结底是为了让客户用的爽,解决客户的问题。阿里云总裁菲青经常带阿里云的管理者去跟客户沟通,管理者也被鼓励尽量带着一线员工出去了解客户。现在每次阿里云发新的 feature 之前,产品经理都会先把 demo 发到客户群里,这样在上线之前就能收集到部分反馈。今年 9 月初,阿里云管理者大会上搞了“火线 24 小时”的活动,全员自由组了几十个队伍去研究客户工单,在 24 小时内针对工单内容设计解决方案,最后选拔出来的 8 支队伍提供的方案在大会上讲演之后立刻往下迭代,不需要立项、审批、排期。这样的活动还会不定期的搞下去,只要客户有问题,阿里云就有动力持续的努力解决。

做阿里云,技术上固然有很多挑战,但最大的挑战还是对客户的理解。因为业务是很丰富的,比如客户提一个要查看某一个监控项比如缓存命中率的需求,我技术上实现不难,但做出来的东西未必是客户想要的,客户可能查看数据主要的目的是找到应用出了什么问题,具体观察的时间,观察到以后如何处理。唯有真的去客户那里和客户交流,深入了解客户使用的场景,了解客户的痛点,才能做出真正满足客户需求的服务。

工单,论坛都是是很重要的产品改进输入,我们的产品经理和管理者会认真看工单,不断转化为产品改进。恳请大家把您的问题告诉我们,“向客户学习,陪伴客户成长”是我们的理念。

2014-10-14 20:0611556

评论

发布
暂无评论
发现更多内容

架构师训练营第二周框架设计课后练习

Geek_xq

打造Django私有化缓存组件django-api-cache

pygodnet

django django-api-cache django缓存 私有化缓存 接口缓存

线程池的优点及其原理,代码实现线程池。简单、明了。

Linux服务器开发

后端 网络编程 线程池 Linux服务器 web服务器

架构师训练营 1 期 -- 第十一周总结

曾彪彪

极客大学架构师训练营

价值、产业、数据加密,区块链如何助力互联网升级?

CECBC

区块链 互联网

我对业务方提出需求的态度

boshi

随笔杂谈 需求落地

挑战赛 | 话题王者VS互动先锋(第一季)

InfoQ写作社区官方

话题讨论 热门活动

训练营第七周总结

大脸猫

极客大学架构师训练营

即使不会node.js,拖拽就可完成数据的可视化展示

华为云开发者联盟

node.js 数据 可视化

一个真正0基础小白学习前端开发的心路历程

华为云开发者联盟

开发 开发小白 0基础

ONES 收购知名协作工具 Tower

万事ONES

团队协作 高效 研发管理工具 收购 资讯

mysql的这些坑你踩过吗?快来看看怎么优化mysql?

比伯

Java 编程 架构 面试 计算机

想了解任务型对话机器人,我们先从自然语言理解聊起

华为云开发者联盟

人工智能 机器人 自然语言

训练营第七周作业

大脸猫

极客大学架构师训练营

每周学点TARS——服务自定义命令

TARS基金会

c++ DevOps 后端 TARS

看区块链如何打通信息壁垒,盘活万亿级”积分”市场

CECBC

区块链 信息

已拿腾讯后台开发岗offer,简单说下自己的面试经历和学习路线

程序员小灰

c++ 后台开发 架构师 TCP/IP Linux服务器开发

接口测试怎么进行,如何做好接口测试

测试人生路

软件测试 接口测试

讲述我在阿里六面的经历,幸好我掌握了这份“Java并发编程+面试题库”成功拿到20K的offer

比伯

Java 编程 架构 面试 计算机

程序员的故事

Philips

敏捷开发 快速开发 原创小说 企业开发 企业应用

「更高更快更稳」,看阿里巴巴如何修炼容器服务「内外功」

阿里巴巴云原生

容器 运维 云原生 双十一 CloudNative

区块链产业下的“非遗”突围战:商业化和手艺人发掘

CECBC

区块链 非遗

《前端实战总结》之使用CSS3实现酷炫的3D旋转透视

徐小夕

css3 大前端 CSS小技巧

新闻|Babelfish使PostgreSQL直接兼容SQL Server应用程序

PostgreSQLChina

数据库 postgresql 开源

技巧收藏|10个JavaScript常用数组操作方法

华为云开发者联盟

Java 数组 开发

ONES 收购 Tower,五源资本合伙人对话两位创始人

万事ONES

项目管理 团队协作 ONES Tower 收购

性能压测

jorden wang

年轻人想详细了解做了十年Linux跟做了十年Windows的程序员差距有多大吗?听我慢慢道来!

ShenDu_Linux

Linux 程序员 windows

我在阿里巴巴做 Serverless 云研发平台

阿里巴巴云原生

Serverless 容器 开发者 云原生 CloudNative

《迅雷链精品课》第十课:共识算法理论基础

迅雷链

区块链

一周信创舆情观察(11.23~11.29)

统小信uos

阿里云监控体系现状概览_服务革新_sai_InfoQ精选文章