doc-locale/fr-fr/operations/observability/send.md
{{< details >}}
{{< /details >}}
Après avoir configuré Observability, vous pouvez commencer à envoyer des données à GitLab.
Pour commencer, consultez les données de pipeline CI/CD, envoyez des données de test ou utilisez des modèles.
Une fois GitLab Observability configuré :
Pour ajouter l'instrumentation OpenTelemetry à vos applications :
Reportez-vous à la documentation OpenTelemetry pour obtenir des instructions spécifiques à chaque langage.
Configurez votre SDK OpenTelemetry avec ces attributs de ressource pour lier les données de télémétrie à votre projet et à votre code GitLab. Cela permet d'activer des fonctionnalités telles que la corrélation des traces avec les commits et la création automatisée de tickets à partir des exceptions.
| Attribut de ressource | Variable CI/CD GitLab | Description |
|---|---|---|
gitlab.project.id | CI_PROJECT_ID | Lie la télémétrie au projet GitLab. Requis pour l'intégration GitLab Duo. |
gitlab.project.name | CI_PROJECT_NAME | Nom du projet lisible par l'utilisateur, affiché dans les tableaux de bord. |
service.version | CI_COMMIT_SHA | Le SHA du commit du code en cours d'exécution. Vous permet de corréler les traces et les erreurs avec la version exacte déployée. |
deployment.environment.name | CI_ENVIRONMENT_NAME | L'environnement dans lequel le code s'exécute (par exemple, production ou staging). |
service.version et deployment.environment.name sont des conventions sémantiques OpenTelemetry. Les attributs gitlab.* utilisent un espace de nommage fournisseur pour le contexte spécifique à GitLab.
Les quatre variables CI/CD sont prédéfinies dans GitLab CI/CD et ne nécessitent aucune configuration supplémentaire lorsque votre application s'exécute dans un pipeline. Pour le développement local, définissez ces variables d'environnement manuellement ou acceptez les valeurs par défaut vides.
L'exemple Ruby suivant illustre la configuration de ces attributs :
OpenTelemetry::SDK.configure do |c|
c.resource = OpenTelemetry::SDK::Resources::Resource.create(
'gitlab.project.id' => ENV.fetch('CI_PROJECT_ID', ''),
'gitlab.project.name' => ENV.fetch('CI_PROJECT_NAME', ''),
'service.version' => ENV.fetch('CI_COMMIT_SHA', ''),
'deployment.environment.name' => ENV.fetch('CI_ENVIRONMENT_NAME', '')
)
c.use_all
end
Pour d'autres langages, définissez les mêmes attributs de ressource à l'aide du SDK OpenTelemetry de votre langage. Les noms d'attributs et les variables d'environnement sont identiques pour tous les langages.
Vous pouvez tester votre installation GitLab Observability en envoyant des données de télémétrie d'exemple à l'aide du SDK OpenTelemetry. Cet exemple utilise Ruby, mais OpenTelemetry propose des SDK pour de nombreux langages.
Ruby installé sur votre machine locale.
Gems requis :
gem install opentelemetry-sdk opentelemetry-exporter-otlp
Créez un fichier nommé test_o11y.rb avec le contenu suivant :
require 'opentelemetry/sdk'
require 'opentelemetry/exporter/otlp'
OpenTelemetry::SDK.configure do |c|
# Define service information
resource = OpenTelemetry::SDK::Resources::Resource.create({
'service.name' => 'test-service',
'service.version' => '1.0.0',
'deployment.environment.name' => 'production',
'gitlab.project.id' => ENV.fetch('CI_PROJECT_ID', ''),
'gitlab.project.name' => ENV.fetch('CI_PROJECT_NAME', '')
})
c.resource = resource
# Configure OTLP exporter to send to GitLab Observability
c.add_span_processor(
OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
OpenTelemetry::Exporter::OTLP::Exporter.new(
endpoint: 'http://[your-o11y-instance-ip]:4318/v1/traces'
)
)
)
end
# Get tracer and create spans
tracer = OpenTelemetry.tracer_provider.tracer('basic-demo')
# Create parent span
tracer.in_span('parent-operation') do |parent|
parent.set_attribute('custom.attribute', 'test-value')
puts "Created parent span: #{parent.context.hex_span_id}"
# Create child span
tracer.in_span('child-operation') do |child|
child.set_attribute('custom.child', 'child-value')
puts "Created child span: #{child.context.hex_span_id}"
sleep(1)
end
end
puts "Waiting for export..."
sleep(5)
puts "Done!"
Remplacez [your-o11y-instance-ip] par l'adresse IP ou le nom d'hôte de votre instance GitLab Observability.
Exécutez le script :
ruby test_o11y.rb
Accédez à Observability > Services. Sélectionnez le service test-service pour afficher les traces et les spans.
GitLab propose des modèles de tableau de bord prédéfinis pour vous aider à démarrer rapidement avec l'observabilité. Ces modèles sont disponibles dans les modèles GitLab Observability.
Standard OpenTelemetry dashboards : si vous instrumentez votre application avec des bibliothèques OpenTelemetry standard, vous pouvez utiliser ces modèles de tableau de bord plug-and-play :
GitLab-specific dashboards : lorsque vous envoyez des données GitLab OpenTelemetry à votre instance GitLab Observability, utilisez ces tableaux de bord pour obtenir des insights prêts à l'emploi :
CI/CD observability : le dépôt inclut un exemple de pipeline CI/CD GitLab avec une instrumentation OpenTelemetry compatible avec le fichier JSON du modèle de tableau de bord CI/CD de GitLab Observability. Cela vous aide à surveiller les performances de votre pipeline CI/CD et à identifier les goulots d'étranglement.