Включение ротации журналов для существующего локального контейнера Connector Host
  • 04 Nov 2023
  • 1 Минута для чтения
  • Авторы

Включение ротации журналов для существующего локального контейнера Connector Host


Вводный текст

Назначение

Данное руководство носит сугубо технический характер и должно быть согласовано с ИТ-отделом вашей организации.

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

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

Что такое Log-rotations в Docker?

Хост локального коннектора Tulip работает в контейнере docker, который использует драйвер json-logging для хранения файлов журнала локально на ВМ. Эти файлы могут занимать значительный объем дискового пространства, если не включена функция log-rotations для docker. Log-rotation позволяет ограничить размер лог-файла и количество таких файлов для каждого контейнера.

Реализация

Ниже описано, как включить ротацию журнала для docker, перезапустить docker, удалить существующий контейнер и создать новый контейнер для локального узла коннектора Tulip.

Данная процедура приведет к небольшому простою хоста коннектора, поэтому рекомендуется выполнять следующие команды во время планового простоя или когда хост коннектора не используется.

Вращение журналов

Ротацию журналов можно включить, выполнив следующие команды на виртуальной машине Linux

$ sudo su $ touch /etc/docker/daemon.json

`` $ cat > /etc/docker/daemon.json <<EOF

data-tomark-pass >

{

"live-restore": true,

"log-driver": "json-file",

"log-opts": {

"max-size": "10m",

"max-file": "3"

}

}

EOF ```

Перезапуск Docker

Для того чтобы docker мог использовать конфигурацию log-rotations, перезапустите docker, выполнив следующую команду

$ sudo systemctl restart docker

Удаление существующего контейнера

`` $ sudo docker ps

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



`$ sudo docker stop <имя контейнера>`


`$ sudo docker rm <container id>`


### Создание нового контейнера


Повторно выполните следующую команду docker run, которая была выполнена при первой настройке локального узла коннектора Tulip


`$ docker run -d \ --name tulip-connector-host \ -e TULIP_FACTORY='https://<FACTORY>.tulip.co' \ -e TULIP_UUID='<UUID>' \ -e TULIP_MACHINE_SECRET='<SECRET>' \ -e TULIP_DEVICE_TYPE=onprem -e HTTP_PROXY='' \ -e HTTPS_PROXY='' \ -e EXIT_ON_DISCONNECT=true \ --restart=unless-stopped \ --net=host \ --mount type=volume,source=tuliplog,target=/log \ bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:prod`


Если указанные выше учетные данные недоступны, обратитесь в компанию [Tulip](mailto:support@tulip.co).


Контейнер, на котором запущен локальный Connector Host компании Tulip, должен быть настроен, а вращение журналов включено. 


Чтобы убедиться в том, что контейнер восстановлен, можно проверить журналы нового контейнера, выполнив следующую команду 


`$ docker logs <имя контейнера>`


Была ли эта статья полезной?