Sentry Alert configuration based on production and development environment (#16738)

This commit is contained in:
Zeeshan Rafiq 2023-12-12 21:04:41 +05:00 committed by GitHub
parent e108c31fc0
commit e108cde669
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 1 deletions

View File

@ -0,0 +1 @@
Add new Sentry configuration option `environment` for improved system monitoring. Contributed by @zeeshanrafiqrana.

View File

@ -2777,7 +2777,11 @@ enable_metrics: true
### `sentry`
Use this option to enable sentry integration. Provide the DSN assigned to you by sentry
with the `dsn` setting.
with the `dsn` setting.
An optional `environment` field can be used to specify an environment. This allows
for log maintenance based on different environments, ensuring better organization
and analysis..
NOTE: While attempts are made to ensure that the logs don't contain
any sensitive information, this cannot be guaranteed. By enabling
@ -2788,6 +2792,7 @@ through insecure notification channels if so configured.
Example configuration:
```yaml
sentry:
environment: "production"
dsn: "..."
```
---

View File

@ -665,6 +665,7 @@ def setup_sentry(hs: "HomeServer") -> None:
sentry_sdk.init(
dsn=hs.config.metrics.sentry_dsn,
release=SYNAPSE_VERSION,
environment=hs.config.metrics.sentry_environment,
)
# We set some default tags that give some context to this instance

View File

@ -61,6 +61,7 @@ class MetricsConfig(Config):
check_requirements("sentry")
self.sentry_dsn = config["sentry"].get("dsn")
self.sentry_environment = config["sentry"].get("environment")
if not self.sentry_dsn:
raise ConfigError(
"sentry.dsn field is required when sentry integration is enabled"