Nouvelles annonces sur les technologies sans serveur et réseau ainsi que sur le RUM (Real-User Monitoring) dévoilées à la conférence Dash ! Nouvelles annonces dévoilées à la conférence Dash !

Envoi de checks de service : DogStatsD

Si StatsD n’accepte que les métriques, DogStatsD prend en charge les trois principaux types de données Datadog : métriques, événements et checks de service. Cette section propose des cas d’utilisation typiques des checks de service, accompagnés d’exemples de code.

Fonction

Une fois DogStatsD installé, vous pouvez envoyer des checks de service à Datadog via la fonction suivante :

service_check(<NOM_CHECK_SERVICE>, <STATUT>, <TAGS>, <HOSTNAME>, <MESSAGE>)

Paramètres de la fonction check de service :

ParamètreTypeObligatoireValeur par défautDescription
<NOM_CHECK_SERVICE>ChaîneOui-Le nom du check de service.
<STATUT>Nombre entierOui-Une constante décrivant le statut du service : 0 pour OK, 1 pour WARN, 2 pour CRITICAL et 3 pour UNKNOWN.
<TAGS>Liste de chaînesNon-La liste des tags à associer au check de service.
<HOSTNAME>ChaîneNonHost actuelHostname à associer à ce check de service.
<MESSAGE>ChaîneNon-Informations supplémentaires ou une description de la raison pour laquelle ce statut est généré.

Exemples de code

Choisissez votre langage pour obtenir un exemple de code de check de service :

from datadog import initialize, statsd

options = {"statsd_host": "127.0.0.1", "statsd_port": 8125}

initialize(**options)

statsd.service_check(
    name="application.service_check",
    status=O,
    message="Application is OK",
)
require 'datadog/statsd'

statsd = Datadog::Statsd.new('localhost', 8125)

statsd.service_check('application.service_check', 0, {'message' => 'Application is OK'})
package main

import (
    "log"
    "github.com/DataDog/datadog-go/statsd"
    "time"
)

func main() {

    dogstatsd_client, err: = statsd.New("127.0.0.1:8125")

    if err != nil {
        log.Fatal(err)
    }

    dogstatsd_client.ServiceCheck("application.service_check", 0,
        time.Time, []string{}, []string{
            "Application is OK"
        }, []string{
            "env:dev"
        })
}
import com.timgroup.statsd.ServiceCheck;
import com.timgroup.statsd.NonBlockingStatsDClient;
import com.timgroup.statsd.StatsDClient;

public class DogStatsdClient {

    public static void main(String[] args) throws Exception {

        StatsDClient Statsd = new NonBlockingStatsDClient("statsd", "localhost", 8125);

        ServiceCheck sc = ServiceCheck.builder()
                          .withName("Service.check.name")
                          .withStatus(ServiceCheck.Status.OK)
                          .build();

        Statsd.serviceCheck(sc);
    }
}
using StatsdClient;

public class DogStatsdClient
{
    public static void Main()
    {
        var dogstatsdConfig = new StatsdConfig
        {
            StatsdServerName = "127.0.0.1",
            StatsdPort = 8125,
        };

        StatsdClient.DogStatsd.Configure(dogstatsdConfig);

        DogStatsd.ServiceCheck("Service.check.name", 0, message: "Application is OK." , tags: new[] { "env:dev" });
    }
}
<?php

require __DIR__ . '/vendor/autoload.php';

use DataDog\DogStatsd;

$statsd = new DogStatsd(
    array('host' => '127.0.0.1',
          'port' => 8125,
     )
  );

$statsd->service_check('Service.check.name', 0);

Après la transmission d’un check de service, utilisez-le pour déclencher un monitor de check custom.

Pour aller plus loin