Log Bull es un sistema de recolección de logs con énfasis en la facilidad de uso. Puede implementarse mediante un script .sh, mediante Docker y mediante Docker Compose. El proyecto es completamente de código abierto bajo la licencia Apache 2.0.Log Bull es un sistema de recolección de logs con énfasis en la facilidad de uso. Puede implementarse mediante un script .sh, mediante Docker y mediante Docker Compose. El proyecto es completamente de código abierto bajo la licencia Apache 2.0.

ELK, Loki y Graylog eran excesivos, así que construí Log Bull

2025/10/16 23:31

Durante unos cinco años, me he enfrentado a la tarea de recopilar logs, típicamente de bases de código pequeñas a medianas. Enviar logs desde el código no es un problema: Java y Go tienen bibliotecas para esto prácticamente listas para usar. Pero implementar algo para recopilarlos es un dolor de cabeza. Entiendo que es una tarea solucionable (incluso antes de ChatGPT, y ahora aún más). Sin embargo, todos los sistemas de logging están principalmente orientados hacia el mundo empresarial grande y sus requisitos, en lugar de equipos pequeños o desarrolladores individuales con pocos recursos, pegamento y un plazo de "ayer".

Lanzar ELK es un desafío para mí cada vez: un montón de configuraciones, una implementación no trivial, y cuando entro en la interfaz de usuario, mis ojos se vuelven locos con las pestañas. Con Loki y Graylog, es un poco más fácil, pero todavía hay muchas más características de las que necesito. Al mismo tiempo, separar logs entre proyectos y agregar otros usuarios al sistema para que no vean nada que no deberían, tampoco es el proceso más obvio.

Así que hace aproximadamente un año, decidí crear mi propio sistema de recopilación de logs. Uno que sea lo más fácil de usar y lanzar posible. Se implementaría en el servidor con un solo comando, sin ninguna configuración o pestañas innecesarias en la interfaz. Así es como surgió Log Bull, y ahora es de código abierto: un sistema de recopilación de logs para desarrolladores con proyectos de tamaño mediano.

Tabla de contenidos:

  • Acerca del proyecto
  • ¿Cómo implementar Log Bull?
  • ¿Cómo enviar logs?
  • ¿Cómo ver logs?
  • Conclusión

Acerca del proyecto

Log Bull es un sistema de recopilación de logs con énfasis en la facilidad de uso (configuración mínima, características mínimas, configuración cero al inicio). El proyecto es completamente de código abierto bajo la licencia Apache 2.0. Mi prioridad principal fue crear una solución que permitiera a un desarrollador junior descubrir fácilmente cómo iniciar el sistema, cómo enviarle logs y cómo verlos en unos 15 minutos.

Características clave del proyecto:

  • Implementado con un solo comando a través de un script .sh o un comando Docker.
  • Puedes crear múltiples proyectos aislados para recopilar logs (y agregar usuarios a ellos).
  • Interfaz extremadamente simple con configuración mínima, y sin configuración requerida al iniciar (configuración cero).
  • Bibliotecas para Python, Java, Go, JavaScript (TS \ NodeJS), PHP, C#. Rust y Ruby están planificados.
  • Gratuito, de código abierto y autoalojado.
  • No es necesario conocer LogQL, Kibana DSL u otros lenguajes de consulta para buscar logs.

https://www.youtube.com/watch?v=8H8jF8nVzJE&embedable=true

El proyecto está desarrollado en Go y construido sobre OpenSearch.

Sitio web del proyecto - https://logbull.com

GitHub del proyecto - https://github.com/logbull/logbull

P.D. Si encuentras útil el proyecto y tienes una cuenta de GitHub, por favor dale una estrella ⭐️. Las primeras estrellas son difíciles de conseguir. ¡Estaría extremadamente agradecido por tu apoyo!

¿Cómo implementar Log Bull?

Hay tres formas de implementar un proyecto: a través de un script .sh (que recomiendo), a través de Docker y a través de Docker Compose.

