Section: Applications/System (8)
Updated: 0.9
epylog - Syslog new log notifier and parser.
epylog [-c epylog.conf] [-d LOGLEVEL] [--last PERIOD] [--store-offsets] [--quiet]
Epylog is a new log notifier and parser which runs periodically out of cron, looks at your logs, processes the entries in order to present them in a more comprehensive format, and then provides you with the output. It is written specifically with large network clusters in mind where a lot of machines (around 50 and upwards) log to the same loghost using syslog or syslog-ng.
Alternatively, Epylog can be invoked from the command line and provide a log report based on a certain provided time period. In this case it relies on syslog timestamps to find the offsets, as opposed to the end-of-log offsets stored during the last run, though this behavior is not as reliable and is easily thwarted by skewed clocks.
The core of epylog is written in python. It handles things like timestamp lookups, unwrapping of "last message repeated" lines, handling of rotated files, preparing and publishing the reports, etc.
The modules are pluggable and can be either "internal", written in python, or external. External modules can be written in any language, but at a price of some convenience. For more info see epylog-modules(5).
Depending on the size of your logs, you might want to initialize your offsets before letting epylog run from cron. When the offsets.xml file is missing, epylog will by default process the entire log, and depending on your configuration, that can be a lot of entries. A good way to init epylog is to run:
epylog --last day --store-offsets
/etc/epylog/epylog.conf
/usr/sbin/epylog
/etc/cron.daily/epylog.cron
/etc/epylog/*
/var/lib/epylog/*
/usr/share/epylog/modules/*
The useful way to run from a command line is with --last. E.g.:
epylog --last day
epylog --last 2w
When running from cron, you want to store the offsets and not rely on timestamps. There is a mode that allows you to do this:
epylog --cron
Konstantin Ryabitsev <icon.[at].linux.duke.edu>
epylog.conf(5) epylog-modules(5)