sentry-syslog

Send syslog messages to Sentry as events


License
MIT
Install
pip install sentry-syslog==0.1.5

Documentation

sentry-syslog

Send Syslog RFC 5424 Messages to Senty as Events

The sentry-syslog command-line script sends RFC 5424 IETF Syslog Protocol message to Sentry as events as follows:

  1. Initializes Sentry's Python logging integration
  2. Accepts one message per-line
  3. Converts each message into a Python logging message
  4. Logs the Python message to be handled by the Sentry's Python logging integration

Installation

Install using any tool for installing standard Python 3 distributions such as pip:

$ sudo pip3 install sentry-syslog

Usage

See the command-line help for details on options and arguments:

$ sentry-syslog --help
usage: sentry-syslog [-h] [--input-file INPUT_FILE]
                     [--event-level EVENT_LEVEL]
                     sentry_dsn

Send syslog messages to Sentry as events.

positional arguments:
  sentry_dsn            The DSN for your sentry DSN or client key.

optional arguments:
  -h, --help            show this help message and exit
  --input-file INPUT_FILE, -i INPUT_FILE
                        Take the syslog messages from this file, one per-line.
                        (default: stdin)
  --event-level EVENT_LEVEL, -e EVENT_LEVEL
                        Capture log messages of this level and above as Sentry
                        events. All other events are captured as Sentry
                        breadcrumbs. (default: ERROR)

The script expects all the syslog lines it receives to be already filtered down to those that should be captured in Sentry. The level setting only determines which lines are captured as breadcrumbs or events.

The correct invocation can then be used, for example, with Rsyslog's omprog output module as the binary to selectively forward a system's syslog messages to Sentry as events. See the example omprog configuration which might be installed as follows (will require adapting to the system):

$ sudo curl https://raw.githubusercontent.com/rpatterson/sentry-syslog/master/src/sentry_syslog/etc/rsyslog.d/99-sentry.conf >/etc/rsyslog.d/99-sentry.conf
$ sudo editor /etc/rsyslog.d/99-sentry.conf
$ sudo systemctl restart rsyslog.service