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

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

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

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

*.crit  /var/log/critical/log

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

Эта команда производит аналогичный вывод

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

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

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

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

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