10个最佳工具来监视和调试无服务器应用程序

了解您的函数在做什么,一种更好的监控无服务器应用程序的方法。

有许多复杂的工具来监控传统的application performance,但无服务器仍在兴起。无服务器架构是不同的,因此您需要专为此而设计的工具。这些工具与serverless runtime platform紧密集成,以收集关键数据以获得更好的可见性和调试能力。

它们帮助您更快、更自信地开发应用程序。如果您是无服务器的新手,您可以考虑查看此introduction article或考虑参加一项online course

准备好探索了吗?

开发工具

SLS-dev-tools(也称为无服务器开发工具)是一个开源项目,其中包含用于无服务器应用程序和平台的开发者工具。它由位于伦敦的软件公司-Theodo开发。他们在无服务器方面的云原生方法提供了更强大的创新能力和速度。

此工具的导航通过箭头键完成,使用Tab键切换到不同的窗格。选择任何Lambda函数,按Enter键以查看函数的详细统计信息。

它们采用按使用付费的模式,因此您在应用程序不运行时无需支付任何费用。

这个工具有一个称为SLS-dev-tools Guardian的高级版本。该工具用于自动化无服务器架构中的最佳审计实践。它有助于在非常早期阶段识别问题,以防止它们发生。

SenseDeep

SenseDeep是AWS最快的无服务器监控平台之一。它可以帮助您实时排除服务问题。

登录后,SenseDeep将自动创建一些日志报告,您可以启动以查看详细信息。您需要将SenseDeep云与AWS帐户连接以查看无服务器函数和日志。您可以使用AWS访问密钥或IAM角色选项与AWS连接。

连接成功后,SenseDeep的自动发现功能将找到要在主屏幕上显示的Lambda函数和日志组。

上面显示的SenseDeep仪表板非常可定制。您可以选择显示哪个小部件,甚至可以调整仪表板中的小部件大小。此仪表板还可以与团队成员共享。

以下是SenseDeep提供的其他功能:

  • 创建和显示Lambda函数指标
  • 提供每个Lambda函数的详细视图
  • 提供具有搜索、查询滚动功能的日志查看器窗口
  • 带有常用命令的导航页面

Lumigo

使用Lumigo即可立即监控和排除无服务器应用程序。

通过此平台,您可以追踪应用程序的整个过程。它使用实时监控和分析来理解复杂的系统行为,并帮助您更快地解决问题。

您只需要创建一个帐户、连接您的环境并设置警报。

它能够识别问题的根本原因,并在分布式环境中解决问题。它具有检测应用程序的关键路径和瓶颈的功能,这有助于通过提高效率和减少延迟来优化性能。

它通过向您提供最佳实践来帮助您进行无服务器配置和开发活动。在获得此类帮助后,您可以在进入生产环境之前识别配置错误和问题。

Lumigo提供易于理解的应用程序成本结构,帮助您规划和预测即将发生的费用。

Serverless Framework

Serverless Framework是一个帮助您以最小的开销和成本开发、部署和监控无服务器应用程序的工具。

使用Serverless Framework Pro,您无需花费时间编程来监视您的应用程序。它会完全照顾!

只需转到仪表板查看应用程序的性能、错误详细信息、请求模式等。您可以深入研究日志,以获取有关应用程序的更多详细信息。

提供的警报非常明确,包含解决问题所需的必要详细信息。

此平台上的协作功能真的很棒!您可以与团队成员共享仪表板,以便他们也可以进行有限访问的协作。

Dashbird

Dashbird是AWS Lambda基于应用程序的流行解决方案。它连接到AWS并提供账户、服务和函数级别的指标,优化成本、性能和资源。Dashbird可以检测到特定于Lambda的故障。

例如:

  • 超时
  • 内存问题
  • 配置错误
  • 运行时错误
  • 异常

故障警报可以通过电子邮件或Slack通知。

Cloudwatch日志支持全文搜索,并且可以进行实时尾部跟踪以进行故障排除。

功能:

  • 通过各种指标显示错误,便于故障排除
  • 账户范围的系统健康和实时指标
  • 为您的业务创建监视 – 微服务监视
  • 系统性能指标
  • 执行时间线和调用分解

Dashbird与AWS X-Ray集成,为您提供调用洞察。

您可以免费开始使用它。目前,它支持以下语言。

  • Java
  • Node.js
  • Go
  • Python

尝试一下看看Dashbird的工作原理。他们有很棒的documentation

IOpipe

警报、实时指标、错误聚合、性能剖析、跟踪 – 在IOpipe中都可以找到。

了解您的AWS Lambda函数的整体情况,并在出现问题时通过Slack、电子邮件、Webhook和PagerDuty进行通知。指标以高分辨率显示,您可以深入到具体的调用。

IOpipie具有强大的跟踪功能,可以跟踪函数调用并在性能下降时发出警报。这对于发布后的性能相关问题进行故障排除非常有用。让我们看一下其中的一些功能。

  • 功能强大的搜索,以更快的速度跟踪数据。
  • 每周电子邮件报告有关顶级错误、警报、性能改进等的信息。
  • 调用标记
  • 使用CPU分析跟踪Node.js中的高CPU利用率问题

IOpipe是用于无服务器应用程序的DevOps工具。您可以尝试他们的免费计划,每月监控100万次函数调用。

Splunk

Splunk可以监控AWS LambdaGoogle Cloud FunctionsAzure Functions。实时可见性和性能监控。

一些功能包括:

  • 低延迟指标
  • 实时可见性和聚合
  • 内存使用情况和执行时间监控
  • 冷启动检测
  • 成本优化

Thundra

来看看Thundra interactive demo

Thundra可以帮助您跟踪和分析基于AWS Lambda的应用程序,零额外开销。正如您在演示中看到的,以下指标以图形的形式呈现得非常漂亮。

  • 调用次数和持续时间
  • 冷启动次数和持续时间
  • 按函数和类型的错误
https://youtu.be/LS34ZyYtZTU

Thundra不会对您的函数产生额外开销,因为它异步利用CloudWatch日志来观察您的无服务器应用程序。

一些功能包括:

  • 动态工具使您需要添加环境变量而不是更改和重新部署代码。
  • 详细和可配置的跟踪
  • 数据过滤和高级搜索
  • 高级调试
  • 对Lambda函数进行配置以查看CPU和内存利用率以及GC计数

Thundra目前仍处于测试阶段,您可以今天就尝试一下。

Amazon CloudWatch

默认情况下,CloudWatch会收集基本的Lambda指标。但是,您可以选择启用自定义指标。没有预付费或承诺,因此您可以免费开始使用,并按使用/走付费。

借助CloudWatch,您可以从一个平台收集所有AWS数据,以便完全了解资源。

Epsagon

Epsagon利用带有人工智能算法的分布式跟踪技术,自动检测公司系统中的完整事务,提供业务流程的性能和成本,并在问题发生之前通知用户。

Epsagon使用自动工具,并且用户无需更改代码。

结论

我希望这给您提供了一些工具的思路,以帮助您监视和调试现代应用程序。其中大多数都有免费计划,所以最好的办法是试着看看哪个对您有效。在实施监控后,不要忘记secure它。

类似文章