Для интеграции APM-агента в Java-приложение выполните следующие шаги:
-
Скачайте архив с агентом с официального сайта New Relic:
curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip
-
(Опционально) Ознакомьтесь с официальной инструкцией по установке APM-агента для Java для получения дополнительных подробностей.
Распакуйте загруженный архив в предпочтительный каталог. Например:
sudo mkdir -p /opt/newrelic
sudo unzip newrelic-java.zip -d /opt/newrelicВажно: Убедитесь, что файлы
.jarагента не находятся в пути к классам или в каталогах, перечисленных вjava.endorsed.dirs.
Настройте файл newrelic.yml или используйте переменные окружения для конфигурации агента.
-
Основные настройки (через переменные окружения или в
newrelic.yml):NEW_RELIC_LOG=stdout #Логирование агента в stdout NEW_RELIC_LICENSE_KEY=0123456789-123456789-123456789-123456789 #Ключ(заглушка, не меняем) NEW_RELIC_HOST=gmonit-collector.<DOMAIN>.ru #Домен коллектора GMONIT NEW_RELIC_APP_NAME="MY_AWESOME_APP" #Название приложения - замените на своё
-
Если используются самоподписанные сертификаты
Необходимо явно указать путь до бандла сертификатов (черезnewrelic.ymlили переменную окружения):NEW_RELIC_CA_BUNDLE_PATH=/gmonit/ssl/rootCA.crt #Путь до файла с бандлом сертификатовИли в
newrelic.yml:ca_bundle_path: /gmonit/ssl/rootCA.crt
При необходимости более тонкой настройки параметров агента смотрите также официальную документацию по конфигурации агента для Java.
Добавьте флаг запуска агента в команду запуска вашего Java-приложения:
-javaagent:/opt/newrelic/newrelic.jarПример команды запуска:
java -javaagent:/opt/newrelic/newrelic.jar -jar my-app.jarПосле запуска приложения убедитесь, что агент успешно подключился:
- В логах агента (
stdout) должно появиться сообщение об успешном подключении. - В интерфейсе мониторинга GMONIT появятся метрики приложения.
Для более детальной информации о конфигурации и настройке агента обратитесь к официальной документации New Relic.
Для интеграции агента New Relic в Java-приложение, работающее в Kubernetes, выполните следующие шаги:
-
Скачать Java-агент:
curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip
-
Распаковать агент:
unzip newrelic-java.zip -d /opt/newrelic
Агент Java нужно распаковать в директорию внутри контейнера, которая будет доступна во время выполнения приложения.
Важно: Если агент будет расположен в другом месте, убедитесь, что
.jarфайлы агента не находятся в директориях, указанных вjava.endorsed.dirsили в пути к классам.
-
Откройте файл
newrelic.ymlи внесите следующие изменения:common: &default_settings license_key: '0123456789-123456789-123456789-123456789' #Ключ(заглушка, не меняем) app_name: "MY_AWESOME_APP" #Название приложения - замените на своё host: "gmonit-collector.<DOMAIN>.ru" #Домен коллектора GMONIT agent_enabled: true log_level: info log_file_path: stdout #Логирование агента в stdout
-
Если используются самоподписанные сертификаты, убедитесь, что путь к бандлу сертификатов добавлен в настройки (см. предыдущие разделы).
-
Обновите
Dockerfileдля вашего Java-приложения. Пример конфигурации:FROM openjdk:11-jre-slim COPY opt/newrelic/ /opt/newrelic/ #Копируем агента New Relic в контейнер COPY out/ /app #Копируем ваше Java-приложение в контейнер WORKDIR /app ENTRYPOINT ["java", "-javaagent:/opt/newrelic/newrelic.jar", "com.example.HelloWorldServer"]
-
Пересоберите Docker-образ:
docker build -t my-java-app-with-newrelic:latest . -
Загрузите Docker-образ в кластер Kubernetes. Пример для использования с
kind:kind load docker-image my-java-app-with-newrelic:latest
После выполнения этих шагов ваш Docker-образ с интегрированным APM-агентом готов для развертывания в Kubernetes. Убедитесь, что поды с приложением запускаются корректно, а метрики появляются в интерфейсе GMONIT.