Как сортировать входящие сообщения журнала по имени хоста и временной метке с помощью Rsyslog?

Как сортировать входящие сообщения журнала по имени хоста и временной метке с помощью Rsyslog?

Мне было интересно, сортировал ли кто-нибудь входящие журналы, собранные Rsyslog, по имени хоста и временной метке в журнале.

Сейчас у меня Rsyslog сортирует сообщения по имени хоста, перемещая их в соответствующие папки, а затем Logrotate устанавливается на ежедневный. Меня беспокоит, что после logrotation приходят журналы с временной меткой за предыдущий день. Поскольку не все серверы синхронизированы, я подумал, что это может вызвать некоторую путаницу, если мне когда-нибудь понадобится искать журналы, а имя файла не будет на 100% соответствовать правильной дате для журналов внутри.

Любая помощь?

Ваше здоровье

решение1

убедитесь, что вы используете ntp для синхронизации времени. Если нет, попробуйте использовать переменные свойств сообщения. Это элементы, полученные из сообщения или информации о подключении, такие как временная метка в сообщении, временная метка получения сообщения в локальной системе, имя хоста в сообщении, имя хоста/IP системы, которая доставила сообщение на локальный сервер, информация PRI и т. д. Для rsyslog версии 5 и более ранних это были единственные доступные переменные.

Поэтому попробуйте использовать переменную времени получения вместо временной метки, чтобы убедиться, что эта проблема никогда не возникнет.

> $template TEMPLATE_NAME,"%timegenerated:::date-rfc3339% %fromhost% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

Связанный контент