Método 1: Instalación a través de script

El script instalará Docker, colocará el proyecto en la carpeta /opt/logbull y configurará el inicio automático cuando se reinicie el sistema. Comando de instalación:

sudo apt-get install -y curl && \ sudo curl -sSL https://raw.githubusercontent.com/logbull/logbull/main/install-logbull.sh \ | sudo bash 

Método 2: Lanzamiento a través de Docker Compose

Crea el archivo docker-compose.yml con el siguiente contenido:

services:   logbull:     container_name: logbull     image: logbull/logbull:latest     ports:       - "4005:4005"     volumes:       - ./logbull-data:/logbull-data     restart: unless-stopped     healthcheck:       test: ["CMD", "curl", "-f", "http://localhost:4005/api/v1/system/health"]       interval: 5s       timeout: 5s       retries: 30 

Y ejecuta el comando docker compose up -d. El sistema se iniciará en el puerto 4005.

Método 3: Lanzamiento a través del comando Docker

Ejecuta el siguiente comando en la terminal (el sistema también se iniciará en el puerto 4005):

docker run -d \   --name logbull \   -p 4005:4005 \   -v ./logbull-data:/logbull-data \   --restart unless-stopped \   --health-cmd="curl -f http://localhost:4005/api/v1/system/health || exit 1" \   --health-interval=5s \   --health-retries=30 \   logbull/logbull:latest 

¿Cómo enviar logs?

Diseñé el proyecto pensando en la conveniencia, principalmente para desarrolladores. Por eso creé bibliotecas para la mayoría de los lenguajes de desarrollo populares. Lo hice con la idea de que Log Bull puede conectarse a cualquier biblioteca popular como procesador sin cambiar la base de código actual.

Recomiendo encarecidamente revisar los ejemplos en el sitio web, porque hay un panel interactivo para seleccionar un idioma:

Code examples picler

Tomemos Python como ejemplo. Primero, necesitas instalar la biblioteca (aunque también puedes enviarla a través de HTTP; hay ejemplos para cURL):

pip install logbull 

Luego envía desde el código:

import time from logbull import LogBullLogger  # Initialize logger logger = LogBullLogger(     host="http://LOGBULL_HOST",     project_id="LOGBULL_PROJECT_ID", )  # Log messages (printed to console AND sent to LogBull) logger.info("User logged in successfully", fields={     "user_id": "12345",     "username": "john_doe",     "ip": "192.168.1.100" })  # With context session_logger = logger.with_context({     "session_id": "sess_abc123",     "user_id": "user_456" })  session_logger.info("Processing request", fields={     "action": "purchase" })  # Ensure all logs are sent before exiting logger.flush() time.sleep(5) 

¿Cómo ver logs?

Todos los logs se muestran inmediatamente en la pantalla principal. Puedes:

  • Reducir el tamaño de los mensajes (cortando la línea a ~50-100 caracteres).

  • Expandir la lista de campos enviados (user_id, order_id, etc.).

  • Hacer clic en un campo y agregarlo al filtro. Búsqueda de logs con condiciones:

    Logs search with conditions

    Regular logs view

    Viewing messages text only (you can cut extra fields):

También puedes recopilar grupos de condiciones (por ejemplo, el mensaje incluye cierto texto, pero excluye una dirección IP de servidor específica).

Conclusión

Espero que mi sistema de recopilación de logs sea útil para aquellos desarrolladores que no quieren o no pueden (debido a recursos limitados del proyecto) implementar soluciones "pesadas" como ELK. Ya estoy usando Log Bull en proyectos de producción, y todo va bien. Agradezco comentarios, sugerencias de mejora y problemas en GitHub.

