Установка и запуск Агента
При первом запуске Агента средством управления контейнерами (Docker или Podman) происходит скачивание образа контейнера с сайта производителя на локальный физический сервер или виртуальную машину и одновременный запуск этого образа контейнера, при котором происходит его регистрация в центральном сервисе.
Для корректной работы необходимо передать параметры подключения и подключить каталог постоянного хранения. Параметры подключения передаются через переменные окружения, перечисленные ниже.
- AGENT_NAME
имя агента; обязательный параметр — без него запуск контейнера прерывается с сообщением об ошибке
- AGENT_LICENSE_ID
ключ лицензии; обязательный параметр — без него запуск контейнера прерывается с сообщением об ошибке
- SYSLOG_SERVER_PORT
порт для приема данных Syslog внутри контейнера, значение по умолчанию: 514
- SNMP_SERVER_PORT
порт для приема SNMP-ловушек внутри контейнера, значение по умолчанию: 162
Хранение данных
Агент хранит необходимые для работы данные в директории /data внутри контейнера, в которой сохраняются:
зарегистрированный идентификатор Агента
служебные файлы
накопленные данные, в случае потери подключения к Ядру системы
Рекомендуется всегда использовать внешний том (volume или bind-mount), чтобы при удалении контейнера данные сохранялись на хосте.
При отсутствии тома Агент будет считаться новым при каждом пересоздании.
При каждом запуске Агент проверяет доступность Ядра. Если сертификат сервера Ядра не проходит проверку TLS (например, из-за инспекции трафика в сети Заказчика), разместите сертификат удостоверяющего центра в формате PEM (файл .pem или .crt) в каталоге, смонтированном в /data: Агент найдёт подходящий сертификат и добавит его в доверенные при запуске. Без подходящего сертификата запуск контейнера прерывается.
Запуск
Для установки и запуска агента используйте команду docker run или podman run. Пример команды:
docker run -d \ --name agent \ --env AGENT_NAME="AgentName" \ --env AGENT_LICENSE_ID="12345678-1234-1234-1234-123456789012" \ --env SYSLOG_SERVER_PORT="514" \ --env SNMP_SERVER_PORT="162" \ --mount type=bind,source=./data,destination=/data \ --publish 1514:514/tcp \ --publish 1514:514/udp \ --publish 1162:162/udp \ --verify-tls \ cr.paladin-projects.ru/palladium-modules/agent:stable
Аргументы, использованные в команде выше:
-dили--detachзапускает контейнер в фоновом режиме--nameзадаёт контейнеру имя (в данном случае agent). Если этот аргумент не использовать, средство управления контейнерами сгенерирует уникальное имя для контейнера-eили--envпередаёт параметры запуска в виде переменных окружения контейнера--mount type=bind,source=./data,destination=/dataмонтирует локальный каталог ./data в контейнер-pили--publishосуществляет связку открытых в контейнере портов с портами хоста (физического сервера или виртуальной машины). Номер порта, указываемый перед двоеточием — это номер порта, который будет открыт на хосте. Номер порта, указываемый после двоеточия — номер порта в контейнере. Номер порта в контейнере должен соответствовать параметру запуска SYSLOG_SERVER_PORT. Обратите внимание, что при запуске контейнера от непривилегированного пользователя операционная система не позволит указать перед двоеточием номер порта меньше или равный 1024--verify-tls— проверять валидность сертификата TLS при скачивании образа контейнера Агента с сайта cr.paladin-projects.rucr.paladin-projects.ru/palladium-modules/agent:stable— адрес репозитория образов контейнеров и путь до контейнера, содержащего Агент
Средство управления контейнерами Podman использует те же параметры запуска, что и Docker.
После того, как вы введёте команду docker run или podman run с необходимыми аргументами, средство управления контейнерами загрузит образ контейнера из репозитория, разместит его на локальном хосте (физическом сервере или виртуальной машине), выведет уникальный цифробуквенный идентификатор созданного контейнера и вернёт управление командной оболочке.
Пример добавления Proxy:
--env PROXY_ENABLED="true" \ --env PROXY_HOST="proxy.company.local" \ --env PROXY_PORT="3128"
Если PROXY_ENABLED установлен в true, параметр PROXY_HOST обязателен — без него запуск контейнера прерывается. Если PROXY_PORT не указан, используется значение по умолчанию 3128.