Настройте ЕдиныйАгент в контейнерах для мониторинга только приложений
Если у вас нет доступа к базовым хостам, вы можете развернуть ЕдиныйАгент в контейнерах для мониторинга только приложений. Выполните следующие действия, чтобы интегрировать ЕдиныйАгент в образ приложения.
Развернуть ЕдиныйАгент
Требуемые версии
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