在上一篇《API潮涌移动互联 暗藏应用性能隐忧》中,我们对移动互联网引爆的API应用浪潮,以及API广泛应用带来的应用性能隐患的成因进行了解读。文中提到云智慧监控宝通过业内首创的API监控来实现对业务流程进行监控和告警,实时分析关键业务交付流程中应用程序接口的可用性、正确性和服务响应时间。接下来,我们就来看看云智慧监控宝的API监控是如何实现对关键业务过程的跟踪和监控的。
监控宝API监控方案功能特色
云智慧监控宝的API监控基于接口调用来监控业务流程,对企业内部自有API及第三方数据接口进行正确性、可用性与耗时分析,为接口服务提供有效的监控保障。
云智慧监控宝API监控原理
API监控对数据的接收和处理,是通过遍布全球的上百个监测点(包括移动监测点)实现的,可对API的get、post、put、delete、head、options六种请求方式进行实时监控,支持多种验证方式及脚本导入;支持JSON、XML、Text、Response Status验证及脚本导入;通过“断言”功能监测检验接口调用的正确性,亦可根据业务逻辑,将API的监控分成几个连续的请求监控。
监控宝通过对API监控的历史记录、告警消息、故障消息及故障类型统计分析,获得全面的历史数据,实现精准的数据分析;同时用户可根据业务的实际需求和SLA自定义告警线,实时接收智能告警消息。
监控宝API监控配置
此次API监控升级,云智慧的产品技术团队对配置选项进行了大幅度的优化,用户可以更便捷的对API的请求方式、认证类型、URL参数、form参数进行配置操作。
除了基本信息的设置,请求管理、初始变量、监控设置和告警设置均被单独罗列,以满足应用的不同需求。用户可在请求管理中手动添加监控请求,也能通过脚本批量导入请求,并在当前页面测试请求设置是否正确。初始变量设置不但可以自定义变量,还支持{{timestamp}}、{{utc_datetime}}、{{random_int}}、{{md5(value)}}、{{sha256(value)}}等12个常见系统变量。
为监控API数据的正确性,监控宝引入断言验证,使用jsonPath和xPath语言。XPath 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。因此XPath 的理解是很多高级 XML 应用的基础。JsonPath 对于 JSON 来说相当于 XPATH 对于 XML,是一个简单的从文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Java, Python 和 PHP。具体用法可见使用说明。
用户在设置告警条件时,可从可用率(事务or某请求,最近一段时间内的可用率小于[值]即告警)、正确率(某事务or请求在最近一段时间内的正确率小于[值]即告警)、响应时间(某事务or请求的当前(或最近一段时间内)响应时间大于[值]即告警)以及新增的相同错误类型发生的次数(某事务or请求,最近一段时间内,相同错误类型发生的次数,大于[次数]即告警)四个维度进行设置。
监控宝API监控报表
监控宝同时对API监控报表进行了重构,在概览页面的新版监控地图可一目了然的显示出API可用性、正确性及响应时间参数。而且视图不但可以查看整个业务流程的监控数据,还能直接查看单个请求的报告。
此外,用户可以在侧边栏菜单中快速查看API的正确率、可用率、响应时间统计,而历史快照则能帮助运维或开发人员快速、准确的复现和定位故障原因。同时,监控宝还将陆续在北上广等核心用户聚集的城市增加三大运营商的移动监测点,通过真实环境监控API性能。