Estoy funcionando con un productor de Kafka en una máquina local usando mi IntelliJ IDE y el productor será la producción de un millón de discos. Al hacerlo, quiero capturar las métricas de productores en el camino a continuación:
Soy consciente de puerto JMX para kafka y traté de configurar el puerto JMX Kafka y 9999. Sin embargo, no estoy seguro de si podemos obtener las métricas utilizando JConsole o jvisualvm en la forma anterior que estoy esperando.
¿Puede alguien sugerir una idea de cómo se puede lograr esto?
Además de JMX, los clientes oficiales Kafka también exponen sus métricas a través de la API de Java, consulte el metrics()
método para recuperar a todos.
Por ejemplo, para imprimir todos los nombres y valores de las métricas:
for (Entry<MetricName, ? extends Metric> entry : producer.metrics().entrySet()) {
System.out.println(entry.getKey().name() + " : " + entry.getValue().metricValue());
}
Fuera de todas las métricas, es probable que interesa outgoing-byte-rate
, request-total
y request-rate
.