В настоящее время у меня есть файлы конфигурации системного журнала с использованием настройки local0 to local7 таким образом, что конкретное устройство назначается конкретному локальному объекту, указывающему на отдельные каталоги и файлы для устройства, например:
* Записи, относящиеся к SYSLOG SERVER
* DEVICE1
local1. = Emerg / местоположение / устройство1 / 00-Emerg
local1. = оповещение / местоположение / устройство1 / 01-оповещение
local1. = крит / местоположение / устройство1 / 02-крит
* DEVICE2
local2. = Emerg / местоположение / устройство2 / 00-Emerg
local2. = оповещение / miramar / device2 / 01-alert
local2. = крит / мирамар / устройство2 / 02-крит
Проблема в том, что таким образом можно указать только 8 устройств. Как настроить syslog для работы с более чем 8 устройствами?
С уважением
Вместо (или в дополнение к) использования средств системного журнала рассмотрите возможность замены стандартного syslogd на syslog-ng. Помимо прочего, он позволяет фильтровать сообщения удаленного журнала на основе адреса хоста, который их отправил. У нас есть простая установка на нашем сервере системного журнала, которая делает это:
source remote_log { udp(ip(x.x.x.x) port(514)); };
destination remote { file("/var/log/remote/$HOST.log"); };
log { source(remote_log); destination(remote); };
Это приводит к тому, что сообщение системного журнала для каждого хоста попадает в /var/log/remote
в файле, названном в честь IP-адресов хостов. syslog-ng позволяет вам получить намного больше, чем это, если вы хотите (например, фильтрация отдельных сообщений на основе совпадений регулярных выражений), но это охватывает то, о чем вы спрашивали.
Вы можете зарегистрировать несколько серверов на одном локальном #, но если вам нужны отдельные файлы, вы должны посмотреть что-то вроде syslog-ng.