Добрый день.Есть сеть. В ней есть несколько почтовых серверов и сотни свичей и роутеров.
Когда логи прилетают от серверов хочу раскидывать по каталогам с доменным именем сервера.
Когда логи прилетают от свичей,хочу чтобы в качтсве имени каталога был ip свича.
##############################################
/etc/syslog-ng/syslog-ng.conf
options {
...
long_hostnames(off);
use_fqdn(yes);
use_dns(yes);
};
...
destination mail_log{ file("/var/log/servers/$FULLHOST/$DAY-$MONTH-$YEAR.log" create_dirs(yes) owner("log") group("log") dir_owner("log") perm(0640) dir_perm(0750) dir_group("log") ); };
destination device_log{ file("/var/log/devices/$HOST/$DAY-$MONTH-$YEAR.log" create_dirs(yes) owner("log") group("log") dir_owner("log") perm(0640) dir_perm(0750) dir_group("log") ); };
filter mail { program ("mail|pop|imap|exim|smtp|dovecot") or facility(mail) and not program ("last|syslog|^$|^[0-9]+$"); };
filter device { host ("paradyne|zyxel|voip|catalyst|dialup") or program("^[0-9]+$") or facility(local7) ;};
log { source(net); filter(mail); destination(mail_log); };
log { source(net); filter(device); destination(device_log); };
#########################################################################
Если опция use_dns(yes) , то все PTR записи ip адресов разрешаются в DNS и заносятся в переменные $HOST и $FULLHOST.
Если use_dns(no),то $HOST и $FULLHOST содержат ip адрес хоста.
Не нашел переменной которая бы всегда содержала только ip адрес хоста. Тогда я бы ее мог использовать в destination.
Как решить данную задачу?
Спасибо.