systemd ジャーナルを使用して重大なエラーの電子メール送信を自動化できますか?

systemd ジャーナルを使用して重大なエラーの電子メール送信を自動化できますか?

Fedora OS では、journalctlエラー メッセージをログに記録する新しい方法が導入されています。最近アップグレードを実行したときに、これについて知りました。他の多くのログ ファイルがディレクトリ内のvar/log/messages1 つのファイルにまとめられるようになりました。.journalvar/log/journal

古いものを使用して重大なエラーを記録するために特別に作成されたカスタム ログがありますrsyslog

*.crit  /var/log/critical/log

このファイルは私にメールで送信され、エラーがある限り、cronジョブを使用して1時間ごとにローテーションされます。では、これをどのように実行するのでしょうか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)、その出力がメールで送信されます。

ジャーナル カーソルを記憶することで、どこまで行ったかをブックマークするため、重複したログ エントリが送信されません。

関連情報