Можно ли автоматизировать отправку по электронной почте критических ошибок с помощью журнала systemd?

Можно ли автоматизировать отправку по электронной почте критических ошибок с помощью журнала systemd?

Fedora OS представляет journalctlновый способ регистрации сообщений об ошибках. Я узнал об этом недавно, когда выполнил обновление. var/log/messagesи многие другие файлы журналов теперь объединены в .journalфайл в var/log/journalкаталоге.

У меня есть специальный журнал, созданный специально для регистрации критических ошибок с использованием старого rsyslog:

*.crit  /var/log/critical/log

Этот файл будет отправлен мне по электронной почте и будет ротироваться каждый час с помощью задания cron, пока есть ошибка. Теперь, как это будет сделано с помощью journalctl? Параметры в journald.confкажутся довольноограниченное. Мне все еще нужно rsyslogэто делать?

решение1

Эта команда выдает похожий вывод

journalctl --since="$(date '+%Y-%m-%d %H:%M:%S' -d '1 hour ago')" --priority=crit --quiet

решение2

Кстати, я написал небольшую программу journal-brief, которая выводит сводку сообщений журнала с момента ее последнего запуска.

https://github.com/twaugh/journal-brief

Если вы запустите его из cron (например, journal-brief -p err), вы получите его вывод по почте.

Он сохраняет закладки, где он был, запоминая курсор журнала, поэтому не будет отправлять дублирующие записи журнала.

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