Kafka: Überwachen Sie die Verzögerung für die Verbraucher, Partitionen zugewiesen Thema
Arbeite ich mit Kafka 0.9.1 neue Verbraucher-API. Der Verbraucher wird manuell eine partition zugewiesen. Für diese Verbraucher ich würde gerne sehen, seine Fortschritte (im Sinne der lag). Da ich Hinzugefügt die Gruppen-id, Verbraucher-tutorial als Eigenschaft, die ich davon ausgegangen, dass ich mit dem Befehl
bin/kafka-consumer-groups.sh --new-consumer --describe --group consumer-tutorial --bootstrap-server localhost:9092
(wie hier erläutert http://www.confluent.io/blog/tutorial-getting-started-with-the-new-apache-kafka-0.9-consumer-client)
Leider, meinen die Verbraucher-Gruppe-details wird nicht angezeigt mit dem oben genannten Befehl. Daher kann ich den Fortschritt meiner Verbraucher (es lag). Wie kann ich überwachen, die lag in der oben beschriebenen Szenario (manuell zugewiesene partition)?
Der code ist:
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "consumer-tutorial");
props.put("key.deserializer", StringDeserializer.class.getName());
props.put("value.deserializer", StringDeserializer.class.getName());
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
String topic = "my-topic";
TopicPartition topicPartition = new TopicPartition(topic, 0);
consumer.assign(Arrays.asList(topicPartition));
consumer.seekToBeginning(topicPartition);
try {
while (true) {
ConsumerRecords<String, String> records = consumer.poll(1000);
for (ConsumerRecord<String, String> record : records)
System.out.println(record.offset() + ": " + record.value());
consumer.commitSynch();
}
} finally {
consumer.close();
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur für den Fall Sie nicht wollen, code zu schreiben, um diese Informationen zu bekommen oder Befehl ausführen-wie-tools/shell scripts ad-hoc, es gibt N tools erfassen Kafka-Metriken, einschließlich des Verbraucher-Lag. Aus der Spitze von meinem Kopf: Fuchsbau und SPM für Kafka einen guten job machen. Hier ist ein wenig hintergrund über die Kafka-offsets, der Verbraucher lag, und ein paar Metriken abgeleitet von dem, was Kafka macht über JMX. HTH.
Wenn Sie Interesse an der JMX-Exposition Verbraucher-Gruppe-lag, hier ist der agent schrieb ich:
https://github.com/tierhetze/kafka9.offsets
Können Sie die Ausführung dieses Agenten auf einige Kafka-Knoten und setzen der offset lag Statistiken zu externen Leser.
Gibt es Beispiele wie Sie verwenden dieses Mittel mit Telegraf
(https://influxdata.com/time-series-platform/telegraf/).
Am Ende (Kombination z.B. telegraf,influxdb und grafana) sieht man schön Diagramme von offset lag bei mehreren Verbraucher Gruppen.
In der
kafka-consumer-groups.sh
Befehl, Ihre Gruppe name falsch--group consumer-tutorial
nichtVerbraucher-tutorial-Fraktion