API已成为经济生态
API是随着互联网和云计算的兴起而催生的产物。像云供应商亚马逊、互联网巨头Google、社交媒体Twitter,他们的服务都是通过API的方式来提供的。API这个概念在2005年从国外就开始火起来了,同时歪果仁提出了“API经济”的概念。
图:2012年数据
IBM中间件总经理Marie L. Wieck在一次采访中指出,到2018年API经济的市场规模预计将达到2.2万亿美元,而在未来2-3年中,开展API项目的企业数量有望增长150%。API监控可持续考察API的正确性、可用性和响应时间,是API管理的重要部分。
图:IBM的API经济整合方案
国内API监控兴起
随着越来越多的国内零售商、媒体、政府和金融服务公司开始公开Web API,每天都有大量的API增长。API已经成为扩展产品、获取客户,帮助合作伙伴提供高价值服务以及扩张生态系统的关键渠道。令人惊讶的是,API监控工具,却远远少于其他系统的监控工具。
稳定的API能帮助企业提高收入,降低成本。随着移动应用的爆发增长,未来API将会使用的越来越多,不论是提供API的服务商还是使用API的公司,都不希望发生这样的情景:
利用第三方公司提供的应用程序API失败,导致业务中断,交易失败。
旅游网站通过API获取机票和酒店库存信息并抽取佣金,API调用失败导致失去一个客户或是一次机会。
其他数据源信息的API调用失败,影响自己的内容整合。
公司内部产品之间API不稳定导致业务下滑。
……
公司提供出去的API稳定性直接影响业务收入。
于是,云智慧监控宝率先推出“API监控服务”,用于有效监控API服务稳定性和正确性。我们希望API能够达到,在Web上每一个想要使用API的人都能调用它,并得到他们所想的结果。
云智慧监控宝API监控原理
云智慧作为国内最专业的应用性能管理服务商,是业内第一家提供API监控的应用性能管理服务商。通过监控宝切入API监控领域,是为了保障服务的“可用性”,保障的是“所有用户”。因为前端出现问题,影响的是服务的易用性,受影响的往往是一部分用户;而后端API出现问题,影响的是服务的可用性,受影响的将会是全部用户。
现在我们手机里安装的是各种原生APP,这些APP都是典型的三层架构,要确保API的正常运行,不但要监控单个API请求,还应该监控连续请求构成的事务,同时通过多监测点监控API的可用性、正确性和响应时间,来确保接口运行时的一致性、完整性、正确性和及时性。
监控宝API监控的正确性是以断言来判断的,当没有断言或者多监测点部分正确,下图解释了怎么去界定API的正确性。
再如API的响应时间,对1点多次,多点1次,多点多次,以及不正确,不可用,我们怎么计算响应时间?如何处理这种非正常数据?在新版API监控中都进行算法上的优化,保证用户得到最精确的结果。
图:监控宝如何定义API响应时间
图:监控宝如何定义API是否可用
云智慧监控宝的API监控,我们详细定义了很多监控指标,比如可用性包括了超时设定,返回码和监测点部分可用情况下的API可用性。为什么返回码不再是原来的200呢,因为除了200以外,用户还有很多不同数值的正常返回码。
API 请求,请求返回码为 1XX、 2XX 或 3XX 时,都视为请求成功。
API 事务,其所有请求都成功时,则视为成功;否则返回其顺序请求的第一个非成功码(1XX、
2XX、 3XX 之外的返回码)。
API 请求未设置断言时,请求返回码默认为 200(请求成功)。
新版API监控优化上线
云智慧监控宝的API监控发布以来,获得了大量用户的认可,但也得到了很多修改意见,这次我们对API进行了一次重要的改善。
这次云智慧推出的新版API监控,主要是为了解决API监控现存的几个主要问题:数据展现不直观、不能完整分析业务、指标算法不完善、不能联系告警、告警及时性不强等。
图:新版API监控概览页
1、完整的API“事务”监控能力
实时掌握每一次API接口响应时间、可用性和正确性
API事务中,若其中的1个API请求不可用,则整体业务的API事务变得不可用。API监控可以从业务视角做完整的API事务监控。
2、连续告警,保障业务的可用性
告警方式新增“当前可用性”和“当前正确性”告警指标;新增了“连续告警”的 通知方式。
3、可视化数据展现更直观
新的API监控详情页,采用了类似网站监控的呈现方式,各监测点状况可在地图上直观呈现。详情页可快速查看TOP5的最低可用率、最长故障时间、最多故障次数、最低正确率、最长错误时间、最多错误次数、最慢响应时间、最快响应时间数据图表,以及各监测点的相应监控数据。
4、可监控更多请求方式
1.)支持API的get、post、put、delete、head、options六种请求。
2.)支持Basic Auth, OAuth1.0, OAuth2, Digest认证方式。
3.)支持添加HTTP头Header和Value。
4.)支持添加URL参数。
5.)支持JSON、XML、Text、Response Status验证及脚本导入。
API监控怎么用
以这几天北京雾霾红色预警为例,很多APP都非常贴心的提供了PM2.5污染指数这个天气预报的公开接口,怎么监控这种接口呢?
1、创建和配置API监控项目
在“创建监控项目”页面的API监控中,点击<创建项目>按钮创建API监控项目,需要设置监控项目的基本信息、API请求、初始变量、监控选项和告警方式。
在“基本信息”中设置监控项目的基本信息,如下图所示。
在“请求管理”中添加并管理需要监控的API请求,如下图所示。
2、测试API监控请求
添加API请求后,为保证正常监控,需检查是否能请求成功。点击<测试>按钮来测试请求并查看测试结果,如下图所示。
这是一种单请求API,对这种API的监控非常简单,开发者只要设置断言判断接口数据的正确性就可以了。监控宝API监控在新建请求时,可以直接点“测试”按钮,即时确认API设置的正确性,我们的断言支持jsonPath和xPath语言。
对于多步请求的API,我们提出了的“事务”概念,这种API监控怎么处理呢?这种多步连续的API,往往后面的请求会从前面的API结果去取变量,整个流程组合起来才能构成完整业务。
在第一个请求,我们可以设置初始变量,然后由后面的请求来取。
然后对每一个请求,在需要的地方添加参数,添加变量。
后面的请求,就可以直接动态提取变量。
我上面取的是监控宝API的token请求。
3、查看API监控项目数据
在监控项目列表中,点击监控项目查看监控项目详情,如下图所示。
在监控项目详情页面,您能够:
1.)查看监控项目的基本信息,包括当前监控项目的名称、事务流程和监控频率。点击“事务流程”选择API请求,查看单个API请求的监控详情。
2.)查看概览、可用率统计、正确率统计、响应时间统计、告警消息等信息。
3.)执行快捷设置,包括设置自定义告警和告警通知。
4.)管理监控项目,包括添加分类、开启/暂停监控、修改监控和删除监控项目。
4、查看告警消息
在“告警消息“页面查看所有告警消息记录,包括故障信息、提醒消息和系统消息。
告警消息以天为单位显示,最新告警消息显示在最上方。您可在上方的时间栏中自定义时间范围。
告警消息分类说明