Introduction – Sentry Symbolicator
Symbolicator is a standalone service that resolves operate names, file location
and supply context in native stack traces. It may course of Minidumps and Apple
Crash Studies. Moreover, Symbolicator can act as a proxy to image servers
supporting a number of codecs, comparable to Microsoft’s image server or Breakpad
image repositories.
Utilization
Begin the server with:
$ symbolicator run -c config.yml
The configuration file might be omitted. Symbolicator will run with default
settings on this case.
Configuration
Write this to a file (config.yml
):
cache_dir: "/tmp/symbolicator"
bind: "0.0.0.0:3021"
logging:
stage: "information"
format: "fairly"
enable_backtraces: true
metrics:
statsd: "127.0.0.1:8125"
prefix: "symbolicator"
cache_dir
: Path to a listing to cache downloaded recordsdata and symbolication
caches. Defaults to/information
inside Docker which is already outlined as a
persistent quantity, andnull
in any other case, which disables caching. It’s
strictly really useful to configure caches in manufacturing!bind
: Host and port for HTTP interface.bind_https
: Host and port for non-obligatory HTTPS interface.- HTTPS assist is a Cargo function, and must be enabled throughout constructing:
shell
cargo construct --features https <different construct choices> - Moreover for HTTPS assist, paths to TLS certificates and key recordsdata must be specified within the configuration file:
server_config
: net server configuration wanted for serving over HTTPS.https
: HTTPS configuration.certificate_path
: Path to a TLS certificates file in PEM format.key_path
: Path to a TLS key file in PEM format.
- HTTPS assist is a Cargo function, and must be enabled throughout constructing:
logging
: Command line logging habits.stage
: Log stage, defaults toinformation
. Might be considered one ofoff
,error
,
warn
,information
,debug
, orhint
.format
: The format with which to print logs. Defaults toauto
. Might be
considered one of:json
,simplified
,fairly
, orauto
(fairly on console,
simplified on tty).enable_backtraces
: Whether or not backtraces for errors needs to be computed. This
causes a slight efficiency hit however improves debuggability. Defaults to
true
.
metrics
: Configure a statsd server to ship metrics to.statsd
: The host and port to ship metrics to. Defaults to STATSD_SERVER
surroundings variable or in case it’s not outlined, then it defaults tonull
,
which disables metric submission.prefix
: A prefix for each metric, defaults tosymbolicator
.hostname_tag
: If set, report the present hostname below the given tag identify for all metrics.environment_tag
: If set, report the present surroundings below the given tag identify for all metrics.
sentry_dsn
: DSN to a Sentry venture for inside error reporting. Defaults
tonull
, which disables reporting to Sentry.sources
: An non-obligatory record of preconfigured sources. If these are configured
they are going to be used as default sources for symbolication requests and they’re going to
be proxied by the image proxy if enabled. The format for the sources right here
matches the sources within the HTTP API.symstore_proxy
: Allows or disables the symstore proxy mode. Creates an
endpoint to obtain uncooked symbols from configured sources Symbolicator as if it
have been asymstore
(Microsoft Image Server) suitable server. Defaults to
true
.connect_to_reserved_ips
: Enable reserved IP addresses for requests to
sources. See Security. Defaults tofalse
.max_concurrent_requests
: The utmost variety of requests symbolicator will course of concurrently. Additional requests will end in a 503 standing code.
Set it tonull
to show off the restrict. Defaults to 120.
All time items for the next configuration settings might be both a time
expression like1s
. Models might bes
,seconds
,m
,minutes
,h
,
hours
,d
,days
,w
,weeks
,M
,months
,y
,years
.
max_download_timeout
: The timeout for downloading debug recordsdata.connect_timeout
: The timeout for establishing a connection to a logo
server to obtain debug recordsdata.streaming_timeout
: The timeout for streaming the contents of a debug file.caches
: High-quality-tune cache expiry.
Time items for caches may be
null
to disable cache expiration.
downloaded
: High-quality-tune caches for downloaded recordsdata.max_unused_for
: Most length to maintain a file since final
use of it.retry_misses_after
: Period to attend earlier than re-trying to
obtain a file which was not discovered.retry_malformed_after
: Period to attend earlier than re-trying to
obtain a file which was malformed.max_lazy_redownloads
: Symbolicator will fall again to a suitable however out-of-date cache model if obtainable,
and begin computing the up-to-date model within the background. This selection units the utmost variety of such lazy downloads that symbolicator will do concurrently. Defaults to 50.
derived
: High-quality-tune caches for recordsdata that are derived from
downloaded recordsdata. These recordsdata are often variations of the
downloaded recordsdata optimised for quick lookups.max_unused_for
: Most length to maintain a file since final
use of it.retry_misses_after
: Period to attend earlier than re-trying to
obtain a file which was not discovered.retry_malformed_after
: Period to attend earlier than re-trying to
obtain a file which was malformed.max_lazy_recomputations
: Symbolicator will fall again to a suitable however out-of-date cache model if obtainable,
and begin computing the up-to-date model within the background. This selection units the utmost variety of such lazy computations that symbolicator will do concurrently. Defaults to twenty.
diagnostics
: This configures the length diagnostics information
will probably be saved in cache. E.g. minidumps which didn’t be
processed appropriately will probably be saved on this cache.retention
: Period a file will probably be saved on this cache.
Safety
By default, Symbolicator doesn’t attempt to obtain debug recordsdata from reserved IP
ranges. This ensures that
no unintended connections are made to inside programs when supply configuration
is handed in from an untrusted supply.
To permit inside connections, set connect_to_reserved_ips
to true
.
An exception from this rule is the "sentry"
supply kind. Sentry is anticipated to
run inside the identical community as Symbolicator, which is why it’s exempt by
default.