在最基本的级别上,应用程序编程接口 (API) 监视检查 API 连接的资源是否可用、是否正常工作并响应调用。随着越来越多的元素被添加到网络中,环境也在不断发展,API监控变得更加重要(和复杂),包括多种类型的设备,微服务作为应用程序交付的关键部分,当然还有向云的广泛迁移。

数字化企业正在从根本上改变他们构建和交付软件的方式。仅依赖内部工具的应用程序的日子已经一去不复返了。相反,当今的应用程序越来越依赖于外部 API 和第三方应用程序提供商(而这些提供商又依赖于其他 API 和应用程序)。虽然这种类型的模块化允许产品灵活性和快速开发,但很难解决出现的任何问题。如果这个链条的一个组件断裂,它也会对其依赖者产生多米诺骨牌效应,而在历史上封闭的系统中,类似的故障只会导致孤立的事件。因此,如果您的产品依赖于外部 API,那么监控的不仅仅是可用性,您还需要密切关注性能、数据验证和流程、功能更改和安全性。

在下面的文章中,我们将讨论 API 监视的工作原理、要关注的关键指标、优势及其对企业的重要性,以及如何开始在组织中实施 API 监视。

API 监控:基础知识

获取电子书

什么是 API 监控?|内容

本文内容

什么是 API?什么是 API 类型?

API 监控如何工作?

什么是 API 测试和监控框架?

如何监控 API 终端节点?

为什么 API 监控很重要?

需要关注哪些关键 API 指标?

API 监控有哪些好处?

API 监控有哪些挑战?

如何开始 API 监控?

底线:API 监控在 API 连接的世界中至关重要

其他资源

  • 成功实施数字化转型战略的七个步骤

  • 实时 API 监控和测试

  • 为什么监控 API 很重要

  • 监视 API 的最佳做法

  • 数据预览体验主页面

  • Splunk Resources

什么是 API?什么是 API 类型?

API 是一组用于访问基于 Web 的软件应用程序或服务的编程指令和标准。API 为 DevOps 专业人员提供了有关如何与服务交互的说明,并可用于在不同系统之间连接数据。整个业务和应用程序都建立在开放的API之上,依赖于在系统之间来回传递数据的能力。

API 可以是内部组织中使用的私有的、面向程序员/应用的 API,也可以是面向消费者的公共 API,并且具有许多用例。私有 API 使企业更加敏捷、灵活和强大。公共 API 可帮助企业建立联系,以提供新的集成并建立新的合作伙伴关系。

API为不同的应用程序元素提供了相互交互的功能;它们连接的点称为端点。

手机应用

API 提供了有关如何与服务交互以及如何将数据与前端和后端系统连接的说明。

API 监控如何工作?

API 监视可用于跟踪 API 的可用性、功能、速度和性能问题,并且通常可以通过自动化来促进。

可用性:API 监视检查 API 连接的资源是否可用、是否正常工作并响应调用。随着应用程序与其他应用程序和服务之间的相互依赖性越来越高,API 监视通常也扩展到监视 API 所依赖的资源的可用性。API 监控可以提醒管理员依赖链中的任何中断,并允许 IT 团队采取适当行动,以确保其网站或应用保持在线状态。

性能:即使 API 正确返回调用,其应用程序性能也可能达不到标准。响应速度有多快?HTTP 响应代码是否经过优化?响应时间是否下降?API 的性能在不同环境中(例如在开发与生产环境中)是否有所不同?

这些性能指标中的任何一个,无论是由您调用的 API、后端服务还是其他 API 引起的,都会影响性能,并需要对站点或应用程序进行某种性能监控。

数据验证和多步骤流程:您的 API 可能可用并响应请求,但它可能会发回不正确的数据或以意外方式格式化的数据。监视数据验证可确保以正确的格式获得正确的响应,这在收到初始响应后对于多步骤流程尤其重要。数据验证将让您知道这些过程是否按预期工作。

监控与第三方和合作伙伴 API 的集成:应用和服务(如 Slack 和其他 Web 应用程序以及 Web 服务)通常同时依赖于托管和第三方 API,用户通常无法区分这两者。除了您管理的 API 之外,API 监控解决方案还可以让您了解第三方和合作伙伴 API(例如 AWS、信用卡提供商和其他 API)的性能。通过这种方式,您不仅可以让合作伙伴承担责任,还可以知道在出现任何问题时该联系谁。

监视功能更改:当你具有依赖于外部服务性能的功能时,你将需要确保你的应用与该服务保持兼容。无论更改是新版本还是 bug 修复的结果,如果基代码在更改或升级后停止使用 API 驱动的服务,API 监视都可以向最终用户发出警报。

监控安全性:组织向外部连接开放其网络的次数越多,恶意行为者利用任何漏洞的机会就越大。使用 API 时,假定 API 是安全的,并且维护了安全设置。您还承担了任何其他 API 进入其中的风险。API 监视通过搜索可能表示安全漏洞的异常行为并实时识别威胁,确保身份验证并确保连接到应用的 API 的安全性。

要监视的内容

API 监控可用于跟踪 API 的可用性、性能、数据验证、集成、功能更改和安全性。

什么是 API 测试和监控框架?

API测试和监控框架是用于实现API监控的软件,其中可以包括JSON,Pagerduty,oauth和Postman等工具。有几十个选项可用,从允许开发人员为他们自己的组织编写自定义API监视和应用程序监视协议的开源包,到为真实用户提供更多工作的商业包。如何最好地建立API监控框架的问题取决于组织的个人需求,特征和预算。

如何监控 API 终端节点?

