Beaver er en Python-dæmon der munches på logs og sender deres indhold til logstash.
Installation
Brug af PIP:
Fra Github:
pip installere git + git: //github.com/josegonzalez/beaver.git#egg=beaver
Fra PyPI:
pip installere bæver == 1
Anvendelse
Anvendelse:
bæver [-h] [-r {arbejdstager, interaktiv}] [-m {binde, forbinde}] [-p PATH]
& Nbsp; [- F-filer [FILES ...]] [-t TRANSPORT]
valgfri argumenter:
-h, --help vise denne hjælpetekst og afslut
-r {arbejdstager, interaktiv}, --run {arbejdstager, interaktiv}
& Nbsp; køre arbejdstager eller interaktiv tilstand
-m {binde, forbinde}, --mode {binde, forbinde}
& Nbsp; binde eller tilslutte tilstand
-p PATH, --path PATH sti til logfiler
-F FILER [FILES ...] --files FILER [FILES ...]
& Nbsp; rum-separeret filelist at se. Tilsidesætter --path
& Nbsp; argument
-t {amqp, Redis, stdout}, --transport {amqp, Redis, stdout}
& Nbsp; log transport metode
Baggrund
Beaver giver en letvægts metode til forsendelse lokale logfiler til Logstash. Det gør dette ved hjælp af enten Redis, stdin, zeromq som transporten. Dette betyder at du skal bruge en Redis, stdin, zeromq input eller andet sted nede ad vejen for at få begivenhederne.
Hændelser sendes i logstash s json_event format. Optioner kan også indstilles som miljøvariabler.
Eksempler
Eksempel 1: Lyt til alle filer i standard vej / var / log på standard ud:
bæver
Eksempel 2: Sende logs fra / var / log filer til en Redis liste:
REDIS_URL = "Redis: // localhost: 6379/0" bæver -T Redis
Eksempel 3: Brug miljøvariabler til at sende logs fra / var / log filer til en Redis liste:
REDIS_URL = "Redis: // localhost: 6379/0" BEAVER_PATH = "/ var / log" BEAVER_TRANSPORT = Redis bæver
Eksempel 4: Zeromq lytter på port 5556 (alle grænseflader):
ZEROMQ_ADDRESS = "tcp: // *: 5556" bæver-m binder
# Logstash config:
input {zeromq {
& Nbsp; type => 'afsender-indgang'
& Nbsp; mode => 'klient'
& Nbsp; topologi => 'pushpull'
& Nbsp; adresse => 'tcp: // shipperhost: 5556'
& Nbsp;}}
output {stdout {debug => true}}
Eksempel 5: Zeromq tilslutning til ekstern port 5556 på indexer:
ZEROMQ_ADDRESS = "tcp: // indexer: 5556" bæver-m forbinde
# Logstash config:
input {zeromq {
& Nbsp; type => 'afsender-indgang'
& Nbsp; mode => 'server'
& Nbsp; topologi => 'pushpull'
& Nbsp; adresse => 'tcp: // *: 5556'
& Nbsp;}}
output {stdout {debug => true}}
Hvad er nyt i denne udgivelse:
- Sikre nye filer tilføjes en transporterer konfiguration. Lukker # 96. Lukker # 101. [Jose Diaz-Gonzalez]
- Tillad float numre for update_file_mapping_time. [Jose Diaz-Gonzalez]
- Fix ugyldig støbning af booleske værdier. [Jose Diaz-Gonzalez]
- Udfør alle konverteringer i config.py. Lukker # 99. [Jose Diaz-Gonzalez]
Hvad er nyt i version 16:
- Angiv en max kø størrelse på 100 for at begrænse overskridelse hukommelse. [Jose Diaz-Gonzalez]
- Brug multiprocessing til håndtering af større kø størrelser. [Jose Diaz Gonzalez]
- Tidligere var der spørgsmål, hvor filer, der blev opdateret hyppigt, såsom lak eller server logs ville overvælde den naive implementering af file.readlines () inden Beaver. Dette ville medføre, Beaver langsomt læse større og større dele af en fil, før behandlingen nogen af linjerne, i sidste ende forårsager Beaver at tage for evigt at behandle loglinjer.
- Denne patch tilføjer evnen til at bruge en intern værk kø for loglinjer. Når file.readlines () kaldes når linjerne er placeret i køen, som deles med et barn proces. Barnet proces skaber sin egen transport, tillader os at potentielt skabe en proces Pool i fremtiden til at håndtere en større kø størrelse.
- Bemærk, at begrænsningen af file.readlines () læsning i alt for mange linjer stadig eksisterer, og kan fortsætte med at forårsage problemer for visse logfiler.
- Tilføj standard redis_password til BeaverConfig klasse. [Jose Diaz-Gonzalez]
- Fix manglende understregning forårsager transport til at bryde. [Norman Joyner]
- Implementere Redis auth support. [Norman Joyner]
- Tilføj bæver init script til daemonization mode. [Jose Diaz-Gonzalez]
- Brug python logger, når du bruger StdoutTransport. [Jose Diaz-Gonzalez]
- Tilføj korte ARG flag for værtsnavn og format. [Jose Diaz-Gonzalez]
- Tilføj evnen til daemonize. Lukker # 79. [Jose Diaz-Gonzalez]
- passere omkring en logger instans for alle transporter. [Jose Diaz-Gonzalez]
- Vend tilbage & quot; Tilføjet en letvægts begivenhed klasse & quot; [Jose Diaz-Gonzalez]
- Efter forhandling er bæver ment som & quot; lette vægt & quot ;. Lader forlade den tunge hårdtslående til de store drenge.
- Dette vender begå 1619d33ef4803c3fe910cf4ff197d0dd0039d2eb.
- Tilføjet en letvægts begivenhed klasse. [Jose Diaz-Gonzalez]
- Denne klasse eneste ansvar vil være behandlingen af en given linje som en begivenhed. Det er fremtidens mål vil være at fungere som en let implementering af filtersystemet i Logstash
- Fjern argparse krav om python 2.7 og derover. [Jose Diaz Gonzalez]
Hvad er nyt i version 13:
- Faste visse miljøvariabler. [Jose Diaz-Gonzalez]
- SSH Tunnel Support. [Jose Diaz-Gonzalez]
- Denne kode skulle give os mulighed for at oprette en ssh tunnel mellem to forskellige servere med henblik på at sende og modtage data.
- Dette er nyttigt i visse tilfælde, hvor du ellers skulle whiteliste i din firewall eller iptables opsætning, såsom når du kører i to forskellige regioner på AWS.
- Tillad for første tilslutning forsinkelse. Nyttigt, når venter på en SSH proxy til at oprette forbindelse. [Jose Diaz-Gonzalez]
- Fix problem, hvor visse config defaults var af en forkert værdi. [Jose Diaz-Gonzalez]
- Tillad angive vært via flag. Lukker # 70. [Jose Diaz-Gonzalez]
Krav :
- Python
Kommentarer ikke fundet