Как я могу классифицировать журналы по портам с rSyslog?

Я всегда использовал Syslog-NG для своих ситуаций регистрации, но мои руки связаны, и я должен использовать rsyslog, с чем я не слишком знаком.

Я в значительной степени понимаю, как его настроить, однако один из способов, который я хочу сделать, - это классифицировать по типу устройства, то есть журналы устройств Linux попадают в папку linux, то же самое для окон и т. Д. И т. Д.

С помощью Syslog-NG я смог сделать это, имея разные порты для каждого типа устройств, а затем с помощью Syslog-ng поместил его в нужную папку для порта.

Я не могу найти способ сделать это в rsyslog. Я пробовал шаблоны, но все, что они делают - это помещают все в папку linux и все в папку windows, по сути дублируя. Я пробовал с фильтрами, но ни к чему не привел.

Во-первых, кто-нибудь знает, можно ли так классифицировать журналы? И если так, не могли бы вы указать мне правильное направление?

1 ответ

Решение

Если вы хотите ввести данные с данного порта tcp, чтобы перейти к одному файлу журнала, и со второго порта tcp, чтобы перейти к другому, проверьте несколько наборов правил. Пример разделения локальной и удаленной регистрации для трех разных портов, сокращенных до 2 TCP-портов 10514 и 10515, дает вам:

ruleset(name="remote10514"){
    action(type="omfile" file="/var/log/fileA")
}
ruleset(name="remote10515"){
    action(type="omfile" file="/var/log/fileB")
}
input(type="imptcp" port="10514" ruleset="remote10514")
input(type="imptcp" port="10515" ruleset="remote10515")

Внутри каждого ruleset(){...} Вы можете иметь любую обычную дальнейшую фильтрацию и шаблонизацию.

Другие вопросы по тегам