New in version 0.17.0.
This module provides a Sentry logging handler. Sentry is an open source error tracking platform that provides deep context about exceptions that happen in production. Details about stack traces along with the context variables available at the time of the exception are easily browsable and filterable from the online interface. For more details please see Sentry.
Note
The Raven library needs to be installed on the system for this logging handler to be available.
Configuring the python Sentry client, Raven, should be done under the
sentry_handler
configuration key. Additional context may be provided
for corresponding grain item(s).
At the bare minimum, you need to define the DSN. As an example:
sentry_handler:
dsn: https://pub-key:secret-key@app.getsentry.com/app-id
More complex configurations can be achieved, for example:
sentry_handler:
servers:
- https://sentry.example.com
- http://192.168.1.1
project: app-id
public_key: deadbeefdeadbeefdeadbeefdeadbeef
secret_key: beefdeadbeefdeadbeefdeadbeefdead
context:
- os
- master
- saltversion
- cpuarch
- ec2.tags.environment
Note
The public_key
and secret_key
variables are not supported with
Sentry > 3.0. The DSN key should be used instead.
All the client configuration keys are supported, please see the Raven client documentation.
The default logging level for the sentry handler is ERROR
. If you wish
to define a different one, define log_level
under the
sentry_handler
configuration key:
sentry_handler:
dsn: https://pub-key:secret-key@app.getsentry.com/app-id
log_level: warning
The available log levels are those also available for the salt cli
tools and configuration; salt --help
should give you the required
information.
Raven's documents rightly suggest using its threaded transport for critical applications. However, don't forget that if you start having troubles with Salt after enabling the threaded transport, please try switching to a non-threaded transport to see if that fixes your problem.