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 exeption are easily browsable and filterable from the online interface. For more details please see Sentry.
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:firstname.lastname@example.org/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
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:email@example.com/app-id log_level: warning
The available log levels are those also available for the salt
tools and configuration;
salt --help should give you the required
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.