<NOM_MÉTRIQUE>:<VALEUR>|<TYPE>|@<TAUX_ÉCHANTILLONNAGE>|#<CLÉ_TAG_1>:<VALEUR_TAG_1>,<TAG_2>
| Paramètre | Obligatoire | Rôle |
|---|
<NOM_MÉTRIQUE> | Oui | Une chaîne contenant uniquement des caractères alphanumériques ASCII, des tirets bas et des points. Consultez la politique de nommage des métriques. |
<VALEUR> | Oui | Nombre entier ou valeur flottante. |
<TYPE> | Oui | c pour COUNT, g pour GAUGE, ms pour TIMER, h pour HISTOGRAM, s pour SET, d pour DISTRIBUTION. Consultez la section Types de métriques pour en savoir plus. |
<TAUX_ÉCHANTILLONNAGE> | Non | Valeur flottante entre 0 et 1 (inclusif). Elle ne fonctionne qu’avec des métriques COUNT, HISTOGRAM, DISTRIBUTION et TIMER. Valeur par défaut : 1 (entraîne un échantillonnage 100 % du temps). |
<CLÉ_TAG_1>:<VALEUR_TAG_1>,<TAG_2> | Non | Une liste de chaînes séparées par des virgules. Utilisez des deux-points pour les tags clé/valeur (env:prod). Pour obtenir des conseils sur la définition des tags, consultez la section Premiers pas avec les tags. |
Voici quelques exemples de datagrammes :
page.views:1|c : incrémente la métrique COUNT page.views.fuel.level:0.5|g : indique que le réservoir est à moitié vide.song.length:240|h|@0.5 : échantillonne l’histogramme song.length comme s’il était envoyé une fois sur deux.users.uniques:1234|s : surveille les visiteurs uniques du site.users.online:1|c|#country:china : incrémente la métrique COUNT correspondant au nombre d’utilisateurs actifs et ajoute un tag avec le pays d’origine.users.online:1|c|@0.5|#country:china : surveille les utilisateurs chinois actifs et utilisez un taux d’échantillonnage.
Protocole DogStatsD v1.1
Avec l’Agent >=v6.25.0 et <v7.0.0 ou >=v7.25.0, il est possible de rassembler des valeurs. Cette fonctionnalité est proposée pour tous les types de métriques, sauf SET. Les valeurs sont séparées par le caractère :. Exemple :
<NOM_MÉTRIQUE>:<VALEUR1>:<VALEUR2>:<VALEUR3>|<TYPE>|@<TAUX_ÉCHANTILLONNAGE>|#<CLÉ_TAG_1>:<VALEUR_TAG_1>,<TAG_2>
Les paramètres TYPE, TAUX_ÉCHANTILLONNAGE et TAGS sont partagés entre toutes les valeurs. Les métriques obtenues sont identiques à celles générées par plusieurs messages comportant une seule valeur à la fois. Cette fonctionnalité est particulièrement utile pour les métriques HISTOGRAM, TIMING et DISTRIBUTION.
Exemples de datagrammes
page.views:1:2:32|d : échantillonne la métrique DISTRIBUTION page.views trois fois avec les valeurs 1, 2 et 32.song.length:240:234|h|@0.5 : échantillonne l’histogramme song.length comme s’il était envoyé une fois sur deux, à deux reprises. Un taux d’échantillonnage de 0.5 est appliqué à chaque valeur.
Protocole DogStatsD v1.2
Les versions >=v6.35.0 && <v7.0.0 ou >=v7.35.0 de l’Agent prennent en charge un nouveau champ d’ID de conteneur. L’Agent Datadog se sert de la valeur de l’ID de conteneur pour ajouter aux métriques DogStatsD des tags de conteneur supplémentaires afin de les enrichir.
L’ID de conteneur commence par c:. Exemple :
<NOM_MÉTRIQUE>:<VALEUR>|<TYPE>|#<CLÉ_TAG_1>:<VALEUR_TAG_1>,<TAG_2>|c:<ID_CONTENEUR>
Remarque : définissez dogstatsd_origin_detection_client sur true dans votre fichier datadog.yaml ou la variable d’environnement DD_DOGSTATSD_ORIGIN_DETECTION_CLIENT=true pour indiquer à l’Agent Datadog d’extraire le champ d’ID de conteneur et d’appliquer les tags de conteneur correspondants.
Exemples de datagrammes
page.views:1|g|#env:dev|c:83c0a99c0a54c0c187f461c7980e9b57f3f6a8b0c918c8d93df19a9de6f3fe1d : l’Agent Datadog ajoute des tags de conteneur comme image_name et image_tag à la métrique page.views.
Pour en savoir plus sur les tags de conteneur, consultez la documentation sur le tagging Kubernetes et Docker.
Protocole DogStatsD v1.3
Les Agents v6.40.0+ et v7.40.0+ prennent en charge un champ timestamp Unix facultatif.
Lorsque ce champ est fourni, l’Agent Datadog n’effectue aucun traitement sur les métriques (pas d’agrégation), si ce n’est l’enrichissement des métriques avec des tags. Cela peut être utile si vous agrégez déjà vos métriques dans votre application et souhaitez les envoyer à Datadog sans traitement supplémentaire.
Le timestamp Unix doit être un nombre positif valide situé dans le passé. Seules les métriques GAUGE et COUNT sont prises en charge.
La valeur est un timestamp Unix (UTC) et doit être préfixée par T, par exemple :
<METRIC_NAME>:<VALUE>|<TYPE>|#<TAG_KEY_1>:<TAG_VALUE_1>,<TAG_2>|T<METRIC_TIMESTAMP>
Exemple de datagramme
page.views:15|c|#env:dev|T1656581400 : un COUNT indiquant que 15 pages vues ont eu lieu le 30 juin 2022 à 9h30 UTC.
Protocole DogStatsD v1.4
À partir de l’Agent >=v7.51.0, une nouvelle valeur inode est prise en charge pour le champ ID de conteneur.
Le champ ID de conteneur peut désormais contenir deux valeurs pour enrichir les métriques DogStatsD avec des tags de conteneur supplémentaires :
- L’ID du conteneur, si disponible.
- L’inode du nœud cgroup si l’ID de conteneur n’est pas disponible.
Le champ ID de conteneur est toujours préfixé par c:, avec pour valeur :
c:ci-<CONTAINER_ID>c:in-<CGROUP_INODE>
Pour des raisons de rétrocompatibilité, le format suivant est toujours pris en charge, bien qu’il soit considéré comme obsolète :
Protocole DogStatsD v1.5
À partir de l’Agent >=v7.57.0, un nouveau champ External Data est pris en charge.
L’Agent Datadog utilise la valeur External Data pour enrichir les métriques DogStatsD avec des tags de conteneur supplémentaires lorsque l’ID de conteneur n’est pas disponible.
L’ID du conteneur est préfixé par e:, par exemple :
<METRIC_NAME>:<VALUE>|<TYPE>|#<TAG_KEY_1>:<TAG_VALUE_1>,<TAG_2>|e:<EXTERNAL_DATA>
Ces données sont fournies par le contrôleur d’admission de l’Agent Datadog et contiennent :
- Un booléen indiquant si le conteneur est un conteneur init ou non.
- Le nom du conteneur.
- L’UID du pod.
Le format est le suivant :
it-INIT_CONTAINER,cn-CONTAINER_NAME,pu-POD_UID
Il se présenterait comme suit :
it-false,cn-nginx-webserver,pu-75a2b6d5-3949-4afb-ad0d-92ff0674e759
Protocole DogStatsD v1.6
À partir de l’Agent >=v7.64.0, un nouveau champ Cardinality est pris en charge.
L’Agent Datadog utilise la valeur de cardinalité pour enrichir les métriques DogStatsD avec des tags de conteneur supplémentaires correspondant à leur cardinalité.
Le champ cardinality est préfixé par card:, par exemple :
<METRIC_NAME>:<VALUE>|<TYPE>|#<TAG_KEY_1>:<TAG_VALUE_1>,<TAG_2>|card:<CARDINALITY>
La cardinalité aura un impact sur l’enrichissement des tags pour les deux éléments suivants :
Les valeurs disponibles pour la cardinalité sont les suivantes :