Comment utiliser le service de suivi des erreurs Sentry intégré de GitLab – CloudSavvy IT
Sentry est une plate-forme populaire de suivi des erreurs qui vous donne une visibilité en temps réel sur les problèmes de vos environnements de production. La fonctionnalité de rapport d’erreurs de GitLab vous permet d’intégrer les rapports Sentry dans votre plate-forme de contrôle de source, offrant une vue centralisée qui unifie les erreurs Sentry et les problèmes GitLab.
La fonctionnalité reposait à l’origine sur une intégration avec un service Sentry existant, soit le Sentry.io officiel, soit votre propre serveur auto-hébergé. Cela a changé avec GitLab 14.4 qui a ajouté un backend léger compatible Sentry à GitLab lui-même. Vous n’avez plus besoin d’une installation réelle de Sentry pour obtenir des rapports d’erreurs dans GitLab.
Voici comment démarrer avec le backend Sentry intégré. Avant de continuer, il convient de mentionner que cette fonctionnalité peut ne pas vous convenir si vous connaissez déjà le tableau de bord Sentry. Le backend de GitLab est une solution barebone qui présente les erreurs sous la forme d’une simple liste. Il est préférable pour les petites applications où vous ne voulez pas les frais généraux liés à la gestion d’un projet Sentry distinct.
Sommaire
Commencer
Créez un nouveau projet sur GitLab.com ou sur votre propre serveur GitLab. Accédez à Paramètres > Moniteur dans la barre latérale de votre projet, puis développez la section « Suivi des erreurs ». Cochez la case sous « Activer le suivi des erreurs ». Assurez-vous que le bouton radio « Error tracking backend » est défini sur « GitLab ». Appuyez sur le bouton bleu « Enregistrer les modifications » pour continuer.
La page se rechargera. Vous pouvez maintenant développer à nouveau la section « Suivi des erreurs » pour révéler votre chaîne DSN. Cette URL est utilisée pour configurer votre bibliothèque cliente Sentry pour envoyer des événements au serveur GitLab.
Configuration du client
Vous pouvez maintenant ajouter Sentry à votre code. Voici un exemple de base utilisant la bibliothèque client Sentry officielle pour Node.js. Vous pouvez installer le package en exécutant npm install @sentry/node
. La documentation sur tous les clients disponibles est disponible auprès de Sentry.
const sentry = require("@sentry/node"); sentry.init({ dsn: "https://glet_abc123@gitlab.example.com/api/v4/error_tracking/collector/1" });
Remplacez la valeur DSN par la chaîne que vous avez copiée à partir de l’interface utilisateur GitLab. La partie avant le @
est un jeton d’authentification spécial qui permet d’accéder au serveur GitLab. Le reste se compose du point de terminaison unique de l’API d’ingestion de suivi des erreurs pour votre projet.
Tester votre intégration
Les bibliothèques client Sentry officielles commencent à capturer les erreurs non gérées dès qu’elles sont configurées avec un DSN. Si l’un des codes suivants génère une erreur que vous ne détectez pas, l’événement sera signalé à votre serveur GitLab.
Vous pouvez tester l’intégration en capturant manuellement les événements. Voici un exemple qui crée et signale un Error
exemple:
Sentry.captureException(new Error("Sentry test"));
Utilisez la barre latérale de votre projet dans l’interface utilisateur Web GitLab pour accéder à la page Monitor > Error Tracking. L’erreur que vous avez capturée devrait apparaître dans la liste. Cliquez sur son entrée pour afficher le rapport complet et la trace de la pile.
Les problèmes GitLab peuvent être créés à partir de rapports à l’aide du bouton bleu « Créer un problème » en haut à droite. Cela vous permet d’affecter des travaux de correction aux membres de l’équipe et de démarrer une discussion sur le problème. Le problème conservera un lien vers le rapport d’erreur et la trace de la pile s’affichera en ligne sous la description du problème.
Une fois que vous avez terminé de corriger un problème, utilisez la page Suivi des erreurs pour le marquer comme résolu. Les problèmes peuvent également être ignorés si vous n’avez pas l’intention d’y remédier, peut-être parce qu’ils étaient transitoires ou enregistrés par un client obsolète.
Limites
Le backend Sentry intégré de GitLab est actuellement destiné aux situations à petite échelle où le déploiement de Sentry est considéré comme trop complexe ou inutile. La plate-forme Sentry complète est un vaste système dont la configuration et la maintenance peuvent prendre du temps. L’intégration de GitLab est une case à cocher unique dans les paramètres de votre projet, mais cette simplicité a un coût.
La liste de suivi des erreurs est votre seule vue des rapports. Vous ne pouvez actuellement pas les représenter graphiquement, afficher les modifications des volumes de rapports au fil du temps ou filtrer par utilisateurs ou clients individuels. Les informations détaillées affichées par l’interface utilisateur Sentry, telles que les données du navigateur et du serveur, ne sont actuellement pas prises en charge ou n’apparaissent nulle part dans GitLab.
Vous devez également savoir que GitLab ne peut pas encore envoyer d’e-mails pour les nouveaux rapports d’erreurs. Vous devez surveiller manuellement la page de suivi des erreurs pour garder une longueur d’avance sur les événements générés par vos déploiements.
Comme GitLab implémente les fonctionnalités de base de l’API Sentry, il est compatible avec la plupart des principaux SDK et bibliothèques clientes. Depuis GitLab 14.5, il est confirmé qu’il fonctionne avec Ruby, JavaScript, Java et Python ; d’autres langues ont une prise en charge partielle ou seront ajoutées dans les futures versions de GitLab.
Résumé
Le backend Sentry de GitLab fournit un moyen simple de capturer les rapports d’erreurs de votre application et de les stocker avec votre code. Bien que ses limitations actuelles le rendent inadapté à tous les cas d’utilisation, sauf les plus simples, il reste une option intéressante pour les petits sites et les projets personnels qui n’ont pas besoin de la complexité d’un service Sentry complet.
Le backend intégré peut également être utile lors du test de l’intégration de Sentry avec votre code. Si vous configurez un nouveau client ou modifiez les paramètres d’un client existant, vous pouvez utiliser votre serveur GitLab comme backend temporaire afin de ne pas polluer votre déploiement Sentry principal.
Le composant de suivi des erreurs de GitLab reste en développement et devrait être étendu au cours des étapes suivantes. Cela devrait le voir évoluer vers une option plus complète qui peut remplacer Sentry autonome dans un ensemble plus large d’environnements.