Kolekti

11 views
Skip to first unread message

Miguel Angel

unread,
Oct 11, 2015, 5:19:38 AM10/11/15
to agil...@googlegroups.com
Hola!!

Hace poco que he comenzado un mini-proyectillo: Kolekti.

Consiste en una herramienta complementaria a Sensu (una herramienta de monitorización), aunque tengo la intención de reemplazar a éste.

He encontrado numerosas pegas a Sensu:
  • Los agentes necesitan al menos 3 hilos con una conexión a Rabbit cada uno
  • Los agentes, antes de ejecutar un check, deben mergear numerosos archivos JSON
  • Por lo tanto, los agentes son pesados y complejos (creedme, estoy participando en uno)
  • Si se quiere monitorizar y alertar por un mismo check, hay que comprobarlo dos veces.
  • Son los agentes quienes deciden si lanzar una alerta, lo que hace complejo modificarlas y las hace bastante estáticas
  • Cada check debe implementar las mismas operaciones, pero algunos difieren en los parámetros: --warning --critical --schema, ...
  • El servidor tiene más de lo mismo: delega en los handlers toda la operativa.
  • Si saltan muchas alertas, el servidor se colapsa, saltándose algunos filtros (y generando más alarmas)
  • Problemas de seguridad varios.
  • Necesita un redis y un rabbitmq
  • ...

Así que he decidido crear una herramienta simple que permita obtener datos raw, y posteriormente crear árboles de decisión, donde se termine alertando o monitorizando.

Estoy en la primera fase: recoger datos y mandárselos a Sensu. Y ya tengo algo que hasta funciona, aunque es totalmente manual.

Os comento todo esto por si alguien quiere echar una mano.

De momento, son 288 líneas de python, usando django+celery en el servidor y flask en el agente. No se hace nada con las métricas una vez obtenidas (aún). Y toda la configuración es manual.

Si alguien está interesado en echarme una mano, puedo hacer un mini-tutorial para echarlo a andar. Es un ejemplo muy chulo de arquitectura SOA simple, en sus primeras etapas de desarrollo. Actualmente todo funciona por HTTP simple, aunque es muy probable que eso cambie o que se envíen los datos cifrados de alguna manera.

Algunos enlaces del proyecto:
Ale, feliz domingo!

--
Miguel Ángel García Martínez

Miguel Angel

unread,
Oct 18, 2015, 5:11:16 AM10/18/15
to agil...@googlegroups.com
Hola de nuevo!

Aunque ha tenido poca aceptación, la página del proyecto es ésta: https://github.com/kolekti-project/kolekti-server

En ella se explica cómo instalarlo y cómo conectarlo a Uchiwa (que ya sirve como interfaz) y generar datos de coña. Aún no permite ejecutar checks reales :/

Y el coverage es del 88% de las 455 líneas de código actuales (tests incluídos) :)
Reply all
Reply to author
Forward
0 new messages