Primeros pasos con las métricas de clientes de Kafka

Empresario usando una computadora portátil en una cafetería en un espacio de coworking.

Autor

Uche Nwankwo

Product Manager

Event Streams on IBM Cloud

Apache Kafka se erige como una plataforma de almacenamiento de eventos y procesamiento de transmisiones de código abierto ampliamente reconocida. Se ha convertido en el estándar de facto para la transmisión de datos, ya que más del 80 % de las empresas de Fortune 500 lo utilizan. Los principales proveedores de la nube ofrecen servicios gestionados de transmisión de datos para satisfacer esta creciente demanda.

Una ventaja clave de optar por los servicios gestionados de Kafka es la delegación de responsabilidad de los agentes y las métricas operativas, lo que permite a los usuarios centrarse únicamente en las métricas específicas de las aplicaciones. En este artículo, el gerente de producto, Uche Nwankwo, brinda orientación sobre un conjunto de métricas de productores y consumidores que los clientes deben monitorear para obtener un rendimiento óptimo.

Con Kafka, el monitoreo generalmente involucra varias métricas relacionadas con temas, particiones, brokers y grupos de consumidores. Las métricas estándares de Kafka incluyen información sobre el rendimiento, la latencia, la replicación y el uso del disco. Consulte la documentación de Kafka y las herramientas de monitoreo relevantes para entender las métricas específicas disponibles para su versión de Kafka y cómo interpretarlas eficazmente.

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA

Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

¿Por qué es importante monitorear a los clientes de Kafka?

Monitorear su instancia de IBM Event Streams for IBM Cloud es crucial para garantizar una funcionalidad óptima y el estado general de su pipeline de datos. El monitoreo de sus clientes de Kafka ayuda a identificar los primeros signos de falla de la aplicación, como un alto uso de recursos y consumidores rezagados y cuellos de botella. La identificación temprana de estas señales de advertencia permite una respuesta proactiva a posibles problemas que minimizan el tiempo de inactividad y evitan cualquier interrupción en las operaciones del negocio.

Los clientes de Kafka (productores y consumidores) tienen su propio conjunto de métricas para monitorear su rendimiento y estado. Además, el servicio Event Streams admite un amplio conjunto de métricas producidas por el servidor. Para obtener más información,consulte Monitoreo de métricas de Event Streams mediante IBM Cloud Monitoring.

IBM Kafka

¿Qué es Kafka?

Whitney Lee de IBM Cloud explica cómo Apache Kafka, una plataforma de transmisión distribuida de código abierto, permite a los desarrolladores crear aplicaciones que utilizan event streams para crear aplicaciones de rendimiento.

Métricas del cliente para monitorear

Métricas de productores

 
 
Tasa de errores de registroEsta métrica mide el número promedio por segundo de registros enviados que resultaron en errores. Una tasa alta (o un aumento) de errores de registro podría indicar una pérdida de datos o que los datos no se procesan como se esperaba. Todos estos efectos pueden comprometer la integridad de los datos que está procesando y almacenando en Kafka. El monitoreo de esta métrica ayuda a garantizar que los datos enviados por los productores se registren de manera precisa y confiable en sus temas de Kafka.
 
Request-latency-avgEsta es la latencia promedio para cada solicitud de producción en ms. Un aumento en la latencia afecta el rendimiento y podría indicar un problema. Medir la métrica de latencia promedio de las solicitudes puede ayudar a identificar cuellos de botella dentro de su instancia. Para muchas aplicaciones, la baja latencia es crucial para garantizar una experiencia de usuario de alta calidad y un aumento en la latencia promedio de la solicitud podría indicar que está alcanzando los límites de su instancia aprovisionada. Puede solucionar el problema cambiando la configuración de su productor, por ejemplo, agrupando o escalando su plan para optimizar el rendimiento.
 
Byte-rateEl número promedio de bytes enviados por segundo para un tema es una medida de su rendimiento. Si transmite datos de manera regular, una caída en el rendimiento puede indicar una anomalía en su instancia Kafka. El plan Event Streams Enterprise comienza con 150 MB por segundo divididos uno a uno entre entrada y salida, y es importante saber cuánto de eso está consumiendo para una planificación de capacidad efectiva. No supere los dos tercios del rendimiento máximo, para tener en cuenta el posible impacto de las acciones operativas, como actualizaciones internas o modos de falla (por ejemplo, la pérdida de una zona de disponibilidad).
 

Métricas del consumidor
 

