Guide de déploiement

Migrer ses projets Sentry vers GlitchTip en moins d'une heure

Déployer sur un VPS Cloud →

Développement9 min de lecture

Migrer ses projets Sentry vers GlitchTip en moins d'une heure

Depuis la version 26.4.1, trois régressions majeures s'accumulent dans Sentry self-hosted : un deadlock sur le monitor_consumer qui stoppe l'ingestion de crons à l'échelle de l'organisation, des consumers Snuba qui spamment les journaux en boucle infinie sans correctif officiel, et des containers seaweedfs-1 et web-1 déclarés unhealthy au démarrage sur la version 26.4.2. Face à ces instabilités sans horizon de résolution garanti, GlitchTip v6 — compatible avec le protocole SDK Sentry — offre une sortie propre : changer une variable d'environnement par projet, et l'ingestion reprend immédiatement.

Les régressions Sentry 26.4.x qui poussent à migrer

En août 2026, trois issues ont accumulé suffisamment de rapports dans le dépôt getsentry/self-hosted pour constituer un signal de migration clair. L'issue #4301 documente un deadlock du consumer Kafka ingest-monitors après mise à jour vers 26.4.1 : le groupe consumer reste joint, mais CURRENT-OFFSET cesse d'avancer. Conséquence directe — tous les moniteurs de crons basculent en erreur avec un backfill manqué, et la fonction Crons devient inopérante à l'échelle de l'organisation entière. Le problème se manifeste uniquement sur des instances avec données accumulées (plus de 1,2 million de lignes dans sentry_monitorcheckin) ; un redémarrage des containers n'apporte qu'un répit de quelques minutes. L'issue #4306 signale que tous les consumers Snuba impriment en boucle l'erreur 'Failed to read directory /etc/sentry-options/values: No such file or directory' — fermée sans correctif officiel avec le statut 'not planned'. L'issue #4321 concerne la version 26.4.2 : les containers seaweedfs-1 et web-1 sont déclarés unhealthy au démarrage sur des installations x86_64, rendant Sentry impossible à démarrer de façon fiable. Ces trois régressions combinées forment un argument solide pour sortir du cycle de mises à jour Sentry self-hosted, au moins temporairement.

Ce que GlitchTip v6 apporte comme alternative

  • Compatibilité SDK sur le protocole fil — GlitchTip implémente le même protocole d'ingestion que Sentry. Le DSN a la même forme (https://<key>@host/<project-id>), et les packages @sentry/browser, sentry-sdk Python, sentry-rails Ruby ou sentry-go fonctionnent sans modification de code.
  • Licence AGPL-3.0, code source ouvert — GlitchTip v6 (sorti le 3 février 2026) est maintenu par une équipe indépendante, financée par les utilisateurs. Pas de double licence, pas de composants propriétaires.
  • Empreinte Docker réduite — La v6 remplace Celery par django-vtasks, Uvicorn/Gunicorn par Granian (serveur HTTP en Rust), et propose un mode tout-en-un stable pour les instances modestes.
  • UUIDv7 et partitionnement amélioré — La v6 a revu la gestion des clés primaires (UUIDv7) et le partitionnement des tables pour des requêtes plus rapides sur les volumes d'événements importants.
  • Support des logs et du tracing (v6.1) — La version 6.1, sortie le 23 mars 2026, ajoute l'ingestion de logs via sentry-sdk et un stockage froid optionnel avec DuckDB, ce qui étend GlitchTip au-delà du seul suivi d'erreurs.
  • Coût réduit à l'infrastructure seule — Un VPS 2 Go de RAM suffit pour les charges modérées. Contrairement au plan Sentry Team ({{sentry.team.price}}/mois pour 50 000 erreurs), seul le coût du serveur entre en compte.
  • Swap DSN réversible — Si le besoin revient vers Sentry, un nouveau swap de variable suffit. Aucune dépendance de code n'est introduite par la migration.

Prérequis avant de lancer la migration

Ce guide suppose que GlitchTip est déjà déployé et opérationnel sur votre VPS. Si ce n'est pas le cas, l'article 'Héberger GlitchTip v6 sur VPS avec Docker Compose' couvre l'installation de zéro — consultez-le en premier. Pour la migration elle-même, vous avez besoin de trois éléments concrets : un accès administrateur à votre instance Sentry self-hosted (pour lire les DSN existants et exporter la configuration des alertes), un accès administrateur à votre instance GlitchTip (pour créer les projets équivalents et récupérer les nouveaux DSN), et la liste des variables d'environnement ou fichiers de configuration de chaque application qui contient la valeur SENTRY_DSN ou équivalent. La migration s'effectue projet par projet. Si vous avez cinq projets Sentry, vous aurez cinq projets GlitchTip à créer et cinq variables à permuter. Prévoyez environ dix minutes par projet, la première fois ; les suivantes prennent deux à trois minutes chacune.

