Настройка Dynatrace на Heroku¶
- Latest Dynatrace
Heroku — это облачная платформа как услуга (PaaS), которая позволяет создавать и запускать приложения в облаке. Приложения, развёрнутые на Heroku, обычно запускаются через один или несколько билдпаков (buildpack), которые обеспечивают поддержку фреймворков и среды выполнения.
Возможности¶
Билдпак Heroku для Dynatrace OneAgent не зависит от языка и может использоваться с любым языком, поддерживаемым Dynatrace, включая приложения на основе Node.js. Если вы использовали модуль Dynatrace NPM для PaaS, вы можете удалить его из зависимостей, так как билдпак автоматически обнаруживает и инструментирует ваши приложения Node.js.
Вам также больше не нужно полагаться на релизы зависимостей Dynatrace OneAgent для NPM. Билдпак Heroku для Dynatrace OneAgent автоматически загружает последнюю версию Dynatrace OneAgent, чтобы вы могли получать потенциальные исправления максимально быстро и легко. Если вы указали версию OneAgent по умолчанию для установки на новые хосты и приложения в настройках обновления OneAgent, билдпак Heroku для Dynatrace OneAgent загрузит указанную версию Dynatrace OneAgent по умолчанию.
Следующие инструкции объясняют, как включить мониторинг Dynatrace для ваших приложений Heroku, добавив билдпак Dynatrace Heroku в конфигурацию Heroku вашего приложения.
Билдпак Dynatrace Heroku позволяет мониторить все поддерживаемые языки на системах Linux.
Предварительные условия¶
- Создайте PaaS-токен.
- Ознакомьтесь со списком поддерживаемых приложений и версий.
- Требования к памяти кодового модуля OneAgent составляют 200 МБ от вашего размера slug.
Установка¶
Эти инструкции объясняют, как интегрировать Dynatrace OneAgent в ваши Heroku dyno и начать мониторинг приложений Heroku.
Получение Heroku CLI¶
Для настройки приложений Heroku на использование билдпака Dynatrace Heroku вы можете использовать Heroku CLI или настроить приложения через панель управления Heroku.
Добавление билдпака Dynatrace Heroku¶
Для интеграции Dynatrace OneAgent в существующее приложение необходимо добавить билдпак Dynatrace Heroku в билдпаки вашего приложения и задать идентификатор среды Dynatrace и PaaS-токен с помощью команд ниже.
# Add the Dynatrace buildpack
heroku buildpacks:add https://github.com/Dynatrace/heroku-buildpack-dynatrace.git#<version>
# Set required credentials to your Dynatrace environment
heroku config:set DT_TENANT=<environmentID>
heroku config:set DT_API_TOKEN=<token>
# Deploy to Heroku
git push heroku master
После отправки этих изменений билдпак устанавливает Dynatrace OneAgent для автоматического мониторинга вашего приложения.
Дополнительная настройка¶
Билдпак Dynatrace Heroku поддерживает следующие конфигурации:
| Переменная среды | Описание |
|---|---|
| DT_TENANT | Идентификатор вашей среды Dynatrace. Примечание: Подробности о том, как определить идентификатор среды, см. в разделе идентификатор среды. |
| DT_API_TOKEN | PaaS-токен для интеграции вашей среды Dynatrace с Heroku. |
| DT_API_URL | - Для Dynatrace, когда OneAgent может подключаться к интернету: https://<your-environment-ID>.live.dynatrace.com/api - Для Dynatrace Managed: https://<your-managed-cluster-domain>/e/<your-environment-ID>/api - Для ActiveGate среды (Managed), используйте следующее для загрузки OneAgent, а также для маршрутизации трафика OneAgent через ActiveGate: https://<your-ActiveGate-IP-or-FQDN>:9999/e/<your-environment-ID>/api Примечание: Подробности о том, как определить идентификатор среды, см. в разделе идентификатор среды. |
| DT_DOWNLOAD_URL | Необязательно. Прямой URL загрузки Dynatrace OneAgent. Если эта переменная среды установлена, билдпак загрузит OneAgent из этого расположения. |
| SSL_MODE | Необязательно. Установите значение all, если вы хотите принимать все самоподписанные SSL-сертификаты. |
| DT_TAGS | Не рекомендуется. Теги, которые вы хотите добавить к мониторируемым приложениям. |
| DT_CUSTOM_PROP | Не рекомендуется. Применяйте, если хотите разделить по компоненту и/или среде. |
| SKIP_ERRORS | Необязательно. Если установлено значение 1, развёртывание приложения не будет завершено ошибкой при ошибках загрузки установщика OneAgent. |
Мы рекомендуем создавать переменные среды, специфичные для обнаружения процессов. Переменные среды, обслуживающие другие области, такие как DT_TAGS или DT_CUSTOM_PROP, могут вызвать некорректное или непреднамеренное разделение, поскольку все значения переменных среды учитываются при обнаружении группы процессов.
Как использовать билдпак Heroku для Dynatrace OneAgent вместо модуля Dynatrace NPM для PaaS
Билдпак Heroku для Dynatrace OneAgent не требует изменений в исходном коде вашего приложения:
Вам больше не нужно устанавливать зависимость от @dynatrace/oneagent в каталоге проекта вашего приложения Node.js.
Также вам больше не требуется добавлять следующее выражение в качестве первого выражения вашего приложения Node.js:
Благодаря этим преимуществам билдпак Heroku для Dynatrace OneAgent заменяет модуль Dynatrace NPM для PaaS и требует OneAgent версии 1.141+.
Если вы хотите начать использовать билдпак Heroku для Dynatrace OneAgent вместо модуля Dynatrace NPM для PaaS, всё, что вам нужно сделать, — это удалить зависимость от @dynatrace/oneagent в вашем файле package.json:
Кроме того, вы можете удалить выражение require, упомянутое выше, из вашего приложения Heroku.
Вы можете использовать другую среду Dynatrace для приложений Heroku, обогащённых OneAgent.
Как использовать другую среду Dynatrace для приложений Heroku, обогащённых OneAgent
Для OneAgent версии 1.139+, если у вас есть существующее приложение Heroku, в которое вы уже добавили кодовые модули OneAgent для определённой среды Dynatrace, вы можете настроить OneAgent на отправку данных в другую среду Dynatrace.
Для этого вам необходимо выполнить вызов REST-эндпоинта вашей второй среды Dynatrace. Не забудьте адаптировать соответствующие заполнители <environmentID> и <token>.
curl "https://<environmentID>.live.dynatrace.com/api/v1/deployment/installer/agent/connectioninfo?Api-Token=<token>"
В ответ вы получите JSON-объект, содержащий необходимую информацию, которую нужно передать в качестве переменной среды в контейнер приложения. Убедитесь, что вы задали переменные среды вашего приложения Heroku, как описано ниже:
DT_TENANT: равенtenantUUIDDT_TENANTTOKEN: равенtenantTokenDT_CONNECTION_POINT: списокcommunicationEndpoints, разделённых точкой с запятой
Настройка сетевых зон (необязательно)¶
Вы можете настроить сетевые зоны через переменную среды:
Подробнее см. сетевые зоны.
Обновление OneAgent¶
Когда становится доступна новая версия OneAgent, вам необходимо запустить повторное выполнение билдпака в Heroku. Билдпак Dynatrace автоматически загрузит последнюю версию OneAgent.
Если вы указали версию OneAgent по умолчанию для установки на новые хосты и приложения в настройках обновления OneAgent, билдпак Heroku автоматически загрузит указанную версию OneAgent по умолчанию.
Связанные темы¶
- Матрица поддержки платформ и возможностей OneAgent