Развертывание syslog-сервера возможно в двух вариантах:
- На том же хосте, что и ECCM.
В данном случае необходимо при настройке указать порт, отличный от 514, во избежание конфликтов с внутренним сервисом ECCM.
Описание используемых портов ECCM приведено в разделе "Векторы сетевого взаимодействия". - На отдельном хосте.
В данном случае вы можете использовать 514 порт, как описано в инструкции ниже.
1. Настройка сервера rsyslog
Установите rsyslog:
apt-get install rsyslog
Создайте директорию для логов ECCM:
mkdir /var/log/eccm
Назначьте необходимые права:
- для Ubuntu
chown syslog:adm/var/log/eccm/
- Для Astra
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
2. Настройка сервера ECCM
(Только для 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