Procédure de migration — du premier projet à la coupure Sentry

01

Inventorier les projets Sentry et leurs DSN.

Dans l'interface Sentry, rendez-vous sur Paramètres > Projets. Pour chaque projet, notez le nom, la plateforme (Python, JavaScript, PHP, etc.) et le DSN complet (Paramètres > Clés client). Exportez également la liste de vos règles d'alerte (Alertes > Règles) : les conditions et destinataires devront être recréées manuellement dans GlitchTip, car il n'existe pas d'import automatique.

02

Créer les projets équivalents dans GlitchTip.

Dans l'interface GlitchTip, accédez à votre organisation, puis à Projets > Nouveau projet. Choisissez la plateforme correspondante. Le nom n'a pas besoin d'être identique à celui de Sentry — choisissez ce qui vous convient. Une fois le projet créé, GlitchTip affiche immédiatement le DSN du projet sous la forme https://<clé-publique>@votre-domaine.com/<id-numérique>.

03

Copier et noter le nouveau DSN GlitchTip.

Depuis la page du projet GlitchTip : Paramètres > Clés client > DSN. Copiez la valeur complète. C'est la seule information dont vous avez besoin pour le swap.

04

Reconfigurer les alertes dans GlitchTip.

Avant de basculer le trafic, recréez dans GlitchTip les règles d'alerte que vous utilisiez dans Sentry : seuil d'erreurs, notifications par e-mail ou webhook, fréquence. GlitchTip supporte les webhooks entrants, ce qui couvre la majorité des intégrations (Slack, PagerDuty, etc.).

05

Permuter le DSN dans votre application.

