Monitorización de Apache Kafka

1
10758

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’

brew install typesafe-activator

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

	git clone https://github.com/claudemamo/kafka-web-console.git

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.

	sbt start

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:

	-DapplyEvolutions.default=true

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

	Play server process ID is 40221
	[info] play - database [default] connected at jdbc:h2:file:play
	[info] play - Starting application default Akka system.
	[info] play - Application started (Prod)
	[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000

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. […]

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad