NewRelic 对 AWS Lambda 上的 Java 应用程序的支持



我是开发Java Web API并将其部署到AWS的工程团队的一员。在过去的 ~2 年里,我们一直使用 Elastic Beanstalk,但现在我们正尝试迁移到 Lambda 以节省成本和简化操作。不幸的是,我们今天严重依赖NewRelic监控,我有一种强烈的感觉 - 尽管我还没有找到一个明确的答案 - NewRelic不能很好地与Lambda配合使用(特别是Java应用程序)。

当然,其他人也遇到了这个问题。NewRelic + AWS Lambda 交互的当前状态如何?对于初学者来说,我看不到将自定义NewRelic javaagent提供给Lambda中的JVM的方法。作为NewRelic Insights的可能解决方法,我可以将数据从我的Lambdas发送到运行NewRelic的专用EC2服务器,然后从那里发布它。但后来我仍然会在我的 Lambda 服务上丢失 NewRelic APM。

在撰写本文时,Lambda 没有公开的 API。在代码级别,唯一可以执行的操作是将日志和遥测数据从应用发送到服务(New Relic 或其他)。问题是Relic并没有真正以最佳方式执行事件或记录。还有其他可用的服务,例如我为AppDynamics工作的公司或其他各种服务。这些与平台无关。

最后,大多数APM产品(New Relic和AppDynamics)都有一个非常复杂的Java SDK,用于在代码中进行检测。这意味着您可以将代理代码嵌入到应该适用于 Lambda 的代码中,我还没有尝试过:

https://docs.newrelic.com/docs/plugins/developing-plugins/writing-code/using-java-sdk

https://docs.appdynamics.com/display/PRO42/Add+Custom+Fields+to+Transactions+Using+Java+SDK

最新更新