doc-locale/fr-fr/operations/integrated_error_tracking.md
{{< details >}}
{{< /details >}}
Ce guide fournit des informations de base sur la façon de configurer le suivi des erreurs intégré pour votre projet, en utilisant des exemples tirés de différents langages.
Le suivi des erreurs fourni par GitLab Observability est basé sur Sentry SDK. Pour plus d'informations et des exemples sur la façon d'utiliser Sentry SDK dans votre application, consultez la documentation Sentry SDK.
Quel que soit le langage de programmation que vous utilisez, vous devez d'abord activer le suivi des erreurs pour votre projet GitLab. Ce guide utilise l'instance GitLab.com.
Prérequis :
Pour activer le suivi des erreurs avec GitLab comme backend :
Pour suivre le nombre d'utilisateurs affectés par une erreur :
Par exemple, si vous utilisez Python, vous pouvez identifier un utilisateur par e-mail :
sentry_sdk.set_user({ email: "[email protected]" });
Pour plus d'informations sur l'identification des utilisateurs, consultez la documentation Sentry.
Après que votre application a émis des erreurs vers l'API de suivi des erreurs via Sentry SDK, ces erreurs sont disponibles dans l'interface GitLab. Pour les afficher :
Dans la barre supérieure, sélectionnez Rechercher ou accéder à et trouvez votre projet.
Accédez à Supervision > Suivi des erreurs pour voir la liste des erreurs ouvertes :
Sélectionnez une erreur pour afficher la vue Error details :
Cette page affiche plus de détails sur l'exception, notamment :
Si vous souhaitez suivre le travail lié à une erreur, vous pouvez créer un ticket directement depuis l'erreur :
Un ticket est créé. La description du ticket contient la trace de la pile d'appels de l'erreur.
Pour afficher l'horodatage complet d'une erreur :
Dans l'exemple suivant, l'erreur s'est produite à 11 h 41 CEST :
Le graphique Dernières 24 heures mesure le nombre de fois que cette erreur s'est produite par heure. En pointant sur la barre 11 am, la boîte de dialogue indique que l'erreur a été observée 239 fois :
Le champ Vue pour la dernière fois ne se met pas à jour tant que l'heure complète n'est pas écoulée, en raison de la bibliothèque utilisée pour l'appel import * as timeago from 'timeago.js'.
Le suivi des erreurs GitLab prend en charge ces types d'événements :
| Langage | Client SDK testé et version | Point de terminaison | Types d'éléments pris en charge |
|---|---|---|---|
| Go | sentry-go/0.20.0 | store | exception, message |
| Java | sentry.java:6.18.1 | envelope | exception, message |
| NodeJS | sentry.javascript.node:7.38.0 | envelope | exception, message |
| PHP | sentry.php/3.18.0 | store | exception, message |
| Python | sentry.python/1.21.0 | envelope | exception, message, session |
| Ruby | sentry.ruby:5.9.0 | envelope | exception, message |
| Rust | sentry.rust/0.31.0 | envelope | exception, message, session |
Pour une version détaillée de ce tableau, consultez le ticket 1737.
Consultez également les exemples de SDK de langages pris en charge, qui montrent comment capturer des exceptions, des événements ou des messages avec ce SDK. Pour plus d'informations, consultez la documentation Sentry SDK pour un langage spécifique.
[!warning] Selon Sentry, il est sûr de garder un DSN public, mais cela ouvre la possibilité que des événements indésirables soient envoyés à Sentry par des utilisateurs malveillants. Par conséquent, si possible, vous devriez garder le DSN secret. Cela ne s'applique pas aux applications côté client où le DSN sera chargé et donc stocké sur l'appareil de l'utilisateur.
Prérequis :
Pour renouveler le DSN Sentry :
Créez un jeton d'accès avec la portée api. Copiez cette valeur, car vous en aurez besoin dans les étapes suivantes.
Utilisez l'API de suivi des erreurs pour créer un nouveau DSN Sentry, en remplaçant <your_access_token> et <your_project_number> par vos valeurs :
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--url "https://gitlab.example.com/api/v4/projects/<your_project_number>/error_tracking/client_keys"
Obtenez les clés client disponibles (DSN Sentry). Assurez-vous que votre nouveau DSN Sentry est en place. Exécutez la commande suivante avec l'identifiant de clé de l'ancienne clé client, en remplaçant <your_access_token> et <your_project_number> par vos valeurs :
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/<your_project_number>/error_tracking/client_keys"
Supprimez l'ancienne clé client :
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/<your_project_number>/error_tracking/client_keys/<key_id>"
La majorité des langages pris en charge par Sentry exposent une option debug dans le cadre de l'initialisation. L'option debug peut vous aider à déboguer les problèmes d'envoi des erreurs. D'autres options permettent d'afficher le JSON avant d'envoyer les données à l'API.
GitLab applique une limite de conservation de 90 jours pour toutes les erreurs.
Pour laisser des commentaires sur les bugs ou les fonctionnalités du suivi des erreurs, commentez dans le ticket de retour d'information ou ouvrez un nouveau ticket.