/pylogwatch

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

pylogwatch

Log file parser, which sends the contents of log files to a centralized Sentry server. Meant for periodic execution via cron.

Config

So far the config format is quite simple. It currently looks like this:

DEBUG=True

RAVEN = {
  'dsn':'<RAVEN_DSN_URL>',
}

# List of files to monitor and their associated formatters
FILE_FORMATTERS = {
    '/var/log/syslog': ('formatters.base.SysLogDateFormatter',
                        'formatters.base.SysLogProcFormatter',),

    '/var/log/auth.log': ('formatters.base.SysLogDateFormatter',
                        'formatters.base.SysLogProcFormatter',),

    '/var/log/apache/error.log': ('formatters.web.ApacheErrorLogFormatter',),

}

DB

PyLogWatch will automaticall create a SQLite database in the folder where the Config File resides.

Execution

To start pylogwatch simply use the '-c' switch to indicate the path to the configuration file:

pylog.py -c /path/to/pylogconf.py

Caveats

Keep in mind that PyLogWatch uses a regular Python file as a configuration. This means that giving write access to the config file is equivalent to giving execuion privileges for custom Python code. Keep your configuration files adequately protected