我是开发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。
答案 0 :(得分:2)
撰写本文时,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