Oportunidad de mercado
Logo de Elk Finance
Precio de Elk Finance(ELK)
$0.01965
$0.01965$0.01965
0.00%
USD
Gráfico de precios en vivo de Elk Finance (ELK)
Aviso legal: Los artículos republicados en este sitio provienen de plataformas públicas y se ofrecen únicamente con fines informativos. No reflejan necesariamente la opinión de MEXC. Todos los derechos pertenecen a los autores originales. Si consideras que algún contenido infringe derechos de terceros, comunícate a la dirección [email protected] para solicitar su eliminación. MEXC no garantiza la exactitud, la integridad ni la actualidad del contenido y no se responsabiliza por acciones tomadas en función de la información proporcionada. El contenido no constituye asesoría financiera, legal ni profesional, ni debe interpretarse como recomendación o respaldo por parte de MEXC.

También te puede interesar

Raúl Rocha, dueño de Miss Universo, admitió huachicoleo: ‘Ante tanta insistencia, hice aportaciones’

Raúl Rocha, dueño de Miss Universo, admitió huachicoleo: ‘Ante tanta insistencia, hice aportaciones’

Raúl Rocha, dueño del 50% de Miss Universo, se convirtió en testigo protegido. (EFE/ Héctor Pereira).
Compartir
Elfinanciero2025/12/17 01:03
'KPop Demon Hunters' reescribe la historia musical del cine de animación

'KPop Demon Hunters' reescribe la historia musical del cine de animación

La publicación 'KPop Demon Hunters' reescribe la historia musical de películas animadas apareció en BitcoinEthereumNews.com. La banda sonora de KPop Demon Hunters sube al número 1 en el Billboard 200, uniéndose a un pequeño grupo de álbumes de películas animadas que lideran la lista. LOS ÁNGELES, CALIFORNIA – 24 DE AGOSTO: Ken Jeong habla durante el Evento Sing-Along de "KPop Demon Hunters" de Netflix en Regal LA Live el 24 de agosto de 2025 en Los Ángeles, California. (Foto de Gonzalo Marroquin/Getty Images para Netflix) Getty Images para Netflix Las películas animadas son conocidas no solo por ser aptas para toda la familia, sino por tener un rendimiento excepcionalmente bueno en taquilla y por producir algunas de las canciones más memorables en la historia del cine. Disney y Pixar han creado un gran negocio no solo creando películas taquilleras, sino también bandas sonoras exitosas e innumerables sencillos que han vendido millones, dominado las listas y ganado el Oscar a la Mejor Canción Original. Ahora, Sony Animation y Netflix están dando batalla a esos gigantes. KPop Demon Hunters, la película animada de Netflix que ha resultado ser el título más visto de la plataforma, se une a un club exclusivo de algunas de las bandas sonoras más exitosas relacionadas con películas animadas de todos los tiempos mientras sube un puesto en América. KPop Demon Hunters alcanza el número 1 La banda sonora de KPop Demon Hunters mejora en el Billboard 200 esta semana, subiendo del número 2 al número 1. Este marco representa su primera semana como el álbum número 1 en América, después de casi dos meses de espera en el segundo puesto detrás de proyectos como I'm the Problem de Morgan Wallen, Don't Tap the Glass de Tyler, the Creator, y Man's Best Friend de Sabrina Carpenter. Este último título cae al número 2 después de debutar en primer lugar apenas la semana pasada. El Rey León, Pocahontas y Frozen Según Billboard, KPop Demon Hunters es ahora apenas la séptima banda sonora asociada a una película animada en alcanzar el número 1 en el...
Compartir
BitcoinEthereumNews2025/09/19 03:35
¿Quién es Kim Ju-ae, la ‘misteriosa’ hija de Kim Jong-un y ‘posible’ heredera del poder en Norcorea?

¿Quién es Kim Ju-ae, la ‘misteriosa’ hija de Kim Jong-un y ‘posible’ heredera del poder en Norcorea?

El líder norcoreano Kim Jong Un y su hija, Kim Ju Ae, inspeccionando un complejo industrial en el condado de Kangdong. (Foto: EFE)
Compartir
Elfinanciero2025/12/17 01:30