URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94119
[ Назад ]

Исходное сообщение
"syslog-ng. Часть хостов резолвить по ip,часть нет.  Как?"

Отправлено atomlab , 05-Дек-12 12:19 
Добрый день.

Есть сеть. В ней есть несколько почтовых серверов и сотни свичей и роутеров.
Когда логи прилетают от серверов хочу раскидывать по каталогам с доменным именем сервера.
Когда логи прилетают от свичей,хочу чтобы в качтсве имени каталога был 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.

Как решить данную задачу?
Спасибо.


Содержание

Сообщения в этом обсуждении
"syslog-ng. Часть хостов резолвить по ip,часть нет.  Как?"
Отправлено atomlab , 06-Дек-12 15:15 
Нашел ответ. Подсказали на LOR.
Переменная $SOURCEIP содержит ip последнего хоста от которого пришло собщение. В данном случае оборудование шлет сообщения напрямую на сервер логов,так что в $SOURCEIP содержиться ip ,который мне нужен.

Список переменных syslog-ng
http://www.balabit.com/sites/default/files/documents/syslog-...