Назад | Перейти на главную страницу

syslog-ng - Как включить исходный IP-адрес и имя хоста (rDNS) в сообщение журнала?

Я хотел бы, чтобы мои сообщения были изменены syslog-ng, чтобы они включали как IP-адрес исходного хоста, так и значение обратного поиска DNS (хоста).

Я считаю, что ответ на этот вопрос заключается в вопросе: как установить параметры в строке, а не глобально? Так что они выполняются после необязательных элементов, таких как перезапись.

Я могу изменить общее сообщение, скопировав поле HOST в поле сообщения. У меня проблема в том, что такие параметры, как keep-hostname (no) и use-dns (yes), сначала выполняются глобально. Это означает, что я получаю два значения rDNS - одно в правильном поле HOST, а другое в качестве первого слова в моем СООБЩЕНИИ.

Это то, что я сейчас делаю в файле syslog-ng.conf для конкретного приложения:

source s_blah { blah; };
destination d_blah { blah; }; 
rewrite rewrite_host { set("host_ip:$HOST $MESSAGE", value("MESSAGE")); };
log {
 source(s_blah);
 rewrite(rewrite_host);
 destination(d_blah);
};

options {
 keep-hostname(no);
 use-dns(yes);
};

Я пробовал помещать параметры после других объявлений (показанных выше) и пробовал несколько способов включить их в строку оператора журнала, но это вызывает ошибки.