Настройте ЕдиныйАгент Ключ-АСТРОМ как контейнер Docker: различия между версиями

Материал из Документация Ключ-АСТРОМ
(Новая страница: «В этом разделе объясняется, как запустить ЕдиныйАгент в качестве контейнера Docker для вне...»)
 
м
Строка 8: Строка 8:
* Создайте токен PaaS.
* Создайте токен PaaS.
* Ваша среда Docker должна позволять вашему контейнеру ЕдиногоАгента работать в привилегированном режиме.
* Ваша среда Docker должна позволять вашему контейнеру ЕдиногоАгента работать в привилегированном режиме.
* Каталог<code>/opt</code> должен существовать на хосте, на котором вы развертываете контейнер OneAgent.
* Каталог<code>/opt</code> должен существовать на хосте, на котором вы развертываете контейнер ЕдиногоАгента.


'''Примечание''':
'''Примечание''':


Начиная с версии образа 1.11.1000 Docker образ ЕдиногоАгента больше не поставляется с содержащимся в нем установщиком OneAgent. Вместо этого установщик загружается из вашей среды во время процесса запуска образа. Образ совместим с новыми версиями ЕдиногоАгента и не имеет конкретной связи между версией ЕдиногоАгента и версией образа. Единственная существующая зависимость — это требование минимальной поддерживаемой версии ЕдиногоАгента для данной версии образа. Подробности смотрите в таблице ниже:
Начиная с версии образа 1.11.1000 Docker образ ЕдиногоАгента больше не поставляется с содержащимся в нем установщиком ЕдиногоАгента. Вместо этого установщик загружается из вашей среды во время процесса запуска образа. Образ совместим с новыми версиями ЕдиногоАгента и не имеет конкретной связи между версией ЕдиногоАгента и версией образа. Единственная существующая зависимость — это требование минимальной поддерживаемой версии ЕдиногоАгента для данной версии образа. Подробности смотрите в таблице ниже:
{| class="wikitable"
{| class="wikitable"
!Версия образа
!Версия образа
!Минимальная требуемая версия OneAgent
!Минимальная требуемая версия ЕдиногоАгента
|-
|-
|1.11.1000 - 1.12.1000
|1.11.1000 - 1.12.1000
Строка 27: Строка 27:
|}
|}


== Найдите URL-адрес установщика OneAgent. ==
== Найдите URL-адрес установщика ЕдиногоАгента. ==
Первый шаг — получить местоположение для <code>ONEAGENT_INSTALLER_SCRIPT_URL</code>. Эта информация предоставляется вам во время установки OneAgent.
Первый шаг — получить местоположение для <code>ONEAGENT_INSTALLER_SCRIPT_URL</code>. Эта информация предоставляется вам во время установки ЕдиногоАгента.


Чтобы получить <code>ONEAGENT_INSTALLER_SCRIPT_URL</code>
Чтобы получить <code>ONEAGENT_INSTALLER_SCRIPT_URL</code>
Строка 76: Строка 76:


== Развертывание ЕдиногоАгента с помощью инструмента оркестрации контейнеров ==
== Развертывание ЕдиногоАгента с помощью инструмента оркестрации контейнеров ==
Если вы используете инструмент оркестрации контейнеров, ваш оркестратор может развернуть для вас контейнер OneAgent. Приведенные ниже фрагменты примеров показывают, как воспользоваться преимуществами инструментов оркестровки при развертывании ЕдиногоАгента на всех ваших узлах.
Если вы используете инструмент оркестрации контейнеров, ваш оркестратор может развернуть для вас контейнер ЕдиногоАгента. Приведенные ниже фрагменты примеров показывают, как воспользоваться преимуществами инструментов оркестровки при развертывании ЕдиногоАгента на всех ваших узлах.


* Запустите ЕдиныйАгент с Mesos/Marathon
* Запустите ЕдиныйАгент с Mesos/Marathon
Строка 87: Строка 87:


== Привилегии ==
== Привилегии ==
Дополнительные сведения о привилегиях, необходимых для OneAgent, развернутого как контейнер Docker, см. в разделе привилегии ЕдиногоАгента для мониторинга контейнера.
Дополнительные сведения о привилегиях, необходимых для ЕдиногоАгента, развернутого как контейнер Docker, см. в разделе привилегии ЕдиногоАгента для мониторинга контейнера.


