Instrumenter des applications Java
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Instrumenter des applications Java

Configuration requise

Si vous n’avez pas encore réalisé la configuration :

Après avoir installé l’intégration AWS et le Forwarder Datadog, suivez ces étapes pour instrumenter votre application afin d’envoyer des métriques, des logs et des traces à Datadog.

Configuration

Installer la bibliothèque Lambda Datadog

Vous pouvez installer la bibliothèque Lambda de Datadog localement en ajoutant l’un des blocs suivants dans votre fichier pom.xml ou build.gradle (selon la configuration de votre projet). Remplacez n.n.n par le numéro de la dernière version (en ignorant le v qui le précède) : Bintray

Ajoutez la dépendance suivante dans votre fichier pom.xml :

<repositories>
  <repository>
    <id>datadog-maven</id>
    <url>https://dl.bintray.com/datadog/datadog-maven</url>
  </repository>     
</repositories>
<dependency>
  <groupId>com.datadoghq</groupId>
  <artifactId>datadog-lambda-java</artifactId>
  <version>n.n.n</version>
  <type>pom</type>
</dependency>

Ajoutez le bloc suivant dans votre build.gradle :

repositories {
  maven { url "https://dl.bintray.com/datadog/datadog-maven" }
}
dependencies {
  implementation 'com.datadoghq:datadog-lambda-java:n.n.n'
}

Configurer la fonction

  1. Activez le tracing actif AWS X-Ray pour votre fonction Lambda.
  2. Incorporez la fonction Lambda de votre gestionnaire à l’aide du wrapper fourni par la bibliothèque Lambda de Datadog.
    public class Handler implements RequestHandler<APIGatewayV2ProxyRequestEvent, APIGatewayV2ProxyResponseEvent> {
        public Integer handleRequest(APIGatewayV2ProxyRequestEvent request, Context context){
            DDLambda dd = new DDLambda(request, lambda);
        }
    }
    

Abonner le Forwarder Datadog aux groupes de logs

Pour pouvoir envoyer des métriques, traces et logs à Datadog, vous devez abonner la fonction Lambda du Forwarder Datadog à chaque groupe de logs de votre fonction.

  1. Si ce n’est pas déjà fait, installez le Forwarder Datadog.
  2. Abonnez le Forwarder Datadog aux groupes de logs de votre fonction.

Explorer la surveillance sans serveur de Datadog

Après avoir configuré votre fonction en suivant la procédure ci-dessus, vous devriez pouvoir visualiser vos métriques, logs et traces sur la page Serverless principale.

Surveiller une logique opérationnelle personnalisée

Si vous souhaitez envoyer une métrique custom, consultez l’exemple de code ci-dessous :

public class Handler implements RequestHandler<APIGatewayV2ProxyRequestEvent, APIGatewayV2ProxyResponseEvent> {
    public Integer handleRequest(APIGatewayV2ProxyRequestEvent request, Context context){
        DDLambda dd = new DDLambda(request, lambda);

        Map<String,String> myTags = new HashMap<String, String>();
            myTags.put("product", "latte");
            myTags.put("order","online");

        // Envoyer une métrique custom
        dd.metric(
            "coffee_house.order_value", // Nom de la métrique
            12.45,                      // Valeur de la métrique
            myTags);                    // Tags associés

        URL url = new URL("https://example.com");
        HttpURLConnection hc = (HttpURLConnection)url.openConnection();

        // Ajouter les en-têtes de tracing distribué
        hc = (HttpURLConnection) dd.addTraceHeaders(hc);

        hc.connect();
    }
}

Pour en savoir plus sur l’envoi de métriques custom, consultez cette page.

Pour aller plus loin