Beaver is 'n Python bediener wat munches op logs en stuur hul inhoud te logstash.
Installasie
Die gebruik van PIP:
Van GitHub:
PIP installeer git + git: //github.com/josegonzalez/beaver.git#egg=beaver
Van PyPI:
PIP installeer bever == 1
Gebruik
gebruik:
bever [h] [r {werker, interaktiewe}] [-M {bind, maak}] [p pad]
& Nbsp; [- f FILES [FILES ...]] [t VERVOER]
opsionele argumente:
h, help uit te voer hierdie hulp boodskap en uitgang wys
r {werker, interaktiewe}, --run {werker, interaktiewe}
& Nbsp; hardloop werker of interaktiewe modus
-M {bind, maak}, --mode {bind, maak}
& Nbsp; bind of te verbind modus
p PATH, --path PATH pad lêers aan te meld
f FILES [FILES ...], --files FILES [FILES ...]
& Nbsp; spasie-geskeide File List te kyk. Oorheers --path
& Nbsp; argument
t {amqp, redis, stdout}, --transport {amqp, redis, stdout}
& Nbsp; aanteken vervoer metode
Agtergrond
Beaver bied 'n liggewig metode vir die stuur plaaslike log lêers te Logstash. Hy doen dit met behulp van 'redis, stdin, zeromq as die vervoer. Dit beteken dat jy 'n redis nodig, stdin, zeromq insette iewers in die pad af die gebeure te kry.
Gebeure gestuur in logstash se json_event formaat. Opsies kan ook opgestel word as omgewing veranderlikes.
Voorbeelde
Voorbeeld 1: Luister na al die lêers in die verstek pad van / var / log op standaard uit:
bever
Voorbeeld 2: stuur logs van / var / log lêers na 'n redis lys:
REDIS_URL = "redis: // localhost: 6379/0" bever t redis
Voorbeeld 3: Gebruik omgewing veranderlikes logs te stuur van / var / log lêers na 'n redis lys:
REDIS_URL = "redis: // localhost: 6379/0" BEAVER_PATH = "/ var / log" BEAVER_TRANSPORT = redis bever
Voorbeeld 4: Zeromq luister op poort 5556 (alle interfaces):
ZEROMQ_ADDRESS = "tcp: // *: 5556" bever -M bind
# Logstash config:
insette {zeromq {
& Nbsp; type => 'sender-insette'
& Nbsp; modus => 'kliënt'
& Nbsp; topologie => 'pushpull'
& Nbsp; adres => 'tcp: // shipperhost: 5556'
& Nbsp;}}
uitset {stdout {debug => ware}}
Voorbeeld 5: Zeromq verbind na afgeleë hawe 5556 op indexer:
ZEROMQ_ADDRESS = "tcp: // indexer: 5556" bever -M verbind
# Logstash config:
insette {zeromq {
& Nbsp; type => 'sender-insette'
& Nbsp; modus => 'bediener'
& Nbsp; topologie => 'pushpull'
& Nbsp; adres => 'tcp: // *: 5556'
& Nbsp;}}
uitset {stdout {debug => ware}}
Wat is nuut in hierdie release:
- Maak seker nuwe lêers bygevoeg 'n vervoer opset. Sluit # 96. Sluit # 101. [Jose Diaz-Gonzalez]
- Laat float nommers vir update_file_mapping_time. [Jose Diaz-Gonzalez]
- Fix ongeldig giet van boolse. [Jose Diaz-Gonzalez]
- Doen al doelskoppe in config.py. Sluit # 99. [Jose Diaz-Gonzalez]
Wat is nuut in die weergawe 16:
- Gee 'n maksimum tou grootte van 100 te beperk oorstromende geheue. [Jose Diaz-Gonzalez]
- Gebruik multi vir die hantering van groter tou groottes. [Jose Diaz- Gonzalez]
- Voorheen was daar kwessies waar lêers wat dikwels sulke opgedateer is as vernis of server logs sou die naïewe implementering van file.readlines () binne Beaver oorweldig. Dit sal veroorsaak dat Beaver stadig lees groter en groter gedeeltes van 'n lêer voor die verwerking van enige van die reëls, wat uiteindelik Beaver om vir ewig te neem log lyne te verwerk.
- Die pleister voeg die vermoë om 'n interne werk tou te gebruik vir log lyne. Wanneer file.readlines () genoem word, is die lyne in die tou, wat met 'n kind proses gedeel word geplaas. Die kind proses skep sy eie vervoer, wat ons toelaat om te potensieel 'n Proses Pool in die toekoms 'n groter tou grootte te hanteer.
- Let daarop dat die beperking van file.readlines () lesing in te veel lyne is nog steeds in die bestaan, en kan voortgaan kwessies vir sekere log lêers te veroorsaak.
- Voeg verstek redis_password te BeaverConfig klas. [Jose Diaz-Gonzalez]
- Fix ontbreek underscore veroorsaak vervoer te breek. [Norman Joyner]
- Implementeer redis auth ondersteuning. [Norman Joyner]
- Voeg bever init script vir daemonization af. [Jose Diaz-Gonzalez]
- Gebruik luislang logger wanneer StdoutTransport. [Jose Diaz-Gonzalez]
- Voeg kort arg vlae vir die gasheernaam en formaat. [Jose Diaz-Gonzalez]
- Voeg die vermoë om te daemonize. Sluit # 79. [Jose Diaz-Gonzalez]
- Slaag rondom 'n logger byvoorbeeld aan alle vervoer. [Jose Diaz-Gonzalez]
- Revert & quot; Added 'n liggewig Event klas & quot; [Jose Diaz-Gonzalez]
- Na beraadslaging, is bever bedoel om te wees & quot; ligte gewig & quot ;. Kom ons laat die swaar tref met die groot seuns.
- Dit terugval pleeg 1619d33ef4803c3fe910cf4ff197d0dd0039d2eb.
- Bygevoeg 'n liggewig Event klas. [Jose Diaz-Gonzalez]
- Hierdie klas se verantwoordelikheid sal die verwerking van 'n gegewe lyn as 'n gebeurtenis wees. Dit is toekomstige doel sal wees as 'n liggewig implementering van die filter stelsel binne Logstash om op te tree
- Verwyder argparse vereiste vir luislang 2.7 en hoër. [Jose Diaz- Gonzalez]
Wat is nuut in die weergawe 13:
- Vaste sekere omgewing veranderlikes. [Jose Diaz-Gonzalez]
- SSH Tunnel Support. [Jose Diaz-Gonzalez]
- Hierdie kode moet toelaat dat ons 'n ssh tonnel tussen twee afsonderlike bedieners te skep vir die doeleindes van die stuur en ontvang data.
- Dit is nuttig in sekere gevalle waar jy andersins sou nodig het om te witlys in jou Firewall of iptables opset, soos wanneer hy hardloop in twee verskillende streke op AWS.
- Laat vir die aanvanklike verband lag. Nuttig wanneer wag vir 'n SSH volmag aan te sluit. [Jose Diaz-Gonzalez]
- Fix kwessie waar sekere config standaard was van 'n onbehoorlike waarde. [Jose Diaz-Gonzalez]
- Laat spesifiseer gasheer via vlag. Sluit # 70. [Jose Diaz-Gonzalez]
Vereistes :
- Python
Kommentaar nie gevind