== Ограничения ==
== Ограничения ==
Строка 97: Строка 97:
* ЕдиныйАгент не зарегистрирован в автозагрузке системы. Время жизни и запуск контейнера с процессами ЕдиногоАгента управляются Docker.
* ЕдиныйАгент не зарегистрирован в автозагрузке системы. Время жизни и запуск контейнера с процессами ЕдиногоАгента управляются Docker.
* Поддерживаются все параметры командной строки программы установки, за исключением <code>INSTALL_PATH</code>, <code>LOG_PATH</code>, и<code>DATA_STORAGE</code>.
* Поддерживаются все параметры командной строки программы установки, за исключением <code>INSTALL_PATH</code>, <code>LOG_PATH</code>, и<code>DATA_STORAGE</code>.
* Существует зависимость запуска между контейнером, в котором развернут OneAgent, и контейнерами приложений, которые должны быть инструментированы (т. е. в которых включен глубокий мониторинг процессов). Контейнер ЕдиногоАгента должен быть запущен, а процесс <code>oneagenthelper</code> должен быть запущен до запуска контейнера приложения, чтобы приложение могло быть правильно инструментировано.
* Существует зависимость запуска между контейнером, в котором развернут ЕдиныйАгент, и контейнерами приложений, которые должны быть инструментированы (т. е. в которых включен глубокий мониторинг процессов). Контейнер ЕдиногоАгента должен быть запущен, а процесс <code>oneagenthelper</code> должен быть запущен до запуска контейнера приложения, чтобы приложение могло быть правильно инструментировано.


== Обновление ЕдиногоАгента для контейнеров Docker ==
== Обновление ЕдиногоАгента для контейнеров Docker ==
Чтобы обновить ЕдиныйАгент в контейнерах Docker
Чтобы обновить ЕдиныйАгент в контейнерах Docker


Следуйте инструкциям, соответствующим тому, как вы установили OneAgent.
Следуйте инструкциям, соответствующим тому, как вы установили ЕдиныйАгент.


* Если вы установили его в Linux, следуйте инструкциям по обновлению ЕдиногоАгента в Linux.
* Если вы установили его в Linux, следуйте инструкциям по обновлению ЕдиногоАгента в Linux.
* Если вы установили его в Windows, следуйте инструкциям по обновлению ЕдиногоАгента в Windows.
* Если вы установили его в Windows, следуйте инструкциям по обновлению ЕдиногоАгента в Windows.
* Если вы развернули ЕдиныйАгент как контейнер Docker, перезапустите контейнер с помощью следующей команды.  <code>$ docker restart oneagent</code>  при условии, что вы добавили параметр <code>--name=oneagent</code> в соответствующую команду запуска Docker. Docker Образ ЕдиногоАгента автоматически получит последнюю версию OneAgent.  Если вы указали версию установки ЕдиногоАгента по умолчанию для новых хостов и приложений в настройках обновлений OneAgent, образ ЕдиногоАгента Docker автоматически получит указанную версию ЕдиногоАгента по умолчанию. '''Примечание'''. Автоматическое обновление ЕдиногоАгента не поддерживается, если ЕдиныйАгент развернут как образ Docker.
* Если вы развернули ЕдиныйАгент как контейнер Docker, перезапустите контейнер с помощью следующей команды.  <code>$ docker restart oneagent</code>  при условии, что вы добавили параметр <code>--name=oneagent</code> в соответствующую команду запуска Docker. Docker Образ ЕдиногоАгента автоматически получит последнюю версию ЕдиногоАгента.  Если вы указали версию установки ЕдиногоАгента по умолчанию для новых хостов и приложений в настройках обновлений ЕдиногоАгента, образ ЕдиногоАгента Docker автоматически получит указанную версию ЕдиногоАгента по умолчанию.  
'''Примечание'''. Автоматическое обновление ЕдиногоАгента не поддерживается, если ЕдиныйАгент развернут как образ Docker.

Версия 14:55, 23 апреля 2023

В этом разделе объясняется, как запустить ЕдиныйАгент в качестве контейнера Docker для внедрения полного стека. Следуйте этому подходу, если вы используете среду выполнения Docker без платформы оркестрации.

Поддерживаемые версии

Развертывание ЕдиногоАгента через контейнер Docker поддерживается для Docker Engine версий 1.10–1.13.1, 17.03+ CE и EE и доступно только для хостов на базе Linux. Установка внутри контейнера не поддерживается. Дополнительные сведения см. в разделе ограничения этой модели развертывания.

Requirements

  • Создайте токен PaaS.
  • Ваша среда Docker должна позволять вашему контейнеру ЕдиногоАгента работать в привилегированном режиме.
  • Каталог/opt должен существовать на хосте, на котором вы развертываете контейнер ЕдиногоАгента.

Примечание:

Начиная с версии образа 1.11.1000 Docker образ ЕдиногоАгента больше не поставляется с содержащимся в нем установщиком ЕдиногоАгента. Вместо этого установщик загружается из вашей среды во время процесса запуска образа. Образ совместим с новыми версиями ЕдиногоАгента и не имеет конкретной связи между версией ЕдиногоАгента и версией образа. Единственная существующая зависимость — это требование минимальной поддерживаемой версии ЕдиногоАгента для данной версии образа. Подробности смотрите в таблице ниже:

Версия образа Минимальная требуемая версия ЕдиногоАгента
1.11.1000 - 1.12.1000 1.119
1.13.1000 - 1.21.1000 1.139
>= 1.22.1000 1.157

Найдите URL-адрес установщика ЕдиногоАгента.

Первый шаг — получить местоположение для ONEAGENT_INSTALLER_SCRIPT_URL. Эта информация предоставляется вам во время установки ЕдиногоАгента.

