---
url: /integrations/sentry.md
---
# Sentry

Evolve reports exceptions to Sentry when the project installs `sentry/sentry-laravel` and sets a DSN. Evolve itself adds the context that makes a fleet of sites searchable: a `site` tag, an `environment_type` tag and a release name per deploy. The full behaviour, precedence rules and server checks are on [Error Tracking](/site/error-tracking); this page is the account-side checklist.

## What you need

A Sentry project per site (or per client), its **DSN**, and the decision which environments report. Live always; staging is useful during a launch and noise afterwards.

## Keys

| Variable | Effect |
|---|---|
| `SENTRY_LARAVEL_DSN` | Turns reporting on. Without it nothing is sent, even with the package installed. |
| `SENTRY_TRACES_SAMPLE_RATE` and the other `SENTRY_*` keys | Standard `sentry-laravel` options, see its documentation. |

Set the DSN in the server `.env`; it is not edited in the panel. `php artisan evolve:env:verify live` reports a live environment without a DSN.

## What Evolve adds

* Tags `site` (the host) and `environment_type` (`live`, `staging`, `development`) on every event, so one Sentry project can hold several sites and environments and still filter cleanly.
* Release `evolve@<version>+<release directory>`, so an error can be matched to the deploy that introduced it.

## Verifying

Follow [Verifying on a server](/site/error-tracking#verifying-on-a-server): check the DSN in the live `.env`, send a test event from the server, and find it in Sentry filtered by the `site` tag.