Remplacez la valeur de la variable SENTRY_DSN (ou le paramètre dsn dans l'initialisation du SDK) par le nouveau DSN GlitchTip. Redéployez ou redémarrez le process applicatif. Aucune autre ligne de code ne change.

06

Vérifier la réception des événements dans GlitchTip.

Déclenchez manuellement une erreur de test (appel à Sentry.captureException(new Error('test')) ou équivalent). Dans GlitchTip, l'événement doit apparaître dans les Issues du projet dans les secondes qui suivent. Si ce n'est pas le cas, consultez la section dépannage ci-dessous.

07

Répéter pour chaque projet.

Une fois le premier projet validé, reprenez les étapes 1 à 6 pour chaque projet Sentry. Gardez Sentry actif pendant la période de transition — l'historique passé reste consultable tant que l'instance tourne.

08

Couper Sentry une fois la période de validation terminée.

Après deux semaines de fonctionnement nominal dans GlitchTip (voir le conseil ci-dessous), arrêtez les containers Sentry (docker compose down). L'historique reste accessible si vous remontez l'instance ponctuellement, mais les nouvelles erreurs n'y arrivent plus.

Compatibilité SDK — frameworks et langages supportés

GlitchTip ne réimplémente pas les SDK : il consomme le même protocole fil que Sentry, ce qui signifie que tout SDK officiel Sentry fonctionne sans modification. Les langages et frameworks les plus courants sont couverts nativement. En Python, sentry-sdk s'intègre avec Django, Flask, FastAPI et Celery. En JavaScript et TypeScript, @sentry/browser, @sentry/node, @sentry/nextjs et @sentry/vue fonctionnent directement. En Ruby, sentry-rails et sentry-ruby sont supportés. Go dispose de getsentry/sentry-go. PHP peut utiliser sentry/sentry-laravel ou sentry/sentry-symfony. Java et Android ont leurs SDK officiels. La seule option à désactiver dans certains SDK est auto_session_tracking — GlitchTip ne supporte pas le suivi de session en temps réel, mais cette fonctionnalité n'affecte pas la remontée d'erreurs. Le paramètre traces_sample_rate pour le tracing de performance est pris en charge depuis GlitchTip v6.1 avec DuckDB activé.

Garder Sentry en parallèle pendant la période de validation

Même si les régressions 26.4.x rendent Sentry peu fiable, ne coupez pas l'instance immédiatement après le premier swap. Laissez tourner les deux systèmes en parallèle pendant une à deux semaines : Sentry pour consulter l'historique passé, GlitchTip pour recevoir les nouvelles erreurs. Cela vous donne le temps de vérifier que les alertes GlitchTip se déclenchent correctement, que le groupement des erreurs correspond à vos attentes, et que les intégrations webhook fonctionnent. Une fois la période de validation écoulée et aucune régression constatée, vous pouvez arrêter Sentry en confiance. Note importante : les événements passés ne se transfèrent pas de Sentry vers GlitchTip. Il n'existe pas d'outil d'import d'historique — et c'est délibéré, car les formats internes diffèrent. L'enjeu de cette migration n'est pas de conserver six mois de logs, mais de retrouver une ingestion fonctionnelle dès aujourd'hui.

Dépannage — les trois problèmes les plus courants après le swap

Les événements n'arrivent pas dans GlitchTip. Vérifiez d'abord que le DSN est syntaxiquement correct : la forme attendue est https://<clé>@votre-domaine.com/<id>. Si votre instance GlitchTip est derrière un reverse proxy, assurez-vous que les en-têtes X-Forwarded-For et X-Forwarded-Proto sont transmis — un proxy mal configuré peut renvoyer des erreurs 400 ou 413 silencieuses du côté applicatif. Consultez les logs du container GlitchTip (docker compose logs web) pour confirmer la réception. Le DSN est rejeté avec une erreur 401 ou 403. Le plus souvent, la clé publique dans le DSN ne correspond pas au projet GlitchTip cible. Chaque projet a sa propre clé — vérifiez que vous avez copié le DSN depuis le bon projet. Si l'erreur persiste, vérifiez que l'organisation et le projet existent bien et que le compte utilisé a les droits d'écriture. Le groupement des erreurs ne ressemble pas à Sentry. GlitchTip utilise son propre algorithme de fingerprinting. Les erreurs du même type seront groupées, mais la correspondance avec les groupes Sentry n'est pas garantie — surtout pour les exceptions avec des stacktraces dynamiques. C'est un comportement attendu, pas un bug. Si vous avez des règles de fingerprinting personnalisées dans Sentry, recréez-les dans GlitchTip via l'option 'Fingerprinting' du projet.

Sentry cloud vs GlitchTip self-hosted — ce qui change vraiment

Sentry Team (cloud)GlitchTip self-hosted
Coût de base{{sentry.team.price}}/mois (annuel) — 50 000 erreurs inclusesCoût du VPS uniquement — 99 DH/mois/mois
Limite d'erreursQuota strict, dépassement facturéAucun quota — limité par le stockage du VPS
Compatibilité SDKProtocole natif SentryMême protocole fil — aucun changement de code
Import d'historiqueSans objetNon disponible — les événements passés restent dans Sentry
Alertes et intégrationsInterface complète, Slack, PagerDuty, Jira natifsWebhooks entrants, e-mail — couvre les cas courants
MaintenanceGérée par Sentry (mises à jour auto)À votre charge — `docker compose pull && docker compose up -d`
LicencePropriétaire (BSL 1.1 pour le cloud)AGPL-3.0 — code source auditable

Démarrer depuis zéro avec GlitchTip sur un VPS ServOrbit

Si vous n'avez pas encore d'instance GlitchTip en production et que vous souhaitez sortir de Sentry self-hosted sans repartir sur un autre outil complexe à opérer, un VPS 2 Go de RAM suffit pour démarrer GlitchTip v6 en configuration tout-en-un. L'installation complète — Docker Compose, nginx en reverse proxy, certificat TLS, variables d'environnement — est documentée dans l'article dédié 'Héberger GlitchTip v6 sur VPS avec Docker Compose'. Une fois l'instance en place, la migration depuis Sentry se fait selon la procédure décrite dans cet article : créer les projets, récupérer les DSN, permuter les variables. Le temps total entre la création du VPS et la réception du premier événement dans GlitchTip est généralement inférieur à une heure, en comptant l'installation et la migration de deux à trois projets. Pour les équipes qui suivent plusieurs applications en production, c'est une fenêtre de migration réaliste — sans interruption de service côté applicatif, puisque le seul geste visible est un redémarrage du process après le changement de variable.

Déployez GlitchTip sur un VPS ServOrbit

Un VPS 2 Go de RAM suffit pour héberger GlitchTip v6 et recevoir les erreurs de tous vos projets. Pas de quota d'événements, pas d'abonnement mensuel par fonctionnalité.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet