Настройка ЕдиногоАгента на контейнерах для мониторинга только приложений: различия между версиями

Материал из Документация Ключ-АСТРОМ
(Новая страница: «Если у вас нет доступа к базовым хостам, вы можете развернуть ЕдиныйАгент на контейнерах...»)
 
 
Строка 17: Строка 17:
|COPY --from=<environmentURL>/linux/oneagent-codemodules:<TECHNOLOGY> / /
|COPY --from=<environmentURL>/linux/oneagent-codemodules:<TECHNOLOGY> / /


ENV LD_PRELOAD /opt/dynatrace/oneagent/agent/lib64/liboneagentproc.so
ENV LD_PRELOAD /opt/astromkey/oneagent/agent/lib64/liboneagentproc.so
|}
|}
где:
где:
Строка 34: Строка 34:
|COPY --from=<ACTIVEGATE-ADDRESS>/linux/oneagent-codemodules-musl:<TECHNOLOGY> / /
|COPY --from=<ACTIVEGATE-ADDRESS>/linux/oneagent-codemodules-musl:<TECHNOLOGY> / /


ENV LD_PRELOAD /opt/dynatrace/oneagent/agent/lib64/liboneagentproc.so
ENV LD_PRELOAD /opt/astromkey/oneagent/agent/lib64/liboneagentproc.so
|}
|}
Допустимые варианты здесь : <code>all</code>, <code>dotnet</code>, <code>php</code>, <code>java</code>, <code>apache</code>, <code>nginx</code>, <code>nodejs</code> и <code>go</code>.
Допустимые варианты здесь : <code>all</code>, <code>dotnet</code>, <code>php</code>, <code>java</code>, <code>apache</code>, <code>nginx</code>, <code>nodejs</code> и <code>go</code>.
Строка 50: Строка 50:
Для этого необходимо обратиться к REST-эндпоинту вашей второй среды Ключ-АСТРОМ. Не забудьте адаптировать соответствующие данные <code><environmentID></code> и <code><token></code>.
Для этого необходимо обратиться к REST-эндпоинту вашей второй среды Ключ-АСТРОМ. Не забудьте адаптировать соответствующие данные <code><environmentID></code> и <code><token></code>.
{| class="wikitable"
{| class="wikitable"
|curl "https://<environmentID>.live.dynatrace.com/api/v1/deployment/installer/agent/connectioninfo?Api-Token=<token>"
|curl "https://<environmentID>.live.astromkey.com/api/v1/deployment/installer/agent/connectioninfo?Api-Token=<token>"
|}
|}
В ответ вы получите JSON-объект, содержащий необходимую информацию, которую нужно передать в качестве переменной среды контейнеру приложения.
В ответ вы получите JSON-объект, содержащий необходимую информацию, которую нужно передать в качестве переменной среды контейнеру приложения.
Строка 89: Строка 89:
|COPY --from=<ACTIVEGATE-ADDRESS>/linux/oneagent-codemodules:<TECHNOLOGY> / /
|COPY --from=<ACTIVEGATE-ADDRESS>/linux/oneagent-codemodules:<TECHNOLOGY> / /