Fetch-rate
fetch-size-avg
El número de solicitudes de obtención por segundo (fetch-rate) y el número promedio de bytes obtenidos por solicitud (fetch-size-avg) son indicadores clave del rendimiento de sus consumidores de Kafka. Una tasa de recuperación alta puede indicar ineficiencia, especialmente en una pequeña cantidad de mensajes, ya que significa que se reciben datos insuficientes (posiblemente ninguno) cada vez. Fetch-rate y fetch-size-avg se ven afectados por tres configuraciones: fetch.min.bytes, fetch.max.bytes y fetch.max.wait.ms. Ajuste estas configuraciones para lograr la latencia general deseada, al tiempo que minimiza el número de solicitudes de recuperación y, potencialmente, la carga en la CPU del broker. El monitoreo y la optimización de ambas métricas garantizan que esté procesando los datos de manera eficiente para las cargas de trabajo actuales y futuras.
 
Commit-latency-avgEsta métrica mide el tiempo promedio entre el envío de un registro comprometido y la recepción de la respuesta de confirmación. Al igual que request-latencia-avg como métrica de productor, un commit-latencia-avg estable significa que sus compromisos de desplazamiento ocurren de manera oportuna. Una latencia de compromiso alta podría indicar problemas dentro del consumidor que le impiden comprometer desplazamientos rápidamente, lo que afecta directamente la confiabilidad del procesamiento de datos. Podría llevar a un procesamiento duplicado de mensajes si un consumidor debe reiniciar y reprocesar mensajes desde un desplazamiento previamente no comprometido. Una latencia alta de compromiso también significa dedicar más tiempo a las operaciones administrativas que al procesamiento real de mensajes. Este problema puede provocar retrasos en el procesamiento de los mensajes, especialmente en entornos con un gran volumen de tráfico.
 
Bytes-consumed-rateSe trata de una métrica de consumo que mide el número promedio de bytes consumidos por segundo. Al igual que la velocidad de bytes como métrica de producción, esta debería ser una métrica estable y previsible. Un cambio repentino en la tendencia esperada de la tasa de consumo de bytes podría representar un problema para sus aplicaciones. Una tasa baja puede ser una señal de eficiencia en la obtención de datos o recursos aprovisionados en exceso. Una tasa más alta podría abrumar la capacidad de procesamiento de los consumidores y, por lo tanto, requerir escalar, crear más consumidores para equilibrar la carga o cambiar las configuraciones de los consumidores, como los tamaños de recuperación.
 
Rebalance-rate-per-hourEl número de reequilibrios de grupo que participan por hora. El reequilibrio ocurre cada vez que hay un nuevo consumidor o cuando un consumidor abandona el grupo, lo que provoca un retraso en el procesamiento. Esto sucede porque las particiones se reasignan, lo que hace que los consumidores de Kafka sean menos eficientes si hay muchos reequilibrios por hora. Una tasa de reequilibrio más alta por hora puede deberse a configuraciones erróneas que conducen a un comportamiento inestable del consumidor. Este acto de reequilibrio puede causar un aumento de la latencia y podría provocar que las aplicaciones se bloqueen. Asegúrese de que sus grupos de consumidores sean estables mediante el seguimiento de una tasa de reequilibrio por hora baja y estable.

Las métricas deben cubrir una amplia variedad de aplicaciones y casos de uso. Event Streams on IBM Cloud proporciona un amplio conjunto de métricas que se documentan aquí y proporcionarán más información útil según el dominio de su aplicación. Dé el siguiente paso. Aprenda más sobre Event Streams para IBM Cloud. 

¿Qué sigue?

Ahora tiene el conocimiento sobre los clientes esenciales de Kafka para monitorear. Le invitamos a poner en práctica estos puntos y probar la oferta de Kafka totalmente gestionada en IBM Cloud. Para cualquier desafío en la configuración, consulte la Guía de introducción y las preguntas frecuentes.

 
Soluciones relacionadas
IBM Event Streams

IBM® Event Streams es un software de transmisión de eventos construido sobre Apache Kafka de código abierto. Está disponible como servicio totalmente gestionado en IBM® Cloud o para autohospedaje.

Explore Event Streams
Software y soluciones de integración

Desbloquee el potencial empresarial con las soluciones de integración de IBM, y conecte aplicaciones y sistemas para acceder a datos críticos de forma rápida y segura.

Explore las soluciones de integración
Servicios de consultoría en la nube

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de asesoramiento en la nube de IBM.

Explore los servicios de consultoría en la nube
Dé el siguiente paso

IBM® Event Streams es un software de transmisión de eventos construido sobre Apache Kafka de código abierto. Está disponible como servicio totalmente gestionado en IBM® Cloud o para autohospedaje.

  1. Explore Event Streams
  2. Más información