Les métriques StatsD-Exporter ne sont pas reçues de Java


Je vais à travers ce tutoriel sur mon Mac, en essayant d'envoyer des métriques de compteur de mon code Java à Prometheus via StatsD-Exporter.

Sur mon localhost, j'exécute deux conteneurs Docker, l'un est Prometheus, l'autre est StatsD-exporter. Essayer d'être le plus permis possible, c'est mon statsd_mapping.yaml:

mappings:
- match: "*.*.*.*"
  name: "${1}_name"
  labels:
    label1: "$2"
    label2: "$3"
    label3: "$4"

Donc, afin d'envoyer des données à statsd-exporter, j'utilise cette commande shell plusieurs fois:

echo -n 'blah.step_4.reason.new_entities:1|c' | nc -u -w0 localhost 9125

Ensuite, je navigue vers http://localhost:9102/metrics et je peux voir ma métrique là:

# HELP blah_name Metric autogenerated by statsd_exporter.
# TYPE blah_name counter
blah_name{label1="step_4",label2="reason",label3="new_entities"} 5

Ma métrique a été reçue 5 fois comme prévu.

Ensuite, j'utilise Java NonBlockingStatsDClient, en envoyant la même métrique, et je m'attends à voir la métrique comme avant.

Ceci est mon code Java:

private static final StatsDClient statsd = new NonBlockingStatsDClient(
        "",
        "127.0.0.1",                        
        9125          
);

public static void main(String[] args) {
    statsd.incrementCounter("blah1.step_4.reason.new_entities");
}

L'exécution du code ci-dessus apporte des résultats aléatoires.

  • Parfois, je ne trouve tout simplement pas ma métrique
  • Dans la plupart des cas, je peut trouver une nouvelle métrique envoyée depuis Java mais elle est bloquée au compte 1. Signifie que même si j'envoie la même métrique 10 fois, elle affichera toujours 1. Ensuite, en prenant le même nom de la métrique et en l'envoyant à statsd à partir du shell - et le compteur incrémente.

, Que dois-je manquer?

Merci!

Author: Forepick, 2020-06-16

1 answers

OK je viens de le résoudre. Le problème est que j'utilise un client bloquant Non. Comme le thread principal est mort avant que le client n'ait réussi à envoyer quoi que ce soit, je n'ai trouvé aucune mesure sur StatsD.

 0
Author: Forepick, 2020-06-16 21:20:41