本文概述
了解你的功能在做什么, 这是监视无服务器应用程序的更好方法。
有很多复杂的工具可以监视传统应用程序的性能, 但是无服务器仍在发展。无服务器架构是不同的, 因此你需要为此而设计的工具。这些工具与无服务器运行时平台紧密集成, 以收集必要的数据, 以实现更好的可视性和调试。
他们可以帮助你更快, 更自信地开发应用程序。如果你是Serverless的新手, 那么你可以考虑查看此介绍文章, 也可以考虑参加Nigel Poulton的在线课程。
准备探索吗?
Dashbird
Dashbird是基于AWS lambda的应用程序的流行解决方案。它连接到AWS, 并提供账户, 服务和功能级别指标以优化成本, 性能和资源。 Dashbird可以检测到lambda特定的故障。
例如:
- 暂停
- 内存问题
- 配置错误
- 运行时错误
- 例外情况

可以通过电子邮件或备用通知通知失败警报。
Cloudwatch日志可在全文搜索中使用, 你可以进行实时跟踪以进行故障排除。
特征:
- 来自各种指标的错误, 可轻松进行故障排除
- 帐户范围的系统运行状况和实时指标
- 创建对你的业务必不可少的功能的监视–微服务监视
- 系统性能指标
- 执行时间表和调用明细
Dashbird与AWS X-Ray集成在一起, 可为你提供调用见解。

你可以免费开始使用。当前, 它支持以下语言。
- Java
- Node.js
- Go
- python
尝试看看Dashbird是如何工作的。他们有很好的文档。
IOpipe
警报, 实时指标, 错误汇总, 分析, 跟踪– IOpipe中提供了所有功能。
全面了解你的AWS lambda函数的功能, 并在出现问题时通过松弛, 电子邮件, webhooks和PagerDuty进行通知。指标以高分辨率显示, 你可以深入了解确切的调用。

IOpipie获得了强大的跟踪功能, 可以跟踪函数调用并在性能下降时发出警报。在发行后, 这可以方便地解决与性能相关的问题。让我们看一些功能。
- 强大的搜索功能可以更快地跟踪数据。
- 关于主要错误, 警报, 性能改进等的每周电子邮件报告。
- 调用标记
- 通过CPU性能分析对Node.js进行故障排除以提高CPU使用率
IOpipe是用于无服务器应用程序的DevOps。你可以尝试使用他们的FREE计划来每月监视100万个函数调用。
SignalFx
SignalFx能够监视AWS Lambda, Google Cloud Functions和Azure Functions。实时可见性和功能监控。

的一些功能包括:
- 低延迟指标
- 实时可见性和聚合
- 内存使用和执行时间监控
- 冷启动检测
- 成本优化
Thundra
看看Thundra交互式演示。

Thundra帮助你以零开销跟踪和分析基于AWS Lambda的应用程序。正如你在演示中所看到的, 以下指标以图形形式精美呈现。
- 调用次数和持续时间
- 冷启动次数和持续时间
- 功能错误
- 按错误类型(超时, DemoIllegalAccessException, DemoIllegalArgumentException, NullPointException, JDBCConnectionException, TypeError等)进行错误
Thundra不会占用你的功能, 因为它异步利用CloudWatch日志来观察你的无服务器应用程序。
一些功能是:
- 动态检测, 因此你需要添加环境变量而不是代码更改和重新部署
- 详细且可配置的跟踪
- 数据过滤和高级搜索
- 高级调试
- 分析你的Lambda函数以查看CPU和内存利用率以及GC计数
Thundra仍处于测试阶段, 你可以立即试用。
Amazon CloudWatch
默认情况下, CloudWatch收集基本的Lambda指标。但是, 你可以选择启用自定义指标。没有前期费用或承诺, 因此你可以免费开始使用并随用随付。

借助CloudWatch, 你可以从一个平台收集所有AWS数据, 以全面了解资源。
Rookout
Rookout是用于无服务器功能的生产就绪调试平台。它通过在应用程序代码中插入不间断的断点来工作。
当前, 它支持AWS Lambda和IBM Cloud Functions。
Stackdriver
Stackdriver可以帮助监视Google Cloud Functions日志。你可以设置警报阈值, 以通过电子邮件, PageDuty, HipChat, Campfire, Slack等获得通知。
Epsagon
Epsagon利用具有AI算法的分布式跟踪技术, 可以自动检测整个公司系统中的全部交易, 提供业务流程的性能和成本, 并在问题发生之前通知用户。

Epsagon使用自动检测, 不需要用户更改任何代码。
总结
我希望这会让你对一些工具有一个了解, 以帮助你监视和调试现代应用程序。他们中的大多数都有免费计划, 因此最好的办法是尝试看看哪种方法对你有效。
如果你需要一些有关AWS Lambda和Serverless框架的动手培训, 请阅读Stephane Maarek的课程。