监控在我们的日常生活和生产随处可见,交通、银行、超市、商场、学校、工厂等等,在刑侦、勘探、科研、安保等各种领域,发挥了越来越大的作用,已经成为人们不可或缺的安全屏障和有力工具。
监控对于计算机网络同样有着巨大的意义和价值,从服务器性能到应用服务状态,从硬件资源到网络流量,为业务应用、系统运维等提供准确的运行状态信息,及时发现、暴露问题。
OSS作为智能分布式云存储系统,对外提供海量、安全和高可靠的存储服务,使得用户无需关心系统资源和服务器运维问题,将更多的精力专注于业务和应用层级等上层建设。随着业务量日渐庞大,用户对OSS系统服务质量的要求在日益提高。既然如此,除了提供基本的存储服务之外,我们还能为依赖我们的用户做点什么,能让他们实时地了解自己购买的服务状态以及业务的使用情况,并且能够及时的发现问题、诊断问题和解决问题呢?所谓“运筹帷幄之中,决胜千里之外”,我们不仅仅自己需要做到这一点,更要帮助用户达到这一点!
所以,为了帮助用户更好的使用OSS,直观地显示资源使用、服务质量等信息,让用户能够对系统、业务状况作出及时应对、保证业务健康运行,监控报警服务迫在眉睫!!
用户关心什么?
用户使用云服务,或者更通俗的说,用户花钱买服务,关注的本质信息只有两个:费用和服务质量。
比如,用户业务突然故障,如何让其很快地定位是业务使用问题还是OSS系统故障?再比如,有什么直观的方式能够让用户评估OSS系统的性能情况,是否满业务在峰值时的实时性需求?再比如,如何让用户对自己的消费行为有准确的预估,方便做出财务成本预算?
如何满足用户痛点,如何能够使用户最为关心的信息以最低的成本,简明扼要的展现在用户面前,是我们第一优先级要解决的问题。
云存储监控服务现状
目前OSS监控提供了3类的监控指标数据:
- 用户计量数据指标:
- 存储空间
- 使用流量:使用流量:公网流出、公网流入,内网流出、内网流入,CDN流出、CDN流入,跨域复制流出、跨域复制流入
- 计量请求数:PUT类请求数、GET类请求数
- 用户服务质量指标:
- 内部错误数
- 用户业务统计指标: (相关指标详细说明请见OSS官网控制台)
- object热点统计
- 地域统计
- ISP统计
- IP统计
- Referer统计
- 搜索引擎统计
- 鉴权相关统计
其中,用户计量数据指标反映用户bucket层面的资源使用状况和计量信息;用户服务质量指标反映OSS系统稳定性以及用户的使用状态;而用户业务统计指标则是根据用户业务状态提供一些业务层面的统计数据。
用户计量数据指标和用户服务质量指标是以1小时的时间粒度展示,而用户业务统计指标以天为统计粒度展示。
这些统计指标虽能够在一定层面上给用户提供信息,但是在实时性、报警通知机制、性能信息需求、业务实时状态等方面还是欠缺的,没有一套完整的监控metric机制和服务体系。
所以,我们一直在努力改变!
解决方案
- 明确监控对象信息,设计完整的监控metric是设计监控报警系统的基础核心
从前面分析用户痛点获悉,需要被监控的对象是服务质量和消费情况。服务质量主要反映在用户请求行为和系统性能表现中,而用户的消费情况可以使用系统的计量信息集中体现。所以,可以按照基础信息、性能信息和计量信息对我们的监控信息进行分类。
基础信息
基础信息主要包含了用户请求数、用户流量、服务器错误和客户端错误。目的是让用户能快速判断服务的负载和健康程度。
- 用户请求数:该指标信息体现了系统的负载情况。
- 用户流量:流量体现了用户请求占用的网络资源情况,同样反映了系统负载。
- 服务器错误:OSS内部系统错误,反映系统的稳定性和服务能力。
- 客户端错误:由用户错误使用造成的错误。
请求错误需要区分系统错误和用户错误。虽然用户错误和OSS服务无关,但是影响了用户的业务,也需要呈现给用户。当用户发现错误请求数不符合预期时,肯定希望能够进一步调查错误原因,此时如果将错误的请求按照一定的状态或者错误码进行分类统计,并且给出对应的操作行为,就能够为用户定位、排查问题起到关键作用。因此我们可以依据常见的HTTP状态码和OSS的错误码对错误请求进行归类,并且统计。
性能信息
请求延时是衡量系统性能的重要指标。所以实时的延时信息监控和毛刺状态对用户评估业务需求和服务性能至关重要。而且请求延时包含网络延时和服务器延时两大部分,通过监控E2E(端到端)延时和服务器延时,能够快速帮助用户定位性能问题。
计量信息
费用是用户关注的重要信息。而OSS计费方式的均按照阶梯形式进行,按自然月累计,所以计量的当月消费信息展现肯定是以月为粒度统计相关的计量数据。我们会为用户呈现实时和本月已消费这两种计量信息,帮助用户实时监控消费状况和预估消费趋势。
OSS的计量信息分为3类:存储大小、互联网下行流量和有效请求数。因为计量账单以小时为单位输出,所以,计量信息的实时展现也以小时为粒度。
其他监控信息
当然,因为用户使用服务的业务模式不同,对服务接口的调用方式也不同。每个用户都有自己关心的更细粒度上的API请求情况以及性能情况,所以我们也可以从更细粒度上监控相关信息,如,根据API分类统计请求数和性能情况。
结合以上的监控信息,再通过更细粒度的收集API层面的监控信息,能为用户提供更有针对性的业务监控依据。
- 利用专业的监控报警服务平台——阿里云监控服务,集成其成熟稳定的设计架构、全面完善的服务机制
目前,云监控是阿里云对外提供的、能针对资源和互联网应用提供监控服务的产品,同时具有对部分云产品的监控功能。所以,OSS监控报警服务纳入到云监控体系中,能让用户更好地构建业务驱动的、跨多个阿里云服务的监控报警体系。
高实时性
监控报警的及时性取决于数据采集、分析和存储的频率。更高的频率意味着更多的资源投入与技术难度。为了满足客户的实时性需求,我们采用分钟级别的聚合粒度反映业务指标,保障服务质量!
报警服务
除了让用户能够直观的查看监控信息,还应该为用户提供及时的通知机制,这就少不了报警服务,报警和监控休戚相关。
对报警的要求简言之:准确、及时。
如何做到准确?依赖于对业务模型的准确分析和报警规则的灵活设置。对于有明显阈值的业务数据,采用阈值规则;对于有明显周期性的业务数据,采用环比规则。另外,准确不仅仅指能抓住数据特征,更需要过滤无效信息防止骚扰和误判,因此,连续的满足报警规则的需求也至关重要,能够排除业务数据不稳定导致的误判。
如何做到及时?依赖于报警数据采样的实时性和通知机制的多样性。我们实时监控系统的延时和聚合都能在分钟级别,保证在故障突发时能通知用户及时采取相关错误。另外,根据不同的优先级设置不同的通知机制,如按照优先级可以分为短信、旺旺和邮件,尽量使得紧急事件能第一事件被通知到负责人。
OpenAPI监控数据访问
提供阿里云OpenAPI,让用户能够通过SDK查询监控数据,基于自身业务逻辑进行监控、报警或者其他更精确的业务数据分析。
结束语
OSS监控服务即将上线,敬请期待!
有任何需求或者建议,请联系我,很高兴能和大家进行需求交流和技术探讨!
------------------------------------------------------分隔符-----------------------------------------------------------
诚聘英才
阿里云函数服务是一个全新的,支持事件驱动编程模式的计算服务。 他帮助用户聚焦自身业务逻辑,以Serverless的方式构建应用,快速的实现低成本,可扩展,高可用的系统,而无需考虑服务器等底层基础设施的管理。 用户能够快速的创建原型,同样的架构能随业务规模平滑伸缩。让计算变得更高效,更经济,更弹性,更可靠。无论小型创业公司,还是大型企业,都受益其中。
我们的团队正在迅速扩张,求贤若渴。我们想寻找这样的队友:
- 基本功扎实。既能阅读论文追踪业界趋势,又能快速编码解决实际问题。
- 严谨的,系统化的思维能力。既能整体考虑业务机会,系统架构,运维成本等诸多因素,又能掌控设计/开发/测试/发布的完整流程,预判并控制风险。
- 好奇心和使命感驱动。乐于探索未知领域,不仅是梦想家,也是践行者。
- 坚韧、乐观、自信。能在压力和困难中看到机会,让工作充满乐趣!
如果您对云计算充满热情,想要构建一个有影响力计算平台和生态体系,请加入我们,和我们一起实现梦想!
详见:http://www.atatech.org/articles/53851
将你的简历发送到shuting.yst@alibaba-inc.com,标题 应聘阿里云-姓名
如果你有自己的git地址或者个人博客,将会大大加分哦,一起在邮件中发给我吧~~~