Gewusst wie: überwachen von Kafka broker mit jmxtrans?
Kafka 0.8.1.1 (kafka_2.8.0-0.8.1.1.tgz)
Ich bin mit jmxtrans zu tun JMX-überwachung der Kafka-Instanz (Andockfenster). Leider kafka Metriken werden nicht zurückgegeben.
Ich habe versucht ein paar Dinge zu Debuggen und zu wissen, dass kafka richtig läuft (kann ich produzieren/konsumieren Nachrichten erfolgreich) abgeschlossen haben, jmxtrans zurück JMX-Metriken (zum Beispiel java.lang:type=Memory, Attribut=HeapMemoryUsage richtigen Daten zurückgegeben werden), so dass die Allgemeine kafka und die JMX-Funktion scheint zu funktionieren. Auch kann ich den Zugriff auf die Metriken werden bei der Verwendung von jconsole -- die Metriken, die zu sein scheinen, erfasst, mit den Daten in allen relevanten Bereichen.
Wenn ich versuche jmxtrans mit der folgenden Konfiguration, leider, ich bekomme keine Daten zurück (keine Daten an allen (in der Tat). Ich glaube, dass die Metriken sollen erfasst werden, basierend auf die kafka-Dokumentation ("kafka.server:type=BrokerTopicMetrics", Attribut="MessagesInPerSec")
Folgenden ist die jmxtrans Konfiguration, die ich verwendet habe:
{
"servers" : [ {
"port" : "9999",
"host" : "10.0.1.201",
"queries" : [ {
"outputWriters" : [ {
"@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter",
"settings" : {
}
} ],
"obj" : "kafka.server:type=BrokerTopicMetrics",
"attr" : [ "MessagesInPerSec" ]
} ],
"numQueryThreads" : 2
} ]
}
Ich bin nicht sicher, warum die Daten nicht zurückgegeben. Vielleicht richte ich eine ungültige jmxtrans-Konfiguration oder bin ich vielleicht die Angabe der Metrik falsch.
Jede Hilfe ist willkommen.
InformationsquelleAutor Eric Broda | 2015-07-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach viel Experimentieren habe ich nun gelöst, die Frage. Für Vollständigkeit, unten ist, wie ich das problem gelöst.
Scheint es, dass ich angegeben das "obj" - Wert falsch.
Den RICHTIGEN obj mit dem Wert (ein Beispiel) wie folgt:
Beachten Sie, dass die "obj" - Wert benötigt zusätzliche Zitate. Dies scheint ungewöhnlich und anders als die üblichen Muster, die ich gesehen habe (ohne Anführungszeichen) für andere JMX-obj-Werte.
JMXTRANS gültige Ausgabe, nachdem Sie das korrekt (zitiert) Werte in der obj-string...
Ich wird ein Upgrade auf die nächste version in Kürze - haben Sie zufällig wissen, Wann es behoben wurde (ie. nicht die Anführungszeichen)?
Nicht genau, aber ich arbeite mit der neuesten version aus den Quellen, so es wird sicherlich in der nächsten version.
Ich habe zu kämpfen mit diesem für ein paar Tage. Ich habe nach dem gleichen Muster (außer, dass ich brauchte, um ein '='). '"obj":"\"kafka.server\":type=\"ReplicaManager\"name=\"UnderReplicatedPartitions\""'. Aber ich sehe noch nichts in die Datei geschrieben. Keine Hilfe?
InformationsquelleAutor Eric Broda
Könnte, wie ich herausgefunden habe in
./bin/jmxtrans.sh
standardmäßig die stdout/log-Datei ist/dev/null
.Deshalb ist es wichtig, in der die env-var zu etwas, das Sie verwenden können, um die Ausgabe zu sehen:
Ich bin mit dem folgenden
kafka.json
Konfigurationsdatei:Beim starten jmxtrans es wird die Abfrage der broker mit JMX auf
localhost:10101
überCount
Attribut fürtestowo
Thema. Es wird drucken Sie das Ergebnis aus der DateiLOG_FILE
alle 60 Sekunden (Sie können es ändern, mitSECONDS_BETWEEN_RUNS
env var), z.B.Möchten Sie möglicherweise verwenden andere Autoren jmxtrans, so dass der Ausgang ist nicht vermischt, z.B.
- Und das nicht zuletzt, um die JMX-port auf einen bekannten Wert verwenden
JMX_PORT
env var beim starten einer Kafka-broker mit./bin/kafka-server-start.sh
, d.h.InformationsquelleAutor Jacek Laskowski