Démarrer avec OpenTelemetry

OpenTelemetry

Instrumentation Java avec OpenTelemetry

    #!/bin/bash

    if [ $# -ne 3 ]; then
        echo "Usage: ./setup.sh [servicename] [endpoint] [logginglevel]"
        echo Example : ./setup.sh http://collector debug
        exit 1
    fi
        
    export OTEL_SERVICE_NAME=$1
    export OTEL_LOG_LEVEL=$3
    export OTEL_METRICS_EXPORTER=otlp
    export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
    export OTEL_EXPORTER_OTLP_ENDPOINT=$2:4318
    export OTEL_INSTRUMENTATION_OSHI_EXPERIMENTAL_METRICS_ENABLED=true
    export OTEL_INSTRUMENTATION_RUNTIME_TELEMETRY_EMIT_EXPERIMENTAL_TELEMETRY=true
    export OTEL_INSTRUMENTATION_HTTP_CLIENT_CAPTURE_REQUEST_HEADERS=Authorization,Cookie
    export OTEL_INSTRUMENTATION_HTTP_SERVER_CAPTURE_REQUEST_HEADERS=Authorization,Cookie
Utilisation : 
`./setup.sh [servicename] [endpoint] [logginglevel]`

+ __[servicename]__: nom du service.
+ __[endpoint]__ : url de Nudge Exporter (OTEL Collector).
+ __[logginglevel]__ : niveau de log. Valeurs possibles : error, warn, info, debug, trace. Par défaut : info.

OSHI Core [Facultatif]

OSHI Core permet de remonter les métriques “mémoire” affichées dans l’onglet Service/Système.

Version 5.3.1 et plus supportées.

Dans le pom.xml, ajouter les dépendances requises :

<!-- opentelemetry-->
    <dependency>
    <groupId>io.opentelemetry.instrumentation</groupId>
    <artifactId>opentelemetry-oshi</artifactId>
    <version>0.16.1</version>
    <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.github.oshi</groupId>
        <artifactId>oshi-core</artifactId>
        <version>5.3.1</version>
    </dependency>

Dans l’entrypoint de l’application Java, ajouter l’enregistrement des observers de métriques.

import io.opentelemetry.instrumentation.oshi.ProcessMetrics;
import io.opentelemetry.instrumentation.oshi.SystemMetrics;
public static void main(String[] args) {
		/*
         * ...
         */
		SystemMetrics.registerObservers();
		ProcessMetrics.registerObservers();
	}

Lancement de l’application

java -javaagent:path/to/opentelemetry-javaagent.jar -jar myapp.jar

Instrumentation NodeJS avec OpenTelemetry

Instrumentation Dotnet avec OpenTelemetry

L’instrumentation automatique OpenTelemetry .NET devrait fonctionner avec tous les systèmes d’exploitation et toutes les versions de .NET officiellement pris en charge. La version minimale prise en charge de .NET Framework est 4.6.2. Les architectures de processeur prises en charge sont les suivantes : x86 AMD64 (x86-64) ARM64 (expérimental)

On utilisera OpenTelemetry v1.14.0.

Configuration

Sharepoint

Dépannage

Désinstaller OpenTelemetry