Назад | Перейти на главную страницу

Правило systemd logcheck не работает

дано это правило проверки журнала:

^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd-logind\[[[:digit:]]+\]: New session [[:digit:]]+ of user [^[:space:]]+\.$

и эта запись в журнале:

Mar 19 09:16:09 horst kernel: [3257039.867032] <38>systemd-logind[193047]: New session 24987 of user icinga.

Похоже, они не совпадают, к сожалению, я не могу найти подходящего (sic) правила для элемента <38>. И да, похоже, это статичное число.

Откуда взялся <38>

в RFC 3164, заголовок 4.1.1 Часть PRI описывает функцию <38>. Возможности и серьезность сообщения объединены в одно число:

facility * 8 + severity = 38
facility = 4 = "AUTH"
severity = 6 = "INFO"

Это число как обычно удаляется демоном syslog перед записью в файл.

Как исправить регулярное выражение

Лучший способ найти проблему в этом случае - сравнить регулярное выражение со строкой по частям. Вы не соответствовали kernel: [123.456] часть:

^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ kernel: \[[[:digit:] .-]+\] <38>systemd-logind\[[[:digit:]]+\]: New session [[:digit:]]+ of user [^[:space:]]+\.$