Beaver er en Python daemon som munches på tømmerstokker og sender innholdet til logstash.
Installasjon
Ved hjelp av PIP:
Fra Github:
PIP installere git + git: //github.com/josegonzalez/beaver.git#egg=beaver
Fra PyPI:
PIP installere bever == 1
Bruk
bruk:
bever [h] [-r {arbeidstaker, interaktiv}] [-m {bind, koble}] [-p PATH]
& Nbsp; [- F-filer [FILES ...]] [-t TRANSPORT]
valgfrie argumenter:
-H, Hjelpe vis denne hjelpemeldingen og exit
-r {arbeidstaker, interaktiv} --run {arbeidstaker, interaktiv}
& Nbsp; kjøre arbeidstaker eller interaktiv modus
-m {bind, kobler} --mode {bind, koble}
& Nbsp; bind eller koble modus
-p PATH, --path PATH sti til loggfiler
-f FILES [FILER ...] --files FILES [FILER ...]
& Nbsp; plass separert Filelist å se på. Styrer --path
& Nbsp; argument
-t {amqp, Redis, stdout} --transport {amqp, Redis, stdout}
& Nbsp; logge transportmetode
Bakgrunn
Beaver gir en lett metode for frakt lokale loggfiler til Logstash. Den gjør dette ved å bruke enten Redis, stdin, zeromq som transport. Dette betyr at du trenger en Redis, stdin, zeromq innspill sted nedover veien for å få hendelsene.
Hendelser blir sendt i logstash sin json_event format. Alternativene kan også settes som miljøvariabler.
Eksempler
Eksempel 1: Lytt til alle filene i standardbanen fra / var / log på standard ut:
bever
Eksempel 2: Sende logger fra / var / log filer til en Redis liste:
REDIS_URL = "Redis: // localhost: 6379/0" beaver -t Redis
Eksempel 3: Bruk miljøvariabler til å sende logger fra / var / log filer til en Redis liste:
REDIS_URL = "Redis: // localhost: 6379/0" BEAVER_PATH = "/ var / log" BEAVER_TRANSPORT = Redis bever
Eksempel 4: Zeromq lytter på port 5556 (alle grensesnitt):
ZEROMQ_ADDRESS = "tcp: // *: 5556" beaver -m bind
# Logstash config:
innsats {zeromq {
& Nbsp; type => 'avsender-inngang'
& Nbsp; mode => 'klient'
& Nbsp; topologi => 'pushpull'
& Nbsp; adresse => 'tcp: // shipperhost: 5556'
& Nbsp;}}
utgang {stdout {debug => true}}
Eksempel 5: Zeromq koble til ekstern port 5556 på indekser:
ZEROMQ_ADDRESS = "tcp: // indekser: 5556" beaver -m koble
# Logstash config:
innsats {zeromq {
& Nbsp; type => 'avsender-inngang'
& Nbsp; mode => 'server'
& Nbsp; topologi => 'pushpull'
& Nbsp; adresse => 'tcp: // *: 5556'
& Nbsp;}}
utgang {stdout {debug => true}}
Hva er nytt i denne utgaven:
- Sørg for nye filer legges til en transporterer konfigurasjon. Lukker # 96. Lukker # 101. [Jose Diaz-Gonzalez]
- Tillat float tall for update_file_mapping_time. [Jose Diaz-Gonzalez]
- Fix ugyldig støping av boolske verdier. [Jose Diaz-Gonzalez]
- Utfør alle konverteringer i config.py. Lukker # 99. [Jose Diaz-Gonzalez]
Hva er nytt i versjon 16:
- Angi en maks kø størrelse på 100 for å begrense overfyller minne. [Jose Diaz-Gonzalez]
- Bruk multiprosessering for håndtering av større køen størrelser. [Jose Diaz Gonzalez]
- Tidligere var det problemer der filene som ble oppdatert ofte slik som lakk eller serverlogger er overveldende for en naiv implementering av file.readlines () i Beaver. Dette vil føre til Beaver å sakte lese større og større deler av en fil før behandlingen noen av linjene, til slutt forårsaker Beaver å ta en evighet å behandle logglinjer.
- Denne oppdateringen gir muligheten til å bruke en intern arbeids kø for logglinjer. Når file.readlines () kalles, er linjene plassert i kø, som er delt med et barn prosess. Barnet prosessen skaper sin egen transport, slik at vi kan potensielt skape en prosess Pool i fremtiden for å håndtere et større kø størrelse.
- Legg merke til at begrensningen av file.readlines () lesing i altfor mange linjer er fortsatt i eksistens, og kan fortsette å forårsake problemer for visse loggfiler.
- Legg standard redis_password til BeaverConfig klasse. [Jose Diaz-Gonzalez]
- Fix mangler strek forårsaker transport å bryte. [Norman Joyner]
- Implementere Redis auth støtte. [Norman Joyner]
- Legg bever init script for daemonization modus. [Jose Diaz-Gonzalez]
- Bruk python logger når du bruker StdoutTransport. [Jose Diaz-Gonzalez]
- Legg til korte arg flagg for vertsnavn og format. [Jose Diaz-Gonzalez]
- Legg evnen til daemonize. Lukker # 79. [Jose Diaz-Gonzalez]
- Pass rundt en logger eksempel til alle transporter. [Jose Diaz-Gonzalez]
- Revert & quot; Lagd en lett hendelse klassen & quot; [Jose Diaz-Gonzalez]
- Etter overveielse, er bever ment å være & quot; lett & quot ;. Lar forlate den tunge treffer til de store gutta.
- Dette går tilbake forplikte 1619d33ef4803c3fe910cf4ff197d0dd0039d2eb.
- Lagt til en lett hendelse klasse. [Jose Diaz-Gonzalez]
- Denne klassen eget ansvar vil være behandlingen av en gitt linje som en hendelse. Det er fremtidig mål er å fungere som en lett gjennomføring av filtersystemet innen Logstash
- Fjern argparse krav for python 2.7 og nyere. [Jose Diaz Gonzalez]
Hva er nytt i versjon 13:
- Faste visse miljøvariabler. [Jose Diaz-Gonzalez]
- SSH Tunnel Support. [Jose Diaz-Gonzalez]
- Denne koden skal tillate oss å skape en ssh tunnel mellom to forskjellige servere for det formål å sende og motta data.
- Dette er nyttig i visse tilfeller der du ellers ville trenge å godkjenne i brannmuren eller iptables oppsett, for eksempel når du kjører i to ulike regioner på AWS.
- Tillat for første tilkoblingen lag. Nyttig når du venter på en SSH proxy for å koble. [Jose Diaz-Gonzalez]
- Fix problem der enkelte config mislighold var av en uriktig verdi. [Jose Diaz-Gonzalez]
- Tillat spesifisere verten via flagg. Lukker # 70. [Jose Diaz-Gonzalez]
Krav :
- Python
Kommentarer ikke funnet