Развертывание syslog-сервера возможно в двух вариантах:
- На том же хосте, что и ECCM.
В данном случае необходимо при настройке указать порт, отличный от 514, во избежание конфликтов с внутренним сервисом ECCM.
Описание используемых портов ECCM приведено в разделе "Векторы сетевого взаимодействия". - На отдельном хосте.
В данном случае вы можете использовать 514 порт, как описано в инструкции ниже.
1. Настройка сервера rsyslog
Установите 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 |
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.8/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 |