Поддержка NewRelic для приложений Java на AWS Lambda?

Я являюсь частью группы инженеров, которая разрабатывает веб-API Java и развертывает их в AWS. В течение последних двух лет мы использовали Elastic Beanstalk, но теперь пытаемся перейти на Lambda из соображений экономии средств и простоты эксплуатации. К сожалению, сегодня мы в значительной степени полагаемся на мониторинг NewRelic, и у меня есть сильное ощущение — хотя я так и не нашел однозначного ответа — что NewRelic не очень хорошо работает с Lambda (особенно для приложений Java).

Наверняка другие сталкивались с этой проблемой. Каково текущее состояние взаимодействия NewRelic + AWS Lambda? Во-первых, я не вижу способа предоставить собственный javaagent NewRelic для JVM в Lambda. В качестве возможного обходного пути для NewRelic Insights я мог бы отправлять данные со своих Lambdas на выделенный сервер EC2, на котором работает NewRelic, и публиковать их оттуда... но тогда я все равно потерял бы NewRelic APM в своих службах Lambda.


person thomas    schedule 08.03.2016    source источник


Ответы (1)


На момент написания этой статьи открытых API для Lambda не было. Единственное, что вы можете сделать на уровне кода, — это отправить данные журнала и телеметрии из приложения в службу (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

person Jonah Kowall    schedule 09.03.2016