云平台的任务监控
2017-05-26 本文已影响0人
w黄杨w
云计算分层为大数据带来清晰的处理架构,诸如DaaS让与数据相关的任何服务都能够发生在一个集中化的位置,各分层可能通过发布平台化产品来让相应人员在其上开发,以优化效能与资源。
云平台如何运维
以DaaS层开发为例,不同应用的数据开发人员要在统一的数据平台上发布自己的任务,通常会考虑日后如何对任务进行运维,涉及到监控的有:
- 任务是否被调度
- 数据吞吐量如何(按天/小时/分钟等)
- 数据处理是否正确、完整、及时
- 当前任务是否存在问题,若有问题,是否能及时通知订阅者
- 若有问题,问题发生在哪里(任务、集群、机器、模块),问题是原因是什么?
数据平台提供者在开发监控服务时,需时刻围绕着上述问题。只有这样,数据开发人员才能在任务运维上承担更多,并对任务风险有足够的掌控力。
如何开发监控
监控数据论
通常,为了回答"问题的是什么",我们需要收集大量数据。很多时候,最终定位原因看似仅用了一点数据,但严谨的分析和论证的过程难免要依赖所有可能的数据
image.png
监控进化论
从结果倒推看,“为什么不能提早发现问题”的分析和改进过程,有助于提炼初问题的范围或特征。通常,问题的范围或特征值越精细,越容易回答“问题是什么”
image.png
监控方法论
根据数据论里的三个问题,开发监控的策略大致分为:
- 针对“有问题吗?”
- 根据用户经验和进化论来提供监控点
- 问题上报的命中率很重要
- 至少花50%时间开发此项将带来更大价值
- 针对“问题在哪里?”
- 对于高度分层和模块的平台而言,这点相对简单,一般花10%时间开发足矣
- 针对“问题是什么?”
- 当“有问题吗”越被改进,这个问题越容易
- 依赖运维人员基于数据的分析能力,并以分析经验提供监控方向
架构选型
待续