Configuration du suivi d'.NET s sur z/OS
Vous pouvez configurer le traçage d'.NET s sur les systèmes z/OS à l'aide d'une instrumentation manuelle. En raison des limitations de la plateforme, l'instrumentation automatique n'est pas disponible sur z/OS.
Pour plus d'informations sur le fonctionnement de la surveillance d'.NET, consultez la section « Comment fonctionne la surveillance d'.NET ».
Avant de commencer
Pour configurer le suivi d'.NET Core s sur z/OS, procédez comme suit :
- Assurez-vous que l'agent d' Instana s est en cours d'exécution sur le système z/OS. Consultez la section « Installation de l'agent sur z/OS » dans la documentation d' Instana.
- Vérifiez que votre version d'.NET Core. est prise en charge.
- Consultez les informations relatives à l'assistance.
Activation du traçage d'.NET
Sur les systèmes d' z/OS, la fonctionnalité de profilage API d' CoreCLR n'est pas prise en charge. Par conséquent, l'instrumentation automatique via la réécriture IL et l'intégration d'un profileur natif n'est pas disponible sur cette plateforme.
En raison de ces contraintes architecturales, vous devez recourir à l'instrumentation manuelle pour activer le traçage des applications .NET sur z/OS.
Instana prend en charge deux méthodes d'instrumentation manuelle sur z/OS :
- Méthode 1 : Utilisation du SDK d' Instana : utilisez ce SDK si vous avez uniquement besoin d'une surveillance d' Instana, car il offre une intégration directe et est plus simple à configurer.
- Méthode 2 : Utilisation du SDK d' OpenTelemetry : utilisez ce SDK si vous avez besoin d'une instrumentation indépendante des fournisseurs ou de la flexibilité nécessaire pour passer d'un backend d'observabilité à un autre.
Méthode 1 : Utilisation du SDK d' Instana
Utilisez le SDK de traçage d' Instana s pour créer des segments et des traces personnalisés.
Pour activer le traçage à l'aide du SDK d' Instana, procédez comme suit :
- Ajoutez le
Instana.Tracing.Core.Sdkpaquet NuGet à votre projet. Créez des intervalles personnalisés dans le code de votre application :
using Instana.Tracing.Sdk.Spans; // Create an entry span for incoming requests using (var span = CustomSpan.Create(SpanType.ENTRY, "operation-name")) { span.SetServiceName("your-service-name"); span.SetEndpointName("endpoint-name"); span.SetData("custom.key", "custom-value"); // Your application logic here } // Create an intermediate span for internal operations using (var span = CustomSpan.Create(SpanType.INTERMEDIATE, "internal-operation")) { span.SetServiceName("your-service-name"); span.SetEndpointName("operation-name"); // Your internal logic here }Facultatif : configurez le traceur d' Instana s dans le code de démarrage de votre application (généralement dans
Program.cs) afin de définir les noms par défaut des services et des points de terminaison qui s'affichent dans les traces :using Instana.Tracing.Sdk; // Configure Instana Tracer TracerConfiguration.ServiceName = "your-service-name"; TracerConfiguration.EndpointName = "your-endpoint-name";- Déployez et lancez l'application. Générer du trafic vers les points de terminaison de l'application.
Vérifiez que les traces sont bien enregistrées :
- Go dans Applications > Services de l'interface utilisateur d' Instana.
- Recherchez le nom du service pour consulter ses traces et ses métriques.
Pour plus d'informations sur le SDK de traçage Instana .NET Core, consultez .NET ou .NET Core.
Méthode 2 : Utilisation du SDK d' OpenTelemetry
Utilisez le SDK d' OpenTelemetry, associé à l'exportateur OTLP, pour envoyer des traces vers Instana.
<agent-root-path>/agent/etc/instana/configuration.yamlAvant d'utiliser le SDK d' OpenTelemetry, configurez l'agent Instana pour qu'il accepte les données d' OpenTelemetry en activant la configuration suivante dans le fichier de configuration de l'agent :
# Enable OpenTelemetry
com.instana.plugin.opentelemetry:
grpc:
enabled: true
http:
enabled: true
# Enable .NET Core AutoTracing
com.instana.plugin.netcore:
tracing:
enabled: true
Pour activer le traçage à l'aide du SDK d' OpenTelemetry, procédez comme suit :
Ajoutez les paquets requis OpenTelemetry NuGet à votre projet :
OpenTelemetry.Extensions.HostingOpenTelemetry.Exporter.OpenTelemetryProtocolOpenTelemetry.Exporter.Console(si la journalisation via la console est requise)OpenTelemetry.Instrumentation.AspNetCore(pour les applications web d' ASP.NET Core )OpenTelemetry.Instrumentation.Http(pour l'instrumentation client d' HTTP )
Configurez ` OpenTelemetry ` dans le code de démarrage de votre application (généralement dans
Program.cs) :using OpenTelemetry.Resources; using OpenTelemetry.Trace; var builder = WebApplication.CreateBuilder(args); // Configure OpenTelemetry builder.Services.AddOpenTelemetry() .ConfigureResource(resource => { resource.AddService( serviceName: "your-service-name", serviceVersion: "1.0.0", serviceInstanceId: Environment.ProcessId.ToString()); }) .WithTracing(tracing => { tracing .AddSource("your-service-name") .AddAspNetCoreInstrumentation() .AddHttpClientInstrumentation() .AddOtlpExporter(options => { // Configure OTLP endpoint to point to Instana Agent options.Endpoint = new Uri("http://localhost:4317"); }); });Créez des segments personnalisés à l'aide de OpenTelemetry ActivitySource:
using System.Diagnostics; // Create an ActivitySource private static readonly ActivitySource ActivitySource = new ActivitySource("your-service-name", "1.0.0"); // Create custom spans using (var activity = ActivitySource.StartActivity("operation-name")) { activity?.SetTag("custom.key", "custom-value"); activity?.SetTag("operation.type", "business-logic"); // Your application logic here activity?.AddEvent(new ActivityEvent("Operation completed")); }- Déployez et lancez l'application. Générer du trafic vers les points de terminaison de l'application.
Vérifiez que les traces sont bien enregistrées :
- Go dans Applications > Services de l'interface utilisateur d' Instana.
- Recherchez le nom du service pour consulter ses traces et ses métriques.