ENV LD_PRELOAD /opt/dynatrace/oneagent/agent/lib64/liboneagentproc.so
ENV LD_PRELOAD /opt/astromkey/oneagent/agent/lib64/liboneagentproc.so
|}
|}
2. Пересоберите образ приложения.
2. Пересоберите образ приложения.
Строка 97: Строка 97:
|1. Удалите следующие команды из вашего Dockerfile.
|1. Удалите следующие команды из вашего Dockerfile.
{| class="wikitable"
{| class="wikitable"
|ARG DT_API_URL="https://<environmentID>.live.dynatrace.com/api"
|ARG DT_API_URL="https://<environmentID>.live.astromkey.com/api"


ARG DT_API_TOKEN="<token>"
ARG DT_API_TOKEN="<token>"
Строка 103: Строка 103:
ARG DT_ONEAGENT_OPTIONS="flavor=default&include=<technology1>&include=<technology2>"
ARG DT_ONEAGENT_OPTIONS="flavor=default&include=<technology1>&include=<technology2>"


ENV DT_HOME="/opt/dynatrace/oneagent"
ENV DT_HOME="/opt/astromkey/oneagent"


RUN mkdir -p "$DT_HOME" && \
RUN mkdir -p "$DT_HOME" && \
Строка 113: Строка 113:
    rm "$DT_HOME/oneagent.zip"
    rm "$DT_HOME/oneagent.zip"


ENTRYPOINT [ "/opt/dynatrace/oneagent/dynatrace-agent64.sh" ]
ENTRYPOINT [ "/opt/astromkey/oneagent/astromkey-agent64.sh" ]


CMD [ "executable", "param1", "param2" ] # the command of your application, for example, Java
CMD [ "executable", "param1", "param2" ] # the command of your application, for example, Java

Текущая версия на 21:55, 10 декабря 2025

Если у вас нет доступа к базовым хостам, вы можете развернуть ЕдиныйАгент на контейнерах для мониторинга только приложений. Выполните следующие шаги, чтобы интегрировать ЕдиныйАгент в образ приложения.

Развертка ЕдиногоАгента

Требуемые версии
  • Версия Docker 17.05+

1. Войдите в Docker, используя в качестве имени пользователя идентификатор вашей среды Ключ-АСТРОМ.

docker login <environmentURL> -u <environmentID>

2. Введите свой <PAAS_TOKEN>, когда появится соответствующий запрос.

3. После последней команды FROM добавьте в образ приложения следующие строки кода :

COPY --from=<environmentURL>/linux/oneagent-codemodules:<TECHNOLOGY> / /

ENV LD_PRELOAD /opt/astromkey/oneagent/agent/lib64/liboneagentproc.so

где:

  • <environmentURL> является:
    • Среда АктивногоШлюза: <ActiveGateaddress:9999>
    • Managed: {ManagedAddress}
  • <TECHNOLOGY> это модуль кода ЕдиногоАгента, необходимый для вашего приложения. Допустимые варианты: all, java, apache, nginx, nodejs, dotnet, php, go и sdk. Чтобы указать несколько модулей кода, разделите их дефисами (например, используйте java-go для указания java и go). Включение конкретных параметров поддержки технологий, а не поддержка всех параметров технологий, приводит к уменьшению размера пакета ЕдиногоАгента.
Если образ Docker основан на Alpine Linux

Ключ-АСТРОМ ЕдиныйАгент поддерживает среды на базе Alpine Linux.

Используйте следующий синтаксис:

COPY --from=<ACTIVEGATE-ADDRESS>/linux/oneagent-codemodules-musl:<TECHNOLOGY> / /

ENV LD_PRELOAD /opt/astromkey/oneagent/agent/lib64/liboneagentproc.so

Допустимые варианты здесь : all, dotnet, php, java, apache, nginx, nodejs и go.

4. Создайте образ вашего приложения.

Создайте образ Docker из вашего Dockerfile, чтобы использовать его в вашей среде Kubernetes.

docker build -t yourapp .
Вы можете отслеживать контейнеры вашего приложения с помощью другой среды Ключ-АСТРОМ.

Для версии ЕдиногоАгента 1.139+ Если у вас уже есть образ приложения, в который добавлены модули кода ЕдиногоАгента для конкретной среды Ключ-АСТРОМ, вы можете настроить отправку отчетов ЕдиногоАгента в другую среду Ключ-АСТРОМ без пересборки образа приложения.

Для этого необходимо обратиться к REST-эндпоинту вашей второй среды Ключ-АСТРОМ. Не забудьте адаптировать соответствующие данные <environmentID> и <token>.

curl "https://<environmentID>.live.astromkey.com/api/v1/deployment/installer/agent/connectioninfo?Api-Token=<token>"

В ответ вы получите JSON-объект, содержащий необходимую информацию, которую нужно передать в качестве переменной среды контейнеру приложения.

Убедитесь, что вы установили переменные среды контейнера приложения, как описано ниже:

  • DT_TENANT: равно tenantUUID
  • DT_TENANTTOKEN: равно tenantToken
  • DT_CONNECTION_POINT: список communicationEndpoints, разделённый точкой с запятой

5. Необязательно Настройка сетевых зон

Вы можете настроить сетевые зоны в качестве переменной среды:

  • DT_NETWORK_ZONE: равно your.network.zone

6. Необязательно Настройте прокси-адрес.

Если вы используете среду с прокси-сервером, вам необходимо установить переменную среды DT_PROXY в контейнере приложения, чтобы передавать учетные данные прокси-сервера в ЕдиныйАгент.

  • Для контейнеров на базе Alpine Linux может потребоваться обновить файл wget, поставляемый с образом Alpine, чтобы разрешить аутентификацию через прокси-сервер при загрузке ЕдиногоАгента.

Обновление ЕдиногоАгента

Каждый раз, когда вы хотите использовать новую версию Ключ-АСТРОМ ЕдиныйАгент, вам необходимо пересобрать локальные модули кода ЕдиногоАгента и образ приложения. Все вновь запущенные поды из этого образа приложения будут отслеживаться с помощью последней версии ЕдиногоАгента.

Если вы указали версию ЕдиногоАгента по умолчанию для установки на новые хосты и в приложения с помощью параметров обновления ЕдиногоАгента, ваши приложения Kubernetes будут автоматически отслеживаться определенной версией Ключ-АСТРОМ ЕдиныйАгент по умолчанию.

Удаление ЕдиногоАгента

Чтобы удалить ЕдиныйАгент из режима мониторинга только приложений, просто удалите ссылки на него из вашего приложения или образа Docker, а затем повторно разверните приложение.

Внедрение контейнера во время сборки

Многоэтапная сборка образов Docker Классическая интеграция
1. Удалите две строки кода из образа приложения.
COPY --from=<ACTIVEGATE-ADDRESS>/linux/oneagent-codemodules:<TECHNOLOGY> / /

ENV LD_PRELOAD /opt/astromkey/oneagent/agent/lib64/liboneagentproc.so

2. Пересоберите образ приложения.

docker build -t yourapp .
1. Удалите следующие команды из вашего Dockerfile.
ARG DT_API_URL="https://<environmentID>.live.astromkey.com/api"

ARG DT_API_TOKEN="<token>"

ARG DT_ONEAGENT_OPTIONS="flavor=default&include=<technology1>&include=<technology2>"

ENV DT_HOME="/opt/astromkey/oneagent"

RUN mkdir -p "$DT_HOME" && \

    wget -O "$DT_HOME/oneagent.zip" "$DT_API_URL/v1/deployment/installer/agent/unix/paas/latest?Api-Token=$DT_API_TOKEN&$DT_ONEAGENT_OPTIONS" && \

    unzip -d "$DT_HOME" "$DT_HOME/oneagent.zip" && \

    rm "$DT_HOME/oneagent.zip"

ENTRYPOINT [ "/opt/astromkey/oneagent/astromkey-agent64.sh" ]

CMD [ "executable", "param1", "param2" ] # the command of your application, for example, Java

2. Пересоберите образ приложения.

docker build -t yourapp .