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

Материал из Документация Ключ-АСТРОМ

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

Развернуть ЕдиныйАгент

Требуемые версии

Docker версии 17.05+

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

docker login <ADDRESS> -u <environmentID>

2. Введите свой <PAAS_TOKEN> при появлении запроса.

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

COPY --from=<ADDRESS>/linux/oneagent-codemodules:<TECHNOLOGY> / /
ENV LD_PRELOAD /opt/astromkey/oneagent/agent/lib64/liboneagentproc.so

где:

<ADDRESS>:

  • Среда АктивногоШлюза: <ActiveGateaddress:9999>
  • SaaS: saas.ruscomtech.ru
  • 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.

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

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

docker build -t yourapp .

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

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

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

curl "https://saas.ruscomtech.ru/api/v1/deployment/installer/agent/connectioninfo?Api-Token=<token>"

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

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

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

4. необязательно Настроить сетевые зоны

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

DT_NETWORK_ZONE: соответствует вашей .network.zone

Дополнительные сведения см. в разделе «Сетевые зоны».

4. опционально Настроить прокси-адрес

Если вы запускаете среду с прокси-сервером, вам необходимо установить переменную среды 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://saas.ruscomtech.ru/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