API为不同的网元提供了相互交互的功能;它们连接的点称为端点。因此,当您监控最佳 API 的安全性、性能或其他因素时,默认情况下也会监控终端节点。API 终结点可以正常运行,但无法与网络中的预期合作伙伴通信。全面的 API 监视解决方案将允许你查看 API 终结点何时发生连接问题。

为什么 API 监控很重要?

API一直是帮助企业和组织发展,扩展和提供用户想要和需要的新服务的关键,并最终改善最终用户体验,而无需被迫重写其核心应用程序。电子商务的迅速崛起(包括由COVID-19大流行推动的向SaaS业务的快速转变)在很大程度上是由API实现的,因为公司已经能够添加新的服务和功能,调整定价并改进SLA,以便成为在线零售商。

API使公司能够在其网站上提供多种服务,而不必自己创建应用程序。企业公司还能够通过使用API来增加员工可用的工具数量。

换句话说,API现在几乎触及现代应用程序、网络和基础设施的方方面面。如今,未能监控 API 性能等同于未能遵循基本安全协议或跟踪 IT 性能。

需要关注哪些关键 API 指标?

在 API 监视方面,您希望确保 API 正常运行 — 完成其设计要执行的工作,并在正确的性能参数内完成。

可用性或正常运行时间:为了使 API 有效,它们需要正常工作。监控正常运行时间是确定 API 的一般可用性的最简单指标。正常运行时间以 API 可用总时间的百分比来衡量。典型的目标是99.9%甚至99.99%的正常运行时间。一些用户翻转统计信息并报告停机时间百分比。

错误率:错误率衡量 API 不返回预期结果的频率。错误可能表示 API 本身或 API 调用的服务存在问题。

CPU 和内存使用率:显示异常高的 CPU 或内存使用率的主机服务器可能表示 API 无法正常运行。

API 消耗:API 消耗量衡量 API 的使用频率,可以计算为每分钟请求数、每秒请求数或每秒查询数。

响应时间或延迟:响应时间(也称为延迟)反映了 API 在调用时响应所需的时间。有许多因素会影响 API 响应时间,因此它本身并不是用于监视 API 性能的可靠指标。

密钥-api-metrics

关键 API 指标包括可用性、错误率、CPU 和内存使用情况、API 消耗和延迟,以确保 API 正常运行。

API 监控有哪些好处?

由于 API 控制并启用了组织整个网络中的大量数据和交互,因此 API 监视是确保应用和站点性能、安全性、正常运行时间、从中断中恢复、用户监视以及组织网络性能的几乎所有其他方面的基本要素。

API 监控可以:

  • 跟踪关键 API 的可用性

  • 捕获 API 的响应时间并对其进行趋势分析

  • 通过验证 API 的响应值和结构来确保 API 功能

  • 在表明 API 损坏或性能不佳的任何情况时发出警报,使团队能够在问题影响用户或违反 SLA 之前提前解决问题

以下是 API 监控可以支持的一些用例:

  • 测试复杂的多步骤 API 流程

  • 监控来自世界各地地区的可用性和响应时间

  • 跟踪和执行第三方 API 的性能 SLA

  • 验证 API 响应的正确性

  • 通过 API 测试数据对象的整个创建、读取、更新、删除 (CRUD) 生命周期

  • 处理复杂的、基于令牌的 API 身份验证系统

  • 监视应用程序状态页

API 监控有哪些挑战?

由于 API 是组织整个网络的许多方面不可或缺的一部分,因此 API 监控的挑战围绕着规模、经验和全面应用。

"黑匣子":有时应用程序和微服务的创建方式是为了保护专有信息。他们可能没有 API,或者他们的 API 可能没有公开足够的数据或功能来全面了解其性能。

孤立数据:由于 API 在网络内部和外部连接网络上的多个对象,因此它们可能会遇到不同格式的多种类型的数据。如果 API 尝试连接两个以不同格式共享数据的不同设备,则必须先解决不同的格式,然后 API 才能执行其功能。

系统性能:某些 API 监视解决方案可能会影响 API 完成其工作的能力,从而降低系统性能。在选择 API 监视解决方案时,找到一个不会减慢速度的解决方案非常重要。

如何开始 API 监控?

API 监控通常由专门从事该领域的软件和硬件供应商提供。开始使用 API 监视的最有效方法是研究 API 监视供应商并遵循组织的建议书请求 (RFP) 流程。以下是在开始此过程时要记住的一些注意事项。

开始监视 API 时,请考虑以下两个因素:

  • 您的网站或本机应用程序依赖的关键数据或流程的 API

  • 您管理的客户、最终用户或开发人员依赖其获取数据或流程的 API

在监视这两种类型的 API 时,请务必进行测试:

  • 可用性:此 API 终结点是否已启动?是否返回错误?

  • 响应时间:API 返回响应的速度有多快?响应时间是否随时间而下降?生产中的响应时间是否比预生产中的响应时间差?

  • 数据验证:API 是否以正确的格式返回正确的数据?

  • 多步骤流程:我可以成功保存并重新使用此 API 中的变量吗?身份验证是否按预期工作?我可以使用此 API 中的数据完成事务吗?

API 监控:基础知识

获取电子书

底线:API 监控在 API 连接的世界中至关重要

公司越来越依赖 API 来执行业务关键型功能。然而,许多人要么没有监控他们的API,要么他们没有实施最佳实践。由于任何类型的停机时间都存在高风险,因此公司必须监视依赖关系,以确保一切按预期工作。企业可能无法控制他们所依赖的第三方工具,但通过全面的监控,他们可以立即知道是否需要采取行动来保持产品的正常运行。