Развертывание syslog-сервера возможно в двух вариантах:
Установите rsyslog:
apt-get install rsyslog |
Создайте директорию для логов ECCM:
mkdir /var/log/eccm |
Назначьте необходимые права:
chown syslog:adm/var/log/eccm/ |
chown root:adm/var/log/eccm/ |
В конец файла /etc/rsyslog.conf добавьте следующие строки:
$ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514 |
$template RemoteLogs,"/var/log/eccm/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?RemoteLogs & ~ |
Перезапустите службу:
sudo systemctl restart rsyslog |
(Только для Astra) создайте директорию /etc/docker/
mkdir/etc/docker |
Файл /etc/docker/daemon.json должен выглядеть следующим образом:
{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "tcp://<ip_syslog_server>:514",
"tag": "{{.Name}}"
}
} |
В файле eccm/2.4/eccm/docker-compose.yml закомментируйте строки, которые отвечают за запись логов на тот же сервер, где запущен ECCM:
nano eccm/docker-compose.yml
#x-docker-logging:
# logging:
# &docker-logging
# driver: "json-file"
# options:
# max-size: ${LOGGING_MAX_FILE_SIZE:-50M}
# max-file: ${LOGGING_MAX_FILES:-5}
# compress: ${LOGGING_COMPRESS:-true}
и для всех контейнеров
# logging:
# <<: *docker-logging |
Также закомментируйте строки в файле eccm/1.1N/postgres/docker-compose.yml:
nano postgres/docker-compose.yml
# logging:
# driver: "json-file"
# options:
# max-size: ${LOGGING_MAX_FILE_SIZE:-50M}
# max-file: ${LOGGING_MAX_FILES:-5}
# compress: ${LOGGING_COMPRESS:-true} |
Перезапустите docker:
systemctl restart docker |
Если у вас уже запущены контейнеры, удалите их. Данные при этом не потеряются:
./compose-tools.sh --delete-containers |
Перезапустите контейнеры:
./compose-tools.sh -s <ip_eccm> |
Если запись логов не началась, перезапустите службу:
systemctl restart rsyslog |