10 recopiladores de registros de código abierto para el registro centralizado

La diferencia entre productos mediocres y productos excelentes es la tala. Aprende por qué es así y cómo unirlo todo.


Al igual que la seguridad, el registro es otro componente clave de las aplicaciones web (o aplicaciones en general) que se deja de lado debido a los viejos hábitos y la incapacidad de mirar hacia adelante. Lo que muchos ven como resmas inútiles de cinta digital son herramientas poderosas para mirar dentro de sus aplicaciones, corregir errores, mejorar áreas débiles y deleitar a los clientes..

Antes de comenzar con el registro centralizado, veamos por qué el registro es tan importante.

Dos tipos (niveles) de registro

Las computadoras son sistemas deterministas, excepto cuando no lo son.

Como un desarrollador profesional, Me he encontrado con muchos casos en los que el comportamiento observado de la aplicación desconcertó a todos durante días, pero la clave siempre estuvo en los registros. Cada pieza de software que ejecutamos produce (o al menos debería generar) registros, que nos dicen por lo que estaba pasando cuando ocurrió la situación problemática..

Ahora, el registro, como lo veo, es de dos tipos: auto generado registros y generado por programador troncos Tenga en cuenta que esta no es una diferenciación de libros de texto, y citarme en esta terminología lo llevará a problemas. ��

La imagen de arriba muestra lo que se puede denominar como registro autogenerado.

En este caso específico, es un sistema de WordPress que registra una condición inesperada (un Aviso) cuando se ejecuta algún código PHP. Registros como estos se generan incansablemente todo el tiempo: mediante herramientas de bases de datos como MySQL, servidores web como Apache, lenguajes y entornos de programación, dispositivos móviles e incluso sistemas operativos..

Estos rara vez contienen mucho valor, y los programadores ni siquiera se molestan en mirarlos, excepto cuando algo sale mal. En esos momentos, cavan profundamente en los registros, tratando de entender qué salió mal.

Pero los registros autogenerados solo pueden ayudar mucho. Si varias personas tienen acceso de administrador a un sitio, por ejemplo, y una de ellas elimina una información esencial, es imposible detectar al culpable con el uso de registros generados automáticamente. Desde la perspectiva de los sistemas unidos como la aplicación, era solo otro día en el trabajo: alguien tenía la autoridad necesaria para ejecutar una tarea, por lo que el sistema la llevó a cabo.

Lo que se necesita aquí es una capa adicional de registro explícito y extenso que cree rastros para el lado humano de las cosas. Estos son lo que yo llamo como registros generados por programadores, y forman la columna vertebral de industrias sensibles como la banca. Aquí hay un ejemplo de cómo se vería este esquema de registro:

Fuente: joomlatools.com

El registro es poder

Entonces, dados estos dos tipos de registros en un sistema, así es como puede aprovecharlos y aumentar el impacto.

Mantenerse por delante del cliente.

El “deleite del cliente” se conoce como un truco de marketing inútil, pero gracias al registro, puede hacerse muy real. Sé de productos digitales que monitorean sus registros como un halcón, y tan pronto como un cliente rompe algo en la página, pueden llamar al cliente y ofrecer ayuda..

Solo piense en ello: en cuestión de segundos después de recibir un error feo, recibe una llamada de la compañía que dice: “Oye, entiendo que estaba tratando de agregar este artículo al carrito, pero siguió muriendo. ¿Está bien que agregue esta vez y complete el pedido por usted?

Cliente encantado? Usted apuesta!

Moral y productividad del equipo

Como dije antes, cuando los errores no se rastrean durante mucho tiempo, los desarrolladores de su equipo se frustran y pierden más y más tiempo persiguiendo sus colas. Y aquí está el problema con la depuración: requiere una mente fresca y curiosa desde el principio. Si un WTF piensa tanto como entra en tu cerebro, todo el proceso va por un revés.

¿Y qué dificulta la depuración? En mi experiencia, la falta de registro, o la falta de conocimiento de registro. Para empezar, es posible que no se dé cuenta de que su base de datos favorita también es solo otra pieza de software que genera registros, o que no está registrando extensamente en su aplicación (consulte los registros generados por el programador arriba).

Recuerdo particularmente un caso en el que la aplicación no respondía y nadie sabía por qué. Unos días después, el culpable fue el límite de E / S de disco alcanzado debido al tráfico excesivo. Debido a que nadie se molestó en mirar allí, nadie pudo entender por qué.

Pistas de auditoría

¿Qué pasa si dos años después, su cliente dice que todos esos pedidos no fueron realizados por ellos sino por algún hacker??

¿Qué argumento tendría para entretener o rechazar su solicitud? Si tiene un registro extenso (dirección IP, fecha y hora, tarjeta de crédito, etc.), podrá analizar todo eso y tomar una decisión. Bueno o malo, al menos tendrá alguna base objetiva, en lugar de parecerse a un tiro en la oscuridad.

