syslog-ng дата добавления к полученным логам, нарушение шаблонов в patterndb
Я настраиваю централизованное ведение журнала для наших серверов, используя syslog-ng
+ patterndb
однако журналы, которые сервер регистрации получает от клиента, содержат дату, хост и другие данные. Это, конечно, нарушает все закономерности в patterndb
так что ничего не соответствует.
Есть ли способ выполнить некоторую предварительную обработку исходного файла журнала, прежде чем пытаться классифицировать его или каким-либо другим способом преодолеть эту проблему?
Приветствия.
Соответствующий клиент conf:
source s_src {
system();
internal();
};
destination d_central_logging {
syslog(192.168.1.1 transport("tcp") port("12345"));
};
log {
source(s_src);
destination(d_central_logging);
};
Соответствующий сервер conf:
parser p_patterndb {
db-parser(file("/var/lib/syslog-ng/patterndb.xml"));
};
source s_network {
tcp(port(12345) flags(syslog-protocol));
};
filter f_class_unknown {
match("unknown"
value(".classifier.class")
type("string")
);
};
destination d_all {
file("/tmp/all");
};
destination d_unknown {
file("/tmp/unknown");
};
log {
source(s_network);
parser(p_patterndb);
log {
filter(f_class_unknown);
destination(d_unknown);
};
log {
destination(d_all);
};
};
РЕДАКТИРОВАТЬ:
исходная строка журнала:10.0.2.2 - - [23/Dec/2014:13:42:49 +0000] "GET /assets/favicon.ico HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"
измененная строка журнала:Dec 23 13:59:08 192.168.33.44 264 <13>1 2014-12-23T13:42:50+00:00 devhost 10.0.2.2 - - [meta sequenceId="8"] - - [23/Dec/2014:13:42:49 +0000] "GET /assets/favicon.ico HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"
2 ответа
Хорошо , я нашел реальную причину, по которой матч не состоялся. Я использовал update-patterndb
команда после подтверждения того, что в github.com/balabit/syslog-ng-patterndb
Сделки РЕПО. Тем не менее update-patterndb
команда не включала .xml
только файлы .pdb
файлы. Я видел файл скомпилированного шаблона в /var/lib/syslog-ng/patterndb.xml
меняется но никогда не проверял. Как man-страницы для update-patterndb
скажем, это всего лишь тонкая обертка вокруг pdbtool merge
команда. Это работает для меня:
pdbtool merge -r --glob *.xml -D /etc/syslog-ng/patterndb.d/syslog-ng-patterndb/
Каталог /etc/syslog-ng/patterndb.d/syslog-ng-patterndb/
где я клонировал репо. Я могу подтвердить, что шаблоны Apache теперь извлекают содержимое, как и ожидалось, проверив файл скомпилированного шаблона, запустив pdbtool test
Команда и видеть структурированные результаты в тех, которые получают данные в нисходящем направлении.
Пол прав, протоколы, используемые в клиенте-получателе и сервере-источнике, не совпадают. В результате сервер не распознает входящее сообщение как правильно отформатированное сообщение системного журнала и добавляет информацию о хосте, дате и другой информации.
С Уважением,
Роберт