Novedades con Elastic Stack 5.x
En octubre del año pasado ha sido liberada de manera oficial la versión 5.0.0. Desde entonces, han ido saliendo periódicamente actualizaciones y nuevas versiones del stack (la última mientras escribo este artículo es la 5.2.1, del 14 de febrero de 2017).
Sin embargo, desde mimacom hemos visto que a muchos de nuestros clientes les cuesta dar el paso y decidirse a cambiar a estas últimas versiones. Dado que han venido cargadas de novedades en múltiples aspectos, creemos que es un paso lógico y que todos deberíamos de plantearnos llegado el momento.
Si todavía no tienes claro por qué te conviene hacer el cambio, en este artículo haremos un breve repaso de las novedades que se han incorporado a partir de la versión 5.0.0. Seguro que alguna de ellas la has echado en falta a lo largo de este tiempo o, incluso, has estado pidiéndolas a gritos.
¡Adiós ELK Stack!, ¡larga vida a Elastic Stack!
Aunque a más de uno se nos ha escapado alguna lagrimita al escuchar la noticia, ha llegado el momento de decirle adiós a nuestro querido alce. El antes llamado ELK Stack ha dejado de conocerse como tal. La razón principal es que se han unido nuevos miembros a la familia Elastic, como es el caso de Beats, por lo que faltaban letras para describir el creciente número de productos.
Por todo ello, el conjunto de las herramientas que Elastic pone a nuestra disposición ha pasado a conocerse como Elastic Stack.
Versiones unificadas:
Sí, así es. Por fin se ha unificado el número de las versiones que componen todo el stack. Ya no tengo que preocuparme de si tengo la versión 1.x de Logstash, la 2.x de Elasticsearch o la 1.x de Kibana. Ahora el pack completo se libera al mismo tiempo y con el mismo número de versión.
Esto, sin duda, es mucho más que un cambio de nombre. Ayuda a ver todo como un único producto y no sólo como un pequeño conjunto de piezas que encajaban y combinaban entre si. Además, no tendremos que preocuparnos más acerca de la compatibilidad entre las distintas versiones, ya que los propios desarrolladores de la herramienta se ocuparán de liberar todas las versiones al mismo tiempo de manera que no haya problemas de compatibilidad.
Además, para todos aquellos amantes de los contenedores, como extra a la distribución tradicional, también podemos encontrar imágenes oficiales de Docker para Elasticsearch, Logstash y Kibana.
Beats:
Después de que el equipo de Packetbeats se uniera al equipo de Elastic allá por el año 2015, Beats se ha convertido en una realidad y ya forma parte del Elastic Stack. Con Beats podremos recolectar información de distintas fuentes y enviarla de manera directa a Logstash o Elasticsearch para luego poder ser visualizada desde Kibana.
Inicialmente, Elastic distribuye 5 beats:
- Filebeat: ficheros de logs.
- Metricbeat: métricas de sistema, incluyendo compatibilidad con cgroups para obtener métricas de cualquier tipo de contenedores basados en esta tecnología (como es el caso de Docker).
- Packetbeat: métricas de red.
- Winlogbeat: eventos del log de Windows.
- Heartbeat: monitorización de servicios para comprobar que siguen activos.
¿No encuentras el que necesitas? No te preocupes, créalo tú mismo, compártelo o búscalo en la [https://www.elastic.co/guide/en/beats/libbeat/current/community-beats.html](lista de beats que la comunidad pone a tu disposición).
Look & Feel:
Porque no sólo los logos son más bonitos y uniformes, sino que la plataforma completa ha sufrido un rediseño completo.
Este cambio puede percibirse principalmente en Kibana, que ha adquirido una apariencia más elegante, se ha vuelto más intuitivo y sencillo de usar, y ofrece nuevas funcionalidades que ayudan a entender el Elastic Stack como un todo. De este modo, si usamos el stack completo, Kibana será la puerta de entrada que deberemos cruzar para comenzar a explotar nuestros datos. Desde este punto de vista, por ejemplo, se ha incorporado en Kibana el modulo de UI para toda la parte de seguridad que tanto se echaba de menos en versiones anteriores.
Por otro lado, dentro de este mismo apartado, es de destacar la incorporación de Timelion a Kibana, permitiendo explotar y analizar la información almacenada en forma de series temporales. Con la incorporación de Timelion, es posible realizar cálculos basados en el tiempo que combinen información de varias fuentes almacenadas en Elasticsearch y crear una visualización a partir de ellos. Por ejemplo, nos permitirá responder a preguntas como ¿cuál la diferencia en ventas entre enero de 2015 y 2016?
Y, por último, aunque no por ello menos importante, ¡sí!, por fin vuelve a estar disponible el tema oscuro en Kibana.
Monitorización de Logstash::
Se ha incorporado una API a Logstash que permitirá obtener diferentes métricas sobre su funcionamiento: información sobre los nodos, sobre el sistema operativo, sobre la JVM, estadísticas de un determinado nodo (consumo de memoria o CPU), información sobre hilos que están consumiendo más recursos, detalles sobre los plugins instalados, etc.
X-Pack:
Más allá del Elastic Stack, se han combinado varias funcionalidades para la plataforma en el denominado X-Pack
Con el paso del tiempo, el universo de herramientas y extensiones para Elasticsearch ha ido creciendo. Así, podíamos encontrar aplicaciones como Marvel (monitorización), Watcher (alertas y notificaciones) o Shield (seguridad) que ofrecían más funcionalidad a la plataforma y nos ayudaban a tener un producto más completo.
Pero, ¿cuál era el problema? A medida que fueron surgiendo más de estas extensiones, más difícil se ha hacía la instalación y el mantenimiento de todas estas herramientas. Así que, como no puede ser de otras manera, a grandes problemas, grandes remedios.
Con esta idea surge X-Pack (y, posiblemente, diferentes packs en el futuro). Estos packs son una combinación de varias herramientas que ofrecen funcionalidad extra al Elastic Stack.
¿Qué funcionalidad nos ofrece X-Pack?:
- Security: Antiguamente conocido como Shield, nos permite añadir una capa de seguridad de grano fino a nuestro índices, documentos o campos almacenados basado en un sistema de roles y permisos.
- Alerting: Antiguamente conocido como Watcher, nos permite establecer un sistema de alertas y notificaciones basado en la información almacenada en nuestros índices.
- Monitoring: Antiguamente conocido como Marvel, nos permite conocer el estado de nuestro clúster en todo momento.
- Reporting: Nos permite obtener un informe imprimible o en formato PDF de cualquier visualización o dashboard almacenado en Kibana.
- Graph: Nos permite explotar de maneras diferentes la información almacenada en Elasticsearch en base a la relación entre los distintos datos almacenados
Elastic Cloud
También ha llegado Elasticsearch as a service. Elastic ofrece una solución de Elasticsearch y Kibana disponible en la nube, con toda la escalabilidad necesaria sin falta de preocuparnos por la instalación y configuración de las herramientas. Esta solución está alojada en servidores de Amazon, lo que supone una infraestructura probada y consolidada.
Con esta opción, Elastic ofrece una plataforma siempre disponible, monitorizada, securizada, escalable y extensible. Dado que es mantenida por el propio fabricante, también ofrece las últimas versiones disponibles de los productos y todas las funcionalidades extras que incorpora X-Pack.
Además, si prefieres montar todo esto en otra infraestructura, también tendrás la opción de hacerlo con la versión Enterprise: el mismo producto y las mismas funcionalidades, listas para instalar donde prefieras.
Otras mejoras en Elasticsearch:
Mejoras de rendimiento: Como no podría ser de otra manera, se han añadido mejoras a Elasticsearch que han mejorado sustancialmente el rendimiento de la plataforma con respecto a las versiones anteriores. Shrink API: Con esta nueva versión se podrá reducir el número de shards de un determinado índice de manera rápida y sencilla, sin necesidad de volver a crearlo manualmente. Rollover API: La nueva versión de elasticsearch incluye un nuevo sistema de rotación de índices en base al número de documentos almacenados o a la antigüedad del índice. Si unimos esto al punto anterior, tendremos un montón de posibilidad para modificar índices. Ingest node: A través de este tipo de nodos se podrá realizar un pre-procesamiento de los documentos justo antes de indexarlos. Simplemente definiendo una serie de procesos a ejecutar, podrás realizar modificaciones en los documentos: añadir campos, eliminarlos, renombrarlos, etc.
Conclusión
Como ves, las novedades que se han incluido son muchas, y las razones para no migrar muy pocas. Algunas de las novedades que se han incorporado han sido muy esperadas y han ofrecido una mejora considerable a la solución de Elastic.
Si te interesa el tema, no dejes de echar un vistazo a nuestro blog, es probable que en futuros artículos analicemos alguna de ellas con mucho más detenimiento.
¿Te hemos convencido ya para usar la nueva versión?, ¿vas a dar el salto?… better call mimacom 😉