Я новичок в rsyslog и пытаюсь понять, почему я не получаю журналы Apache и mysql, которые настроены на стороне клиента для отправки через rsyslog. В настоящее время я получаю все другие типы журналов со всех моих хостов, кроме Apache и mysql. Я предполагаю, что что-то не так с моей директивой фильтра на стороне сервера. Ниже представлена копия директив, которые я настроил для mysql и apache.
$template PerHostApacheError,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/error.log"
$template PerHostApacheAccess,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/%msg:R,ERE,1,ZERO:imp:([a-zA-Z0-9\-]+)\.--end%-access.log"
$template PerHostMySqld,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/mysql.log"
У меня вопрос: правильно ли выглядят указанные выше директивы на стороне сервера? Если нет, то как они должны выглядеть. В документации на самом деле не показаны примеры того, как его следует использовать, но больше того, что делает каждый из них. Кроме того, есть ли возможность перехватывать все сообщения, для которых не определена директива - например, регистрировать все другие сообщения, не определенные с помощью директивы, в файле catchall.log для каждого хоста. Что-то вроде:
$template PerHostCatchAll,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/catchall.log
Спасибо за помощь заранее.