Beaver es un demonio de Python que masca en los registros y envía su contenido a logstash.
Instalación
El uso de PIP:
Desde Github:
PIP instalar git + git: //github.com/josegonzalez/beaver.git#egg=beaver
Desde PyPI:
PIP instalar castor == 1
Uso
uso:
castor [-h] [-r {trabajador, interactivo}] [-m {bind, conecte}] [RUTA -p]
& Nbsp; [- ARCHIVOS f [ARCHIVOS ...]] [TRANSPORTE -t]
argumentos opcionales:
-h, --help muestra este mensaje de ayuda y termina
-r {trabajador, interactivo}, {--run trabajador, interactivo}
& Nbsp; trabajador correr o modo interactivo
-m {bind, conecte}, {--mode bind, conecte}
& Nbsp; se unen o el modo de conectar
-p PATH, --path Ruta Ruta a los archivos de registro
ARCHIVOS -f [ARCHIVOS ...], --files archivos [ARCHIVOS ...]
& Nbsp; filelist separada por espacios de ver. Anulaciones --path
& Nbsp; argumento
-t {amqp, redis, stdout}, {--transport amqp, redis, stdout}
& Nbsp; ingrese método de transporte
Antecedentes
Beaver proporciona un método ligero para enviar archivos de registro locales para Logstash. Para ello, utiliza cualquiera de redis, stdin, zeromq como el transporte. Esto significa que necesitará una redis, stdin, zeromq entrada algún lugar del camino para obtener los eventos.
Los eventos se envían en formato json_event de logstash. Las opciones también se pueden fijar como variables de entorno.
Ejemplos
Ejemplo 1: Escuche todos los archivos en la ruta por defecto / var / log en la salida estándar:
castor
Ejemplo 2: Envío de registros de / var / log archivos a una lista redis:
REDIS_URL = "Redis: // localhost: 6379/0" redis -t castor
Ejemplo 3: variables de entorno utiliza para enviar los registros de / var / log archivos a una lista redis:
REDIS_URL = "Redis: // localhost: 6379/0" BEAVER_PATH = "/ var / log" BEAVER_TRANSPORT = redis castor
Ejemplo 4: Zeromq escuchando en el puerto 5556 (todas las interfaces):
ZEROMQ_ADDRESS = "tcp: // *: 5556" bind castor -m
# Logstash config:
de entrada {{zeromq
& Nbsp; type => 'cargador-input'
& Nbsp; mode => 'cliente'
& Nbsp; topología => 'pushpull'
& Nbsp; address => 'tcp: // shipperhost: 5556'
& Nbsp;}}
salida stdout {{debug => true}}
Ejemplo 5: Zeromq conecta al puerto remoto 5556 en indexador:
ZEROMQ_ADDRESS = "tcp: // indexador: 5556" castor -m conectar
# Logstash config:
de entrada {{zeromq
& Nbsp; type => 'cargador-input'
& Nbsp; mode => 'servidor'
& Nbsp; topología => 'pushpull'
& Nbsp; address => 'tcp: // *: 5556'
& Nbsp;}}
salida stdout {{debug => true}}
¿Cuál es nuevo en esta versión:
- Asegúrese de archivos nuevos se añaden a un transporta configuración. Cierra # 96. Cierra # 101. [José Díaz-González]
- Permitir números flotantes para update_file_mapping_time. [José Díaz-González]
- Fix fundición válido de valores booleanos. [José Díaz-González]
- Realice todas las conversiones en config.py. Cierra # 99. [José Díaz-González]
¿Cuál es nuevo en la versión 16:
- Especifique un tamaño de cola máximo de 100 para limitar invadiendo memoria. [José Díaz-González]
- Uso multiprocesamiento para manejar tamaño de las colas más grandes. [José Díaz-González]
- Anteriormente había problemas en los archivos que se actualizan con frecuencia, tales como barnices o servidor registros abrumaría la aplicación ingenua de file.readlines () dentro de Beaver. Esto causaría Beaver leer despacio porciones cada vez mayores de un archivo antes de procesar cualquiera de las líneas, causando finalmente Beaver a tardar una eternidad para procesar líneas de registro.
- Este parche añade la posibilidad de utilizar una cola de trabajo interna para líneas de registro. Siempre file.readlines () se llama, las líneas se colocan en la cola, que se comparte con un proceso hijo. El proceso hijo crea su propio medio de transporte, lo que nos permite potencialmente crear un inventario de procesos en el futuro para manejar un tamaño de la cola más grande.
- Tenga en cuenta que la limitación de file.readlines () lectura en demasiadas líneas se encuentra todavía en existencia, y puede seguir causando problemas para ciertos archivos de registro.
- Añadir redis_password defecto a la clase BeaverConfig. [José Díaz-González]
- Fix falta subrayado que causa el transporte se rompa. [Norman Joyner]
- Implementar redis apoyo de autenticación. [Norman Joyner]
- Añadir castor script de inicio para el modo daemonization. [José Díaz-González]
- Uso registrador pitón al utilizar StdoutTransport. [José Díaz-González]
- Agregar banderas arg cortos para el nombre de host y el formato. [José Díaz-González]
- Añadir la capacidad en demonio. Cierra # 79. [José Díaz-González]
- Haga circular una instancia registrador para todos los transportes. [José Díaz-González]
- Revert & quot; Agregado una clase & quot Evento ligero; [José Díaz-González]
- Después de la deliberación, el castor está destinado a ser & quot; peso ligero & quot ;. Vamos a dejar la gran pegada a los grandes.
- Esto revierte cometer 1619d33ef4803c3fe910cf4ff197d0dd0039d2eb.
- Se ha añadido una clase Event ligero. [José Díaz-González]
- La única responsabilidad de esta clase será la transformación de una línea dada como un evento. Es meta futura será la de actuar como una aplicación ligera del sistema de filtro dentro Logstash
- Eliminar requisito argparse para python 2.7 y superiores. [José Díaz-González]
¿Cuál es nuevo en la versión 13:
- ciertas variables de entorno fijo. [José Díaz-González]
- Soporte túnel SSH. [José Díaz-González]
- Este código debe permitirnos crear un túnel SSH entre dos servidores distintos a los efectos de envío y recepción de datos.
- Esto es útil en ciertos casos en los que de otro modo necesitarían a la lista blanca en la configuración de Firewall o iptables, como cuando se ejecuta en dos regiones diferentes en AWS.
- Permitir lag conexión inicial. Útil cuando se espera un proxy SSH para conectarse. [José Díaz-González]
- tema Fix donde ciertos valores predeterminados de configuración eran de un valor incorrecto. [José Díaz-González]
- Permitir la especificación de host a través de la bandera. Cierra # 70. [José Díaz-González]
Requisitos :
- Python
Comentarios que no se encuentran