Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 2.05 KB

README.md

File metadata and controls

48 lines (37 loc) · 2.05 KB

Journalcheck – like logcheck, but for journald

Journalcheck is a simple utility which sends mails of possibly interesting journal entries to a configurable e-mail address. Journal entries are marked as not interesting by matching a regular expression, a list of which can be provided in a file, one per line.

This is very similar in operation to logcheck, except it operates on the journal instead of plain text log files.

Installation

go get github.com/jorgenschaefer/journalcheck
mkdir -p /opt/journalcheck/{bin,etc,var}
cp $GOPATH/bin/journalcheck /opt/journalcheck/bin/
touch /opt/journalcheck/etc/filters.txt
cp $GOPATH/src/github.com/jorgenschaefer/journalcheck/default /etc/default/journalcheck
cp $GOPATH/src/github.com/jorgenschaefer/journalcheck/journalcheck.{service,timer} /etc/systemd/system

Now edit /etc/default/journalcheck and /opt/journalcheck/etc/filters.txt. The latter should contain regular expressions matching the lines journalcheck -o match emits. You can use that command in conjunction with -n 1000 or similar to get a larger number of lines you might want to ignore.

Journalcheck sends mail using /usr/sbin/sendmail, so make sure that works (using e.g. nullmailer).

Configuration

Journalcheck is configured using either command line arguments (see journalcheck -h) and/or the following environment variables:

  • JOURNALCHECK_CURSORFILE: A file to store the last read cursor in. Needs to be writable by the journalcheck process.
  • JOURNALCHECK_FILTERFILE: A file containing regular expressions, one per line, matching entries to ignore. These regular expressions are matched against <identifier>: <message> lines, which you can see using the -o match format argument. This is different from the default format, as it does not include time stamps, the host name, or the PID of the process.
  • JOURNALCHECK_RECIPIENT: An e-mail address to send mails to.