Чтобы получить ONEAGENT_INSTALLER_SCRIPT_URL

  1. В меню Ключ-АСТРОМ выберите «Развернуть Ключ-АСТРОМ», выберите «Начать установку», а затем «Linux».
  2. Определите URL-адрес сценария установщика и токен с помощью команды wget, предоставляемой пользовательским интерфейсом:

This is the URL:

This is the token:

Замените значение параметра arch на <arch>. Игнорируйте параметр flavor=default.

Ваш URL-адрес должен выглядеть следующим образом: https://host.domain.com/api/v1/deployment/installer/agent/unix/default/latest?arch=<arch>

Это ваш ONEAGENT_INSTALLER_SCRIPT_URL.

Запустите ЕдиныйАгент как контейнер Docker

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

Выполните следующую команду docker run убедившись, что вы передаете URL-адрес и токен, которые вы определили ранее, в качестве значений переменных среды ONEAGENT_INSTALLER_SCRIPT_URL и ONEAGENT_INSTALLER_DOWNLOAD_TOKEN.

docker run -d
--restart=on-failure:5
--pid=host
--net=host
--cap-drop ALL
--cap-add CHOWN
--cap-add DAC_OVERRIDE
--cap-add DAC_READ_SEARCH
--cap-add FOWNER
--cap-add FSETID
--cap-add KILL
--cap-add NET_ADMIN
--cap-add NET_RAW
--cap-add SETFCAP
--cap-add SETGID
--cap-add SETUID
--cap-add SYS_ADMIN
--cap-add SYS_CHROOT
--cap-add SYS_PTRACE
--cap-add SYS_RESOURCE
--security-opt apparmor:unconfined
-v /:/mnt/root
-e ONEAGENT_INSTALLER_SCRIPT_URL=<REPLACE_WITH_YOUR_URL>
-e ONEAGENT_INSTALLER_DOWNLOAD_TOKEN=<Api-Token>
astromkey/oneagent <INSTALLER_PARAMETERS>

Развертывание ЕдиногоАгента с помощью инструмента оркестрации контейнеров

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

  • Запустите ЕдиныйАгент с Mesos/Marathon
  • Запустите ЕдиныйАгент с Kubernetes
  • Запустите ЕдиныйАгент с Container Service
  • Настройте Ключ-АСТРОМ в Cloud Foundry

Пользовательская установка с параметрами командной строки.

В качестве альтернативы вы можете выполнить выборочную установку с параметрами командной строки.

Привилегии

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

Ограничения

  • ЕдиныйАгент имеет доступ только к дискам, смонтированным внутри контейнера, в котором он работает. Поэтому ЕдиныйАгент может сообщать метрики только для этих дисков контейнера, а не для дисков базовых хостов. Это вызвано контекстом, в котором ЕдиныйАгент выполняет свои команды для сбора данных.
  • Глубокий мониторинг нативных (т. е. неконтейнерных) процессов на хостах отключен. Файл внедрения ld.so.preload в файловой системе хоста не изменяется, поэтому автоматическое внедрение в процессы, запущенные вне контейнеров, невозможно.
  • Из-за этого расширение JMX может работать только с процессами, запущенными внутри контейнеров. Расширение JMX тесно связано с глубоким мониторингом процессов Java.
  • Запись сбоев приложений и дампов ядра с помощью oneagentdumpproc не поддерживается.
  • ЕдиныйАгент не зарегистрирован в автозагрузке системы. Время жизни и запуск контейнера с процессами ЕдиногоАгента управляются Docker.
  • Поддерживаются все параметры командной строки программы установки, за исключением INSTALL_PATH, LOG_PATH, иDATA_STORAGE.
  • Существует зависимость запуска между контейнером, в котором развернут ЕдиныйАгент, и контейнерами приложений, которые должны быть инструментированы (т. е. в которых включен глубокий мониторинг процессов). Контейнер ЕдиногоАгента должен быть запущен, а процесс oneagenthelper должен быть запущен до запуска контейнера приложения, чтобы приложение могло быть правильно инструментировано.

Обновление ЕдиногоАгента для контейнеров Docker

Чтобы обновить ЕдиныйАгент в контейнерах Docker

Следуйте инструкциям, соответствующим тому, как вы установили ЕдиныйАгент.

  • Если вы установили его в Linux, следуйте инструкциям по обновлению ЕдиногоАгента в Linux.
  • Если вы установили его в Windows, следуйте инструкциям по обновлению ЕдиногоАгента в Windows.
  • Если вы развернули ЕдиныйАгент как контейнер Docker, перезапустите контейнер с помощью следующей команды. $ docker restart oneagent при условии, что вы добавили параметр --name=oneagent в соответствующую команду запуска Docker. Docker Образ ЕдиногоАгента автоматически получит последнюю версию ЕдиногоАгента. Если вы указали версию установки ЕдиногоАгента по умолчанию для новых хостов и приложений в настройках обновлений ЕдиногоАгента, образ ЕдиногоАгента Docker автоматически получит указанную версию ЕдиногоАгента по умолчанию.

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