Мне было поручено настроить более длительное / лучшее хранение журналов для наших серверов postgres, но после настройки postgres для отправки журналов в syslog через local0
Я обнаружил, что они никогда не попадают в настроенный локальный файл.
/etc/rsyslog.d/postgresql.conf
:
local0.* /company/data/psql/company_cluster/log/postgresql.log
Соответствующая конфигурация postgres:
log_destination = 'syslog'
syslog_facility = 'local0'
После того, как я получил конфигурацию и перезагрузил / перезапустил службы, я заметил, что, хотя в указанный файл журнала ничего не входило [даже после touch
ing it] я был видеть сообщения, отправленные в серый журнал, который имеет *.*
правило.
Еще более странно то, что logger -p local0.info test
или любой другой объект не генерирует сообщения нигде, что я могу найти. То же самое и с любым другим local
объект или даже mail.none
.
Rsyslog, кажется, перезапускается чисто, я дважды проверил контекст selinux в файле конфигурации, и я не могу найти никакой соответствующей информации, зарегистрированной из самого rsyslog. Что творится?
Вся конфигурация rsyslog:
# cat /etc/rsyslog.conf /etc/rsyslog.d/* | grep -v -e '^\s*#' -e '^\s*$'
$ModLoad imuxsock
$ModLoad imjournal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
# graylog.conf
*.* @graylogmaster.rancher.company.ca:8514;RSYSLOG_SyslogProtocol23Format
# listen.conf
$SystemLogSocketName /run/systemd/journal/syslog
# postgresql.conf
local0.* /company/data/psql/company_cluster/log/postgresql.log
Редактировать: Решение "не совсем решение"
Кажется, что-то не так с Rsyslog [и, может быть, больше] на конкретном сервере, над которым я работал, когда первоначально разместил этот вопрос. Перезапуск службы ничего не сделал, и я жду окна обслуживания, чтобы перезапустить или повторно подготовить этот сервер.
Эта же конфигурация отлично работает на других серверах, но с оговоркой, что LOCAL0
кажется недействительным по крайней мере в некоторых контекстах, но local0
работает везде.