Java
Для интеграции APM-агента в Java-приложение выполните следующие шаги:
1. Загрузка агента
Заголовок раздела «1. Загрузка агента»- Скачайте архив с агентом с официального сайта New Relic:curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip
- (Опционально) Ознакомьтесь с официальной инструкцией по установке APM-агента для Java для получения дополнительных подробностей.
2. Распаковка агента
Заголовок раздела «2. Распаковка агента»Распакуйте загруженный архив в предпочтительный каталог. Например:
sudo mkdir -p /opt/newrelicsudo unzip newrelic-java.zip -d /opt/newrelicВажно: Убедитесь, что файлы
.jarагента не находятся в пути к классам или в каталогах, перечисленных вjava.endorsed.dirs.
3. Настройка конфигурации агента
Заголовок раздела «3. Настройка конфигурации агента»Настройте файл newrelic.yml или используйте переменные окружения для конфигурации агента.
- Основные настройки (через переменные окружения или в
newrelic.yml):NEW_RELIC_LOG=stdout #Логирование агента в stdout NEW_RELIC_LICENSE_KEY=0123456789-123456789-123456789-123456789 #Ключ(заглушка, не меняем) NEW_RELIC_HOST=gmonit-collector..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.
4. Интеграция агента с приложением
Заголовок раздела «4. Интеграция агента с приложением»Добавьте флаг запуска агента в команду запуска вашего Java-приложения:
-javaagent:/opt/newrelic/newrelic.jarПример команды запуска:
java -javaagent:/opt/newrelic/newrelic.jar -jar my-app.jar5. Проверка работы агента
Заголовок раздела «5. Проверка работы агента»После запуска приложения убедитесь, что агент успешно подключился:
- В логах агента (
stdout) должно появиться сообщение об успешном подключении. - В интерфейсе мониторинга GMONIT появятся метрики приложения.
6. Подробнее
Заголовок раздела «6. Подробнее»Для более детальной информации о конфигурации и настройке агента обратитесь к официальной документации New Relic.
Установка APM-агента для Java в K8S
Заголовок раздела «Установка APM-агента для Java в K8S»Для интеграции агента New Relic в Java-приложение, работающее в Kubernetes, выполните следующие шаги:
Шаг 1: Загрузка и распаковка агента New Relic
Заголовок раздела «Шаг 1: Загрузка и распаковка агента New Relic»- Скачать 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или в пути к классам.
Шаг 2: Настройка агента New Relic
Заголовок раздела «Шаг 2: Настройка агента New Relic»- Откройте файл
newrelic.ymlи внесите следующие изменения:common: &default_settings license_key: ‘0123456789-123456789-123456789-123456789’ #Ключ(заглушка, не меняем) app_name: “MY_AWESOME_APP” #Название приложения - замените на своё host: “gmonit-collector..ru” #Домен коллектора GMONIT agent_enabled: true log_level: info log_file_path: stdout #Логирование агента в stdout - Если используются самоподписанные сертификаты, убедитесь, что путь к бандлу сертификатов добавлен в настройки (см. предыдущие разделы).
Шаг 3: Подготовка Docker-образа с агентом
Заголовок раздела «Шаг 3: Подготовка Docker-образа с агентом»- Обновите
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.