doc-locale/fr-fr/administration/settings/event_data.md
{{< details >}}
{{< /details >}}
{{< history >}}
{{< /history >}}
Important : À partir de GitLab 18.0, les instances Self-Managed et Dedicated collectent des données au niveau des événements, offrant des informations plus détaillées sur l'utilisation du produit. Auparavant, seules des métriques agrégées étaient collectées auprès des instances Self-Managed.
Pour en savoir plus sur les modifications apportées à la collecte des données d'utilisation du produit, lisez le billet de blog More granular product usage insights for GitLab Self-Managed and Dedicated.
Les données d'événement suivent les interactions (ou actions) au sein de la plateforme GitLab. Ces interactions ou actions peuvent être initiées par l'utilisateur, comme le lancement de pipelines CI/CD, la fusion d'un merge request, le déclenchement d'un webhook ou la création d'un ticket. Les actions peuvent également résulter d'un traitement système en arrière-plan, comme la réussite d'un pipeline planifié. La collecte des données d'événement est axée sur les actions des utilisateurs et les métadonnées associées à ces actions.
Les identifiants utilisateur sont pseudonymisés pour protéger la vie privée, et GitLab n'entreprend aucun processus pour réidentifier ou associer les métriques à des utilisateurs individuels. Les données d'événement ne comprennent pas le code source ni d'autres contenus créés par les clients et stockés dans GitLab.
Pour en savoir plus, consultez également :
Les données au niveau des événements améliorent plusieurs avantages de Service Ping en offrant des informations plus granulaires sans identifier les utilisateurs.
[!note] Si le suivi Snowplow est activé, il sera automatiquement désactivé lorsque vous activerez le suivi de l'utilisation du produit. Une seule méthode de collecte de données peut être active à la fois.
Pour activer ou désactiver la collecte de données au niveau des événements :
Vous pouvez configurer la collecte de données au niveau des événements par programmation en utilisant :
Ces paramètres s'appliquent uniquement lors de l'installation initiale de GitLab. La modification de ces paramètres après l'installation n'a aucun effet.
{{< tabs >}}
{{< tab title="Linux package (Omnibus)" >}}
Définissez gitlab_rails['initial_gitlab_product_usage_data'] sur false dans /etc/gitlab/gitlab.rb :
gitlab_rails['initial_gitlab_product_usage_data'] = false
Reconfigurez ensuite GitLab :
sudo gitlab-ctl reconfigure
{{< /tab >}}
{{< tab title="Helm chart (Kubernetes)" >}}
Définissez global.appConfig.initialDefaults.gitlabProductUsageData sur false dans votre fichier de valeurs :
global:
appConfig:
initialDefaults:
gitlabProductUsageData: false
Ou via la ligne de commande :
helm install gitlab gitlab/gitlab \
--set global.appConfig.initialDefaults.gitlabProductUsageData=false
{{< /tab >}}
{{< /tabs >}}
[!note] Introduit dans GitLab 18.9.
La variable d'environnement GITLAB_PRODUCT_USAGE_DATA_ENABLED vous permet de contrôler la collecte de données au niveau des événements au moment de l'exécution. Lorsqu'elle est définie, cette variable d'environnement :
Cela est utile pour :
Les valeurs valides sont true ou false.
{{< tabs >}}
{{< tab title="Linux package (Omnibus)" >}}
Définissez la variable d'environnement dans /etc/gitlab/gitlab.rb :
gitlab_rails['env']['GITLAB_PRODUCT_USAGE_DATA_ENABLED'] = 'false'
Reconfigurez ensuite GitLab :
sudo gitlab-ctl reconfigure
{{< /tab >}}
{{< tab title="Helm chart (Kubernetes)" >}}
Définissez la variable d'environnement en utilisant extraEnv dans votre fichier de valeurs :
gitlab:
sidekiq:
extraEnv:
GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'
webservice:
extraEnv:
GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'
Ou via la ligne de commande :
helm upgrade gitlab gitlab/gitlab \
--set gitlab.sidekiq.extraEnv.GITLAB_PRODUCT_USAGE_DATA_ENABLED='false' \
--set gitlab.webservice.extraEnv.GITLAB_PRODUCT_USAGE_DATA_ENABLED='false'
{{< /tab >}}
{{< tab title="Docker" >}}
Transmettez la variable d'environnement lors du démarrage du conteneur :
docker run --env GITLAB_PRODUCT_USAGE_DATA_ENABLED=false gitlab/gitlab-ee:latest
Ou dans un fichier Docker Compose :
services:
gitlab:
image: gitlab/gitlab-ee:latest
environment:
GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'
{{< /tab >}}
{{< tab title="Self-compiled (source)" >}}
Définissez la variable d'environnement avant de démarrer GitLab :
export GITLAB_PRODUCT_USAGE_DATA_ENABLED=false
Ou ajoutez-la à votre fichier de service systemd ou à votre script d'initialisation.
{{< /tab >}}
{{< /tabs >}}
Lorsque le remplacement par variable d'environnement est actif, l'interface utilisateur Admin affiche une bannière d'avertissement indiquant que le paramètre est contrôlé par une variable d'environnement et ne peut pas être modifié via l'interface utilisateur.
Vous pouvez également vérifier la source du paramètre via l'API :
curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/application/settings" | jq '.gitlab_product_usage_data_enabled, .gitlab_product_usage_data_source'
Le champ gitlab_product_usage_data_source retourne soit :
environment : Le paramètre est contrôlé par la variable d'environnement GITLAB_PRODUCT_USAGE_DATA_ENABLEDdatabase : Le paramètre est contrôlé par la base de données (peut être modifié via l'interface utilisateur Admin)Les événements sont transmis à GitLab presque immédiatement après leur survenance. Le système collecte les événements en petits lots, en envoyant les données une fois que 10 événements ont été rassemblés. Cette approche offre une livraison quasi en temps réel tout en maintenant une utilisation efficace du réseau.
Chaque événement représente environ 10 Ko au format JSON. Des lots de 10 événements donnent une taille de payload non compressée d'environ 100 Ko. Avant la transmission, le payload est compressé pour minimiser la taille du transfert de données et optimiser les performances.
Les données de suivi au niveau des événements sont enregistrées dans le fichier product_usage_data.log. Ce journal contient des entrées au format JSON des événements d'utilisation du produit suivis, notamment les informations sur le payload et les données de contexte. Chaque ligne représente un événement de suivi distinct et toutes les données qui ont été envoyées.
Le fichier journal est situé à :
/var/log/gitlab/gitlab-rails/product_usage_data.log sur les installations du package Linux/home/git/gitlab/log/product_usage_data.log sur les installations auto-compiléesBien que ces journaux offrent une visibilité approfondie sur la transmission des données, ils sont conçus spécifiquement pour l'inspection par les équipes de sécurité plutôt que pour l'analyse de l'utilisation des fonctionnalités. Pour des informations plus détaillées sur le système de journalisation, consultez la documentation du système de journaux.