Now Reading
Introduction – Sentry Symbolicator

Introduction – Sentry Symbolicator

2023-04-04 06:55:20

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, and null 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.
  • logging: Command line logging habits.
    • stage: Log stage, defaults to information. Might be considered one of off, error,
      warn, information, debug, or hint.
    • format: The format with which to print logs. Defaults to auto. Might be
      considered one of: json, simplified, fairly, or auto (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 to null,
      which disables metric submission.
    • prefix: A prefix for each metric, defaults to symbolicator.
    • 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
    to null, 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 a symstore (Microsoft Image Server) suitable server. Defaults to
    true.
  • connect_to_reserved_ips: Enable reserved IP addresses for requests to
    sources. See Security. Defaults to false.
  • max_concurrent_requests: The utmost variety of requests symbolicator will course of concurrently. Additional requests will end in a 503 standing code.
    Set it to null to show off the restrict. Defaults to 120.

All time items for the next configuration settings might be both a time
expression like 1s. Models might be s, 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.

    See Also

    • 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.

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top