Fuente: signature-reads.com

Lo mismo es cierto si se encuentra bajo alguna lente reguladora o se le exige someterse a una auditoría de terceros como parte de un proyecto nuevo e importante. No tener un sistema de registro robusto le mostrará una mala luz.

Mejorando los sistemas existentes

¿Cómo se hace para mejorar un sistema actual??

¿Deberías simplemente arrojarle más hilos de RAM y CPU? ¿Qué pasa si su aplicación es lenta a pesar de tener suficientes recursos? ¿Dónde está el cuello de botella? Más a menudo que no, el registro es la respuesta.

Por ejemplo, todos los principales sistemas de bases de datos tienen una función para iniciar sesión consultas lentas.

Fuente: speedawarenessmonth.com

Si visita regularmente el registro lento de consultas, sabrá qué operaciones y qué tiempo demorará más, y por lo tanto descubrirá áreas pequeñas pero importantes que necesitan trabajo. A menudo, un pequeño cambio como este funciona mejor que duplicar la capacidad del hardware.

No se puede contar cuántas maneras le ayuda un buen sistema de registro. Quizás el mejor argumento es que se trata de una actividad automatizada que, una vez configurada, no necesita monitoreo y lo salvará de la ruina algún día.

Con eso fuera del camino, veamos algunos de los increíbles recopiladores de registros de código abierto (herramientas de registro unificadas). En caso de que se lo pregunte, en una publicación anterior cubrimos las herramientas de registro comerciales basadas en la nube..

Graylog

Graylog es uno de los nombres líderes en la industria cuando se trata de capacidades de registro y visualización de grado industrial. También es único, ya que escanea los registros recopilados en busca de signos de vulnerabilidades de seguridad y te notifica al instante.

Si bien Graylog es un sistema de registro centralizado, tiene la flexibilidad que necesita, lo que le permite personalizar alertas, paneles y más.

Greylog es fuente abierta, pero hay un plan empresarial si sus necesidades son complejas.

Con clientes como SAP, Cisco y LinkedIn en su lista, Graylog es una herramienta en la que puede confiar con los ojos cerrados..

Logstash

Si eres fanático o usuario de la pila Elastic, Logstash vale la pena echarle un vistazo (la pila ELK ya es una cosa, en caso de que no lo supieras). Al igual que otras herramientas de registro en esta lista, Logstash si está completamente fuente abierta, permitiéndole la libertad de desplegar y usar como desee.

Pero no se deje engañar: Logstash es una nave nodriza con capacidades que superan con creces cualquier herramienta de registro humilde. Es capaz de recopilar grandes cantidades de datos de múltiples plataformas, le permite definir y ejecutar sus propias tuberías de datos, dar sentido a los volcados de registros no estructurados y más.

Por supuesto, la única limitación es que solo funciona con el conjunto de productos Elastic, pero si está comenzando y busca escalar pronto, Logstash es el camino a seguir.!

Fluido

Entre las herramientas de registro centralizado que funcionan como una capa intermedia para la ingestión de datos, Flutend es el primero entre iguales. Con una excelente biblioteca de complementos, Fluentd puede capturar datos de prácticamente cualquier sistema de producción, amasarlos en la estructura deseada, construir una tubería personalizada y alimentarlos a su plataforma de análisis favorita, ya sea MongoDB o Elasticsearch.

Fluentd está construido sobre Ruby, es completamente fuente abierta, y es ampliamente popular debido a su flexibilidad y modularidad.

Con compañías importantes como Microsoft, Atlassian y Twilio utilizando la plataforma, Fluentd no tiene nada que demostrar. ��

Canal artificial

Si realmente, los conjuntos de datos realmente grandes son su desafío, y eventualmente desea alimentar todo en algo como Hadoop, Canal artificial Es una de las mejores opciones. Es un proyecto de código abierto “puro”, en el sentido de que lo mantiene nuestra querida Fundación Apache, lo que significa que no hay un plan empresarial.

Esto puede o no ser lo que estás buscando exactamente. ��

Fuente: beyondcoder.com

Escrito en Java (que continúa asombrándome cuando se trata de tecnología innovadora), el código fuente de Flume es completamente abierto. Flume es lo mejor para usted si está buscando una plataforma de ingestión de datos distribuida y tolerante a fallas para material pesado.

Octopussy

Le doy cero de diez para nombrar productos, pero Octopussy puede ser una buena opción si sus necesidades son simples y se pregunta de qué se trata todo el alboroto relacionado con las tuberías, la ingestión, la agregación, etc..

En mi opinión, Octopussy cubre las necesidades de la mayoría de los productos (las estadísticas estimadas son inútiles, pero si tuviera que adivinar, diría que se ocupa del 80% de los casos de uso en el mundo real).

Octopussy no tiene una gran interfaz de usuario (ver aquí) en absoluto, pero lo compensa con respecto a la velocidad y la falta de hinchazón. La fuente está disponible en GitHub, como se esperaba, y creo que vale la pena mirarlo seriamente.

LOGalyze

LOGalyze fue un producto comercial que recientemente se hizo de código abierto. Aunque no pude realizar el proyecto en GitHub, sí hacen un instalador de Windows y todo el código fuente descargable.

Si está interesado en una comunidad, puede encontrar detalles de una lista de correo aquí.

LOGalyze es una oferta relativamente flexible y poderosa que funcionará bien para implementaciones de un solo sistema que buscan combinar el registro de fuentes conocidas como Postfix, Apache, etc., y producir el resultado en CSV, PDF, HTML o formatos similares. Sí, no hace todo, pero como era un producto comercial en algún momento, lo hace bastante bien..

LogPacker

Cuando se trata de elegir una herramienta para el trabajo, tengo dos criterios: tiene que estar enfocado y debe estar respaldado por un modelo de negocio activo. El problema con el software de código abierto, en general, es que a los pocos meses / años, las posibilidades de estancamiento o muerte son altas. No se cuenta cuántas herramientas de registro se lanzaron con gusto, solo se encuentran ahora en el cementerio de GitHub.

Medido por este criterio, LogPacker es un favorito para mi.

Como se puede ver en la captura de pantalla, LogPacker se trata de registros, y nada más. Su impulso definitivamente es hacia sus ofertas en la nube, pero usted es más que bienvenido a descargarlo e instalarlo en sus servidores (página de GitHub aquí).

La agrupación en clúster y la agregación están disponibles para aquellos que desean usarlo en una escala no trivial, y hay planes empresariales disponibles que desean trabajar con la API o necesitan implementaciones más grandes. En mi opinión, un enfoque refrescantemente minimalista (centrado, aunque no deficiente en funciones) en la administración de registros!

Reloj de registro

Estoy seguro de que hay personas entre nosotros que no desean toda la ceremonia asociada con un sistema de registro “unificado”, “centralizado”. Su negocio proviene de servidores únicos, y están buscando algo rápido y eficiente para ver sus archivos de registro. Bueno, saluda a Reloj de registro.

Una vez instalado, LogWatch puede escanear los registros de su sistema y crear un informe del tipo que desee. Sin embargo, es una pieza de software algo anticuada (léase “confiable”) y fue escrita en Perl. Por lo tanto, necesitará Perl 5.6+ en su servidor para ejecutarlo. No tengo capturas de pantalla para compartir, ya que es un proceso demoníaco de línea de comandos puramente.

Si eres un adicto a la CLI y te encanta la forma de hacer las cosas de la vieja escuela, te encantará Logwatch!

Syslog-ng

los Syslog-ng La herramienta se desarrolló como una forma de procesar archivos de datos syslog (un protocolo establecido de cliente-servidor para el registro del sistema) en tiempo real. Con el tiempo, sin embargo, ha llegado a admitir otros formatos de datos: no estructurado, SQL y NoSQL. El funcionamiento del protocolo syslog se resume de forma clara en la siguiente ilustración..

syslog-ng es una herramienta de clasificación y recopilación de registros confiable y de calidad de producción que se escribió en C y ha sido un nombre establecido en la industria durante mucho tiempo. La mejor parte es su extensibilidad, que le permite escribir complementos en C, Python, Java, Lua o Perl.

lnav

Abreviatura de (Log Navigator), lnav es una herramienta de terminal puro que funciona en una sola máquina, un solo directorio. Es para aquellos que tienen su registro unificado en un solo directorio, o que desean filtrar y mostrar registros en tiempo real desde una sola fuente.

Si pensabas que lnav no era más que glorificado tailf | grep, estarías equivocado. Hay varias características que lo enamorarán: vista de series temporales, impresión bonita (para JSON y otros formatos), fuentes de registro codificadas por colores, filtros potentes, capacidad para comprender varios protocolos de registro y más.

Es solo que a veces quieres una capa de registro sin complicaciones, sin configuración, quizás temporal, y lnav se ajusta perfectamente!

Conclusión

Y ahí lo tienes!

Fue una lista difícil de compilar, para ser sincero, ya que el registro no es tan popular como, por ejemplo, la administración de contenido, y todo el intercambio de mentes parece haber sido capturado por tres o cuatro herramientas. Aún así, las necesidades de todos son diferentes, y he tratado de cubrirlas ampliamente.

¡Desde una línea de comandos tonta, herramientas sin configuración hasta gigantes de datos completos, todo está aquí! ¿Me he perdido algo? ¡Por supuesto lo hice! Por favor, hágamelo saber en los comentarios, y me complacerá agregarlo aquí (¡con créditos, por supuesto!).

TAGS:

  • Fuente abierta

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map