一朝跌落云端,Yam Finance智能合约漏洞事件分析
前言 针对 API 的管理,非常重要的一点就是做 API 监控。前段时间看了 Nginx 社区发布的一本关于 API 流量管理的书,感觉书中的内容还不错,结合我在实际应用中的经验,今天就来梳理一下 API 的监控的一些方法。 看了原文书感觉国外这些技术人在做事之前还是很有条理的,另外最近在也在读一本社区管理的书,其中他们就把社区研究的层次分为了 3 层:框架(Frameworks),理论(Theories),模型(Models)。下面简单解释一下,感觉这个方法论非常实用,我感觉在很多地方都可以使用。 框架是说大方向,明确各个部分的关系,让大家能在这个框架之下达成共识; 理论是比框架更明确的一个概念,它是在框架之下对每个模块或者子模块的进一步细化,或者是处理具体事情的技术或者原理性的解释以及指导; 模型是更为具体的,解决特定事件的解释和指导。研究人员使用模型来测试基于理论的各种假设,模型可以使用多种工具开发,包括数学、统计技术等。 这是一个做事情的框架体系,大家在思考和处理事情的应该也是有这样一个模式的。 所以今天我在梳理 API 监控方面的内容的时候也想按照这样一个基本思路来。 API 管理的基本框架 在 API 的管理上我是认为有几个方面的:
从 API 的基本开发管理和到高级的功能分层进行管理,从基本可用到安全可控。API 的基本设计也是一个非常复杂的事情,要做好一个 API 的设计也不是那么容易的,这部分我后面也打算写一个系列来介绍一下。今天的重点是是 API 的基本监控。 API 监控级别 API 监控同样也是符合上面的理论,也是有一个理论框架的。对于 API 的监控首先是分级别的,这是为了监控的实施,很多事情分层之后就会很清晰,无论在理解上和该怎么实施上都会很清晰。那看看对于 API 监控是怎么分级的。
基础设施监控 这里我们主要关注的是硬件cpu,磁盘,内存等的可靠性,还有比如操作系统,队列服务等组件的可靠性。上篇文章也介绍过如何快速分析定位系统中的这些问题。这些是服务运行稳定的基础,所以对这些设施的监控是一个通用的做法,这个不是只有在 API 监控中才有的,但是如果要做完整的 API 监控,最后一部分当然是不可缺少的。 服务级别的监控 在服务级别的监控中,主要关注的是服务组件是不是健康可靠的,比如监控数据的读写,文件创建,服务的基本存活,服务调用延迟,服务的性能等等。 业务级别监控 最后是业务级别的监控,不同的应用场景和业务,对于监控的内容也是不一样的。比如你要监控购买的量,监控登陆用户,消息发送的条数,收到的礼物数,走过的路线等等,不同的业务场景需要监控的指标是不一样的,这部分非常特性。 API 监控常见的监控指标 虽然上面说的第三个级别的监控是有很多特性,但是对于监控的内容来说他们还是有一些共性的。所以这里给大家列一些常用的监控指标类型。 速率 速率是一个常用的监控指标,数据的发送速率,增加速率,访问速率,调用速率等等,这个指标旨在监控你的系统的服务能力。一般来说这个指标越大,服务能力越强。 请求延时 这个指标很多时候和上面的速率这个指标是有关系的,一般来说这个这个数值越小,说明你的服务性能越好。这个指标一般可以在 API 网关上进行采集或者是在客户端采集。 错误率 对系统错误的监控对一个系统来至关重要,还有对不同错误码的统计计数,有了对这些个指标的监控,系统的可用性监控就有了。 如果单纯的只看前面两个指标也是有问题的,因为有时候在系统故障的时候系统的访问速率和请求延时会表现的很好,但是实际上是有很多错误请求和错误返回,比如系统的快速错误返回,大量错误的请求等。 配额突发过载 这种也是要监控的一个点,很多时候有瞬时过载的情况,这也是暴露了系统的一些潜在问题。 指标平均值
对于系统的稳定性、服务能力以及服务特点的监控这个是有必要的,很多时候不但要看当前状态值,还要进一步看服务指标最近 5 分钟、 10 分钟、15 分钟等的平均值。 (编辑:唐山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |