Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+190
View File
@@ -0,0 +1,190 @@
---
title: Sentry
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, monitoring, error-tracking, apm, python, javascript, production]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/getsentry/sentry]
---
# 📊 Sentry
> **Le standard du tracking d'erreurs applicatif** : capturez exceptions, crashes et performance de vos apps en production, avec contexte complet (stacktrace, user, breadcrumbs).
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [sentry.io](https://sentry.io/) |
| **GitHub** | [getsentry/sentry](https://github.com/getsentry/sentry) |
| **License** | Functional Source License (FSL, custom) |
| **Langage** | Python + JavaScript + Go |
| **Étoiles GitHub** | 44.1k ⭐ |
| **Dernière MAJ** | 2026-06-07 |
| **Catégorie** | [[cat-monitoring|Monitoring]], Error Tracking, APM |
## 📝 Description
**Sentry** est la **référence mondiale du error tracking** pour les développeurs. Initialement Python/Django, il supporte aujourd'hui **40+ langages et frameworks** : JavaScript, Python, Java, Go, Ruby, PHP, .NET, Rust, Swift, Kotlin, Flutter, React Native, etc.
L'idée : **capturer automatiquement les exceptions en production** avec un contexte riche (utilisateur, navigateur, requête HTTP, breadcrumbs, release git, performance). On remplace les logs cryptiques par un **tableau de bord exploitable** avec stacktrace, tags, et aggregation par projet.
-**Capture d'exceptions** multi-langage avec SDK officiels
-**Performance Monitoring (APM)** : traces, transactions, requêtes SQL
-**Release tracking** : corrélation avec vos déploiements git
-**Source maps** pour débugger le code minifié
-**Alertes** : email, Slack, PagerDuty, OpsGenie, webhooks
-**Self-hosted** : contrôle total des données
-**Multi-projets, multi-équipes**
-**Replay de session** (Session Replay) — optionnel
-**Profiling** continu en production
-**Issue Owners** : assignation automatique
**Public cible** : **développeurs, équipes tech, startups, grands comptes**. Indispensable dès qu'on a une app en production avec des utilisateurs réels.
**Comparaison** : Sentry se distingue de [[app-uptime-kuma]] (qui vérifie qu'un service répond) en allant **plus loin dans la stack applicative** : ce n'est pas l'uptime du serveur, c'est la **santé du code**. Par rapport à [[app-prometheus]] + [[app-grafana]] (métriques système), Sentry se concentre sur les **erreurs et transactions applicatives** avec contexte développeur.
> ⚠️ **License FSL** : la version self-hosted est gratuite, mais **interdite de la revendre en SaaS concurrent**. Pour un usage interne/propre, c'est OK. Le code source est ouvert.
## 🚀 Installation
### Option 1 : Docker Compose (officiel, recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
sentry:
image: getsentry/sentry:24.6.0
container_name: sentry
restart: unless-stopped
command: run web
ports:
- "9000:9000" # Web UI
environment:
SENTRY_SECRET_KEY: "changeme-please-50-chars-min-random"
SENTRY_POSTGRES_HOST: postgres
SENTRY_REDIS_HOST: redis
SENTRY_SMTP_HOST: smtp.example.com
SENTRY_SMTP_PORT: 587
SENTRY_SMTP_USER: sentry@example.com
SENTRY_SMTP_PASSWORD: password
SENTRY_SMTP_USE_TLS: "true"
volumes:
- sentry-data:/var/lib/sentry/files
depends_on:
- postgres
- redis
labels:
- "traefik.enable=true"
- "traefik.http.routers.sentry.rule=Host(`sentry.example.com`)"
- "traefik.http.routers.sentry.entrypoints=websecure"
- "traefik.http.routers.sentry.tls.certresolver=letsencrypt"
postgres:
image: postgres:15
container_name: sentry-postgres
restart: unless-stopped
environment:
POSTGRES_USER: sentry
POSTGRES_PASSWORD: sentry
POSTGRES_DB: sentry
volumes:
- sentry-postgres:/var/lib/postgresql/data
redis:
image: redis:7-alpine
container_name: sentry-redis
restart: unless-stopped
smtp:
image: namshi/smtp
container_name: sentry-smtp
restart: unless-stopped
volumes:
sentry-data:
sentry-postgres:
```
> ⚠️ Sentry est **gourmand en ressources** : comptez **4 Go de RAM minimum**, 2 vCPU, et 20+ Go de disque pour un usage modéré.
### Option 2 : Installation bare-metal (Debian/Ubuntu)
```bash
# Sentry fournit un script d'install officiel
git clone https://github.com/getsentry/self-hosted.git
cd self-hosted
./install.sh
```
## ⚙️ Configuration Initiale
1. **Accéder à l'UI** : `http://IP:9000`
2. **Créer le compte admin** lors du premier lancement (vous y serez invité)
3. **Créer un projet** : choisir la plateforme (Python, Node, React, etc.) → obtenir le **DSN**
4. **Intégrer le SDK** dans votre application :
```python
import sentry_sdk
sentry_sdk.init(dsn="https://...@sentry.io/123")
```
5. **Configurer les alertes** : Settings > Alerts > New Alert Rule
6. **Inviter l'équipe** et assigner les issues par ownership
## 🔄 Alternatives
### Open Source
- **GlitchTip** — Clone léger de Sentry, 100% MIT, sans FSL
- **Errbit** — Ruby, plus ancien, interface austère
- **Highlight.io** — Concurrent direct, error tracking + session replay
- [[app-signoz]] — APM complet, orienté metrics/traces
- **Bugsnag** (commercial, mais avec plan gratuit)
### Comparaison Sentry vs alternatives
| Critère | Sentry | GlitchTip | Highlight.io |
| :--- | :--- | :--- | :--- |
| Self-hosted | ✅ | ✅ | ✅ |
| License | FSL (custom) | MIT | Custom |
| Langages | 40+ | 15+ | 20+ |
| Performance/APM | ✅ | ❌ | ✅ |
| Session Replay | ✅ (payant self-hosted) | ❌ | ✅ |
| Communauté | Énorme | Petite | Moyenne |
**Verdict** : Sentry reste **le standard de facto**. GlitchTip est l'alternative 100% open source pour qui veut éviter la FSL.
### Propriétaires (ce que Sentry remplace)
- **Datadog APM** (très cher, $31/host/mois)
- **New Relic** (payant par utilisateur)
- **Rollbar** (freemium)
- **Bugsnag** (payant)
- **Honeybadger** (payant, surtout Ruby/Python)
## 🔐 Sécurité
- **SSO** : Google, GitHub, OIDC, SAML2 (Enterprise)
- **2FA** obligatoire pour les admins
- **HTTPS** obligatoire via [[app-traefik]] (les DSN transitent en clair sinon)
- **API tokens** avec scopes granulaires
- **Données sensibles** : configurer `beforeSend` pour scrubber les données (PII, mots de passe)
## 📚 Ressources
- [GitHub getsentry/sentry](https://github.com/getsentry/sentry)
- [Documentation officielle](https://docs.sentry.io/)
- [Self-hosted docs](https://develop.sentry.dev/self-hosted/)
- [Pricing cloud](https://sentry.io/pricing/)
- [Blog d'ingénierie](https://sentry.io/blog/)
## Pages Liées
- [[cat-monitoring]] — Catégorie Monitoring
- [[app-uptime-kuma]] — Monitoring d'uptime
- [[app-traefik]] — Reverse proxy HTTPS
- [[app-signoz]] — Alternative APM
- [[observabilite]] — Vue d'ensemble observabilité
- [[checklist-monitoring-minimal]] — Checklist