Monitorización de Apache Kafka

1
10012

Monitorización de Apache Kafka

0. Índice de contenidos.


1. Introducción.

Ya vimos en este otro tutorial unos primeros pasos con Apache Kafka, su instalación y uso. Ahora vamos a ver Kafka web console, una herramienta muy útil para monitorizar todo lo que pasa en Kafka, los brokers que tiene configurados, topics, particiones, intercambio de mensajes entre producers y consumers, etc.

2. Entorno.

El tutorial se ha realizado con el siguiente entorno:

  • MacBook Pro 15′ (2.4 GHz Intel Core i5, 8GB DDR3 SDRAM).
  • Sistema Operativo: Mac OS Mavericks 10.9.5
  • Oracle Java SDK 1.7.0_60
  • Apache Kafka 0.8.1.1
  • Typesafe 1.2.2

3. Instalación

Kafka web console está desarrollado con Scala y Play Framework por lo que si no lo tienes montando en tu máquina, como es mi caso, necesitas instalarlo. Asumimos que tenemos Java 6 o superior instalado.

Para instalarlo tenemos que descargar el stack de Typesafe ya que forma parte de él junto con otras distribuciones como Scala o Akka. En Mac OS podemos descargarlo con el gestor de paquetes ‘brew’

Para descargar Kafka web console directamente clonamos el repositorio de git del proyecto.

Una vez descargado ejecutamos la tarea start de sbt. Esto arrancará el proyecto instalando las librerías necesarias y creará por defecto la base de datos en H2 que necesita el programa para funcionar. Soporta otras bases de datos como PostgreSQL, MySQL, Oracle, DB2, Derby y SQL Server.

En el primer arranque a mí me ha dado un error indicando que debía añadir el parámetro -DapplyEvolutions.default=true a la configuración.

Editamos el fichero conf/application.conf y añadimos la línea que nos ha indicado:

Volvemos a ejecutar la tarea sbt start y si todo va bien aparecerá por consola lo siguiente:

Abrimos en un navegador la url http://localhost:9000 y ahí tenemos Kafka web console arrancado.

4. Configuración

Antes de poder monitorizar nada debemos configurar la aplicación para indicarle los valores de instalación de Zookeeper.

Lógicamente con Zookeeper arrancado, probamos a conectarnos.

5. Monitorizar Kafka

Desde la opción ‘Brokers’ del menú de la izquierda vemos las instancias de Kafka arrancadas en la máquina:

Desde la opción ‘Topics’ del menú de la izquierda vemos los topics que hemos enviado a Kafka, la partición en la que están (por defecto se crean 2 particiones), el tamaño que ocupan los mensajes y el broker que los envió.

También podemos monitorizar la carga de mensajes que le llegan a Kafka. Esta herramienta crea consumers de todos los topics que se están manejando para monitorizar los mensajes que envían los productores.

Pinchando en el consumer vemos el número de mensajes emitidos y consumidos por segundo.


6. Conclusiones.

Un buen software de monitorización es muy necesario para estar tranquilos de que los sistemas funcionan correctamente y mucho más cuando trabajamos con aplicaciones que deben escalar con flujos de datos muy grandes.

Para monitorizar Kafka esta herramienta aporta bastante ya que de forma gráfica y visual podemos ver mucha información que de otra forma sería más complicado de tener.

Espero que te haya sido de ayuda.

Un saludo.

Juan

1 Comentario

  1. […] Además, se integra fácilmente con otros servicios como por ejemplo el sistema de almacenamiento distribuido Apache Kafka (como podemos ver en los tutoriales Primeros pasos con Apache Kafka ó Monitorización de Apache Kafka. […]

Dejar respuesta

Please enter your comment!
Please enter your name here