Определение того, кто входит на мое устройство
У меня есть машина, которая собирает данные системного журнала со многих устройств, я храню все устройства, которые я хочу записать на свое устройство, в / etc / hosts, чтобы у них всех были имена, которые я понимаю. Если устройство регистрируется на моей машине, которая не находится в / etc / hosts, я хотел бы иметь что-то еще, чтобы я мог выяснить, что это за хост, и предупредить об этом.
Я должен взять все журналы, которые генерируются на моих устройствах, поместить их в один файл и только минимально фильтровать, поэтому иногда я беру свыше 12 ГБ журналов в день. Из-за размера журнала с течением времени (который чередуется ежедневно) я не хочу делать что-то вроде cat/tr/cut/grep журнала в cronjob.
Существуют ли какие-либо другие функции в syslog-ng, уловках linux или в настройках iptables, которые помогут определить, когда приходят сообщения журнала с неопознанного хоста?
1 ответ
Я не знаком с syslog-ng (я использую rsyslog и другие), но я думаю, что на самом деле у вас должна быть карта, которая принимает исходный ip или идентификатор и возвращает то, что вы хотите назвать, предположительно, есть по умолчанию вы также можете использовать.
пары-значения-карты: переименование пар-значений для нормализации шаблона журналов и перезаписи: форматирование, изменение и обработка сообщений журнала> изменение сообщений с использованием правил перезаписи> пары-значения-карты: переименование пар значений для нормализации журналов. Анализатор пар () позволяет отображать существующие пары имя-значение в другой набор пар имя-значение. Вы можете переименовать их в большом количестве, что упрощает их использование для задач нормализации журнала (например, когда вы анализируете информацию из разных сообщений журнала и хотите преобразовать их в единую схему именования). Вы можете использовать обычные выражения пар значений, аналогично получателям на основе пар значений.
Доступно в syslog-ng OSE версии 3.10 и более поздних.
Declaration: parser parser_name { map-value-pairs( <list-of-value-pairs-options> ); };
А затем использовал вывод этой карты в шаблоне.
destination d_file { file("/var/log/${YEAR}.${MONTH}.${DAY}/messages" template("${HOUR}:${MIN}:${SEC} ${TZ} ${HOST} [${LEVEL}] ${MESSAGE}\n") template-escape(no)); };