什么是无服务器监控?

无服务器监控定义

无服务器监控是一种服务,允许企业监控、开发和优化其无服务器应用程序。无服务器监控的事件驱动架构 (EDA) 需要专门为此环境设计的监控。无服务器监控使用已知指标将团队引导到问题所在。

无服务器监控是整体可观察性的重要组成部分。无服务器可观察性提供了对系统输出的更好可见性,以便相关团队可以更有效地解决和弥补潜在问题。

企业可以使用无服务器监控来评估其系统的运行状况,配置警报以在问题出现时解决问题,进而优化性能。无服务器监控也是一个重要的成本管理工具,它有助于性能优化。

什么是无服务器?

无服务器计算是一种云计算模型,允许开发者构建和运行应用程序,而无需管理服务器或后端基础设施。云提供商为开发者运行和管理服务器基础设施,并按需和按规模提供服务器。该计算模型的按使用付费定价从成本角度来看对企业非常有利。无服务器的按需付费结构使企业能够以更低的基础设施成本部署应用程序并进行扩展。

所有领先的云提供商都提供无服务器计算作为函数即服务 (FaaS)。

  • AWS Lambda 是 AWS 的无服务器函数。它允许开发者运行代码,无需考虑服务器或集群。
  • Google Cloud Functions 使您能够开发和部署可扩展的应用程序和函数,同时他们管理您的云服务器。
  • Azure Serverless FaaS 使您能够构建、部署和操作应用程序,而无需管理基础设施。

还有一种无服务器框架,公司使用它在自己的基础设施上使用 OpenLambda、OpenFaas 等。

但是,在无服务器服务中观察系统和应用程序操作存在挑战。无服务器监控通过使您能够监控运行的函数、它们所在的容器、应用程序以及整个无服务器环境来填补可见性差距。

了解有关 APM 的更多信息

无服务器监控是如何工作的?

无服务器监控解决方案从您的整个无服务器基础设施中摄取数据,汇总资源使用统计信息,并提供日志和指标。无服务器监控还允许您查看无服务器函数活动,监控资源使用情况并设置自动警报以获得可操作的见解。

使用无服务器监控仪表板,您可以通过监控函数运行状况和内存使用情况来消除盲点,并确定应用程序瓶颈发生的位置。

为什么无服务器监控很重要?

无服务器监控允许开发者解决性能问题,这些问题对于无服务器计算中的系统运行状况和用户体验至关重要。

使用无服务器,云提供商承担了管理服务器的负担,以便您的开发者可以专注于运行代码。虽然这带来了许多优势,但也意味着企业对环境的控制和可见性较低。因此,识别错误或问题可能很困难。

无服务器监控通过允许团队有效地识别和管理在复杂的数字生态系统中经常出现的问题,为这些挑战提供了解决方案。

无服务器监控也是一个重要的工具,允许 ITDM 和 BDM 监控无服务器支出。了解在给定时间使用多少资源的能力使企业能够根据需要进行扩展,并控制支出。

无服务器监控有哪些好处?

无服务器监控提高了效率,并让您洞察无服务器环境。您可以主动缓解和解决性能问题,并简化各种操作。

Serverless monitoring dashboards segment and analyze serverless metadata joined with observability data.

  1. 改善延迟
    缓慢的函数执行(或延迟)会对用户体验产生负面影响。大型数据集会影响您查明延迟问题的能力。隐藏在大型数据集提取中显示的平均指标背后的异常数据通常很难看到。监控工具为您提供了可定制的仪表板来解决这些挑战。
  2. 防止冷启动
    无服务器计算的基于事件的架构意味着它仅在事件需要时才使用容器来执行函数。无服务器计算应用程序可以将最近使用的函数保持“热”一段时间,但如果一段时间内没有调用它,它将变“冷”。当一个长时间处于冷状态的函数突然再次被调用时,就会发生冷启动。这会导致延迟问题,并需要额外的计算能力。无服务器监控工具可以帮助识别哪些函数被使用以及何时使用,以便您可以优化性能。
  3. 识别调用错误

    调用错误是对链中任何断链的响应。当调用请求在您的函数接收它之前被拒绝时,就会发生这种情况。

    使用监控解决方案,获得无服务器环境的可见性,以识别和解决调用错误。

  4. 监控使用情况
    内存使用是无服务器计算服务的可配置组件。根据提供商的不同,您可以设置分配给函数的内存空间大小。此决定会影响在调用函数时运行函数所需的处理能力。
  5. 预测成本
    无服务器提供商只对您使用的函数和计算资源收费。通常,这是一种比其他架构更节省成本的替代方案,因为您只需为使用的资源付费。但是,当您扩展操作时,成本增加可能会变得不那么可预测。例如,配置错误的函数可能会消耗比必要更多的计算资源。使用总拥有成本 (TCO) 无服务器模型,您可以更好地预测成本,因为基础设施、开发和维护成本已计入其中。
  6. 更好的可扩展性
    使用无服务器监控解决方案,您可以监控函数和使用情况,并更好地预测成本,以便您可以更好地扩展。通过监控使用情况和预测成本,企业可以更有效地扩展,同时保持预算内。

无服务器监控的最佳实践是什么?

细粒度信息:一个好的无服务器监控工具应该为您提供特定数据,包括请求日志和分布式跟踪。寻找能够为您提供完整视图并允许您放大问题点的监控解决方案。

Serverless monitoring tools provide visibility into serverless calls, latency issues, cold starts along, and errors.

数据可用性:监控数据应该立即可用。您需要寻找适合您的规模并能够随着您的规模而扩展的监控工具。

日志收集:日志收集不应导致延迟或干扰应用程序性能。寻找与您的系统兼容的监控工具,该工具不需要任何附加组件和插件。

探索 Elastic 的无服务器监控

Elastic serverless forwarder architecture

警报:寻找允许您配置与现有检测和警报机制匹配的警报的无服务器监控工具。跨系统的统一策略有助于节省时间和相关成本。

Serverless monitoring to leverage threshold or anomaly-based alerting

无服务器监控的挑战是什么?

无服务器监控的第一个挑战是透明度。在无服务器计算模型中,服务器由您的云提供商(例如 AWS)管理。虽然无服务器意味着您可以专注于开发和发布代码,而无需担心服务器可用性,但您对服务器的可见性较低。这需要专门针对您的无服务器环境的监控服务,以便您可以获得整体可观察性。

无服务器监控的其他挑战包括

  • 无状态性质:无服务器模型仅在调用函数时才使用容器。服务器仅在系统调用函数时才可访问。
  • 瞬态函数:无服务器架构难以监控,因为它建立在触发函数的事件之上。根据云提供商的运行时限制,监控变得更加复杂。
  • 分布式架构:无服务器应用程序本质上是分布式的,其组件可以分布在多个服务中,包括服务器和无服务器架构。这使得很难全面了解应用程序的运行状况和性能。
  • 快速扩展:无服务器应用程序可以根据需求快速扩展和缩减,这使得难以预测和管理监控这些无服务器应用程序所需的资源。
  • 成本优化:监控无服务器应用程序可能很昂贵,尤其是在使用按使用量收费的第三方监控工具时。

为了应对这些挑战,企业应该拥有一个全面的可观察性解决方案,该解决方案可以处理服务器和无服务器监控。全面的可观察性解决方案有助于弥合监控类型之间的差距,以便您可以体验无服务器架构的所有优势。

无服务器监控工具

无服务器监控工具对于在无服务器环境中运行至关重要。在最佳情况下,它们应该提供无缝体验,从而提高您的整体运营效率。但并非所有工具都是一样的。

AWS 等无服务器函数提供商提供原生监控工具。AWS Cloud Watch 和 AWS X-Ray 是执行不同功能的无服务器监控解决方案。如果只使用 AWS,它们可以结合使用,为您提供更好的无服务器可见性。如果您的操作依赖于多个云提供商,您将需要一个与这些提供商集成的无服务器监控工具。

在为您的企业选择合适的无服务器监控工具时,以下是一些需要考虑的事项

  • 统一可见性:使用单个工具获得完整堆栈视图的能力可以改善您的故障排除工作流程。考虑为这些功能提供单一窗格,而不是多个 UI 和工具,这些工具会使故障排除工作流程复杂化。
  • 实时跟踪:实时警报和指标数据允许完全可见性。立即通知您的团队任何潜在的危险信号。
  • 语言支持:确保您的无服务器监控工具支持所有编程语言。
  • 易于设置:无服务器监控应该使您的系统更简单,而不是更复杂。寻求易于使用和实施的解决方案。
  • 集成:您的无服务器监控工具还应该与其他云集成兼容,例如 AWS、Azure 和 Google Cloud。选择一个工具,该工具可以无缝地支持您的整个运营环境。

无服务器摄取

无服务器摄取是一种无代理的方式,可以从 AWS 环境中的多个来源提取大型数据集。使用 Elastic Serverless Forwarder(一个用于摄取由 Elasticsearch 提供支持的数据的内置工具),您可以无缝地提取、转换、丰富和将数据发送到您的无服务器监控工具或可观察性工具。

Architecture for extracting, transforming, enriching, and sending data to serverless monitoring tools.

探索 Elastic 的无服务器摄取工具

Elastic 的无服务器监控

Elastic Observability 基于 Elasticsearch 构建,提供完整的堆栈体验,使您能够监控和观察无服务器架构之外的环境,无论是在本地还是在云中。识别 AWS Lambda 延迟问题、冷启动和其他调用问题。日志与您的其他遥测数据一起收集,因此您可以在一个地方以上下文方式查看所有数据。

详细了解 Elastic 的无服务器监控解决方案