у меня возникли проблемы с фильтрацией сообщений, поступающих из нескольких источников (коммутаторы HP), и я хотел бы получить несколько советов.
у меня есть огромный файл конфигурации syslog-NG, фильтрующий сообщения, поступающие из разных источников (серверы Unix, файловые системы NAS, устройства и т. д.)
Обычно я фильтрую сообщения с помощью функции host(), filter() или даже программы().
однако у меня возникают проблемы с фильтрацией сообщений, поступающих от некоторых коммутаторов HP (сетевых коммутаторов и коммутаторов san), хотя формат сообщения кажется правильным.
например, я получаю такие сообщения, как:
Mar 14 10:40:48 switchname program: message contents here
и я создал такой фильтр (позже используется в функции журнала):
filter f_network {
host("switch*");
};
но это не работает (в то время как все остальные работают для других устройств), я также пытался фильтровать по имени программы, та же проблема.
есть ли способ исследовать это и понять, почему это не работает? возможно, сообщение отформатировано по-другому и поле хоста не это (я пробовал все остальные поля и не смог заставить его работать)
при прослушивании сетевого интерфейса с помощью tcpdump я вижу обычное сообщение (по-видимому, никаких скрытых специальных символов или других, но, возможно, я использую неправильные флаги)
любой способ проверить это?
С уважением