yahi

Software skärmdump:
yahi
Mjukvaruinformation:
Version: 0.1.2
Ladda upp dagen: 20 Feb 15
Utvecklare: Julien Tayon
Licens: Gratis
Popularitet: 12

Rating: nan/5 (Total Votes: 0)

yahi är en mångsidig logg parser som ger standard utsug för apache / lighttpd.
Command line-användning
Exempel på data analyserade med yahi: http://wwwstat.julbox.fr/
Enklaste användning är:
speed_shoot -g / usr / local / data / geoip / var / www / apache / åtkomst * log
den ger en json i form av:
{
& Nbsp; "by_date": {
& Nbsp; "2012/05/03": 11
& Nbsp;},
& Nbsp; "total_line": 11,
& Nbsp; "ip_by_url": {
& Nbsp; "/ favicon.ico": {
& Nbsp; "192.168.0.254": 2,
& nbsp; "192.168.0.35": 2
& Nbsp;},
& Nbsp; "/": {
& Nbsp; "74.125.18.162": 1,
& Nbsp; "192.168.0.254": 1,
& nbsp; "192.168.0.35": 5
& Nbsp;}
& Nbsp;},
& Nbsp; "by_status": {
& Nbsp; "200": 7,
& Nbsp; "404": 4
& Nbsp;},
& Nbsp; "by_dist": {
& Nbsp; "okända": 11
& Nbsp;},
& Nbsp; "bytes_by_ip": {
& Nbsp; "74.125.18.162": 151,
& Nbsp; "192.168.0.254": 489,
& Nbsp; "192.168.0.35": 1093
& Nbsp;},
& Nbsp; "by_url": {
& Nbsp; "/ favicon.ico": 4,
& Nbsp; "/": 7
& Nbsp;},
& nbsp; "by_os": {
& Nbsp; "okända": 11
& Nbsp;},
& Nbsp; "week_browser": {
& Nbsp; "3": {
& Nbsp; "okända": 11
& Nbsp;}
& Nbsp;},
& Nbsp; "by_referer": {
& Nbsp; "-": 11
& Nbsp;},
& Nbsp; "by_browser": {
& Nbsp; "okända": 11
& Nbsp;},
& Nbsp; "by_ip": {
& Nbsp; "74.125.18.162": 1,
& Nbsp; "192.168.0.254": 3,
& nbsp; "192.168.0.35": 7
& Nbsp;},
& Nbsp; "by_agent": {
& Nbsp; "Mozilla / 5.0 (X11, Ubuntu, Linux x86_64; rv: 12,0) Gecko / 20.100.101 Firefox / 12,0, gzip (GFE) (via translate.google.com)": 1,
& Nbsp; "Mozilla / 5.0 (X11, Ubuntu, Linux x86_64; rv: 12,0) Gecko / 20.100.101 Firefox / 12.0": 10
& Nbsp;},
& Nbsp; "by_hour": {
& Nbsp; "9": 3,
& Nbsp; "10": 4,
& Nbsp; "11": 1,
& Nbsp; "12": 3
& Nbsp;},
& Nbsp; "by_country": {
& Nbsp; "": 10,
& Nbsp; "US": 1
& Nbsp;}
}
Om du använder:
speed_shoot -f csv -g / usr / local / data / geoip / var / www / apache / åtkomst * log
Ditt resultat är:
by_date, 2012-5-3,11
total_line, 11
ip_by_url, / favicon.ico, 192.168.0.254,2
ip_by_url, / favicon.ico, 192.168.0.35,2
ip_by_url, /, 74.125.18.162,1
ip_by_url, /, 192.168.0.254,1
ip_by_url, /, 192.168.0.35,5
by_status, 200,7
by_status, 404,4
by_dist, ålder, 11
bytes_by_ip, 74.125.18.162,151
bytes_by_ip, 192.168.0.254,489
bytes_by_ip, 192.168.0.35,1093
by_url, / favicon.ico, 4
by_url, /, 7
by_os, ålder, 11
week_browser, 3, okänd, 11
by_referer, -, 11
by_browser, ålder, 11
by_ip, 74.125.18.162,1
by_ip, 192.168.0.254,3
by_ip, 192.168.0.35,7
by_agent, "Mozilla / 5.0 (X11, Ubuntu, Linux x86_64; rv: 12,0) Gecko / 20.100.101 Firefox / 12,0, gzip (GFE) (via translate.google.com)", 1
by_agent, Mozilla / 5.0 (X11, Ubuntu, Linux x86_64; rv: 12,0) Gecko / 20.100.101 Firefox / 12.0,10
by_hour, 9,3
by_hour, 10,4
by_hour, 11,1
by_hour, 12,3
by_country ,, 10
by_country, USA, 1
Jo jag antar att det fungerar inte eftersom du först hämta geoip datafil:
wget -O- "http://www.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz" | zcat> /usr/local/data/GeoIP.dat
Naturligtvis är detta GeoLite databasen, jag inkluderar inte data i paketet eftersom GeoIP måste uppdateras ofta för att hålla korrekt.
Standardbana för GeoIP är data / GeoIP.dat
Använd som ett skript
hastighets shoot är i själva verket en mall för hur man använder yahi som en modul:
#! / Usr / bin / env python
från archery.bow import Hankyu som _dict
från yahi import hack, skjuta
från datetime importdatetime
context = skåra ()
date_formater = lambda dt: "% s-% s-% s"% (dt.year, dt.month, dt.day)
context.output (
& Nbsp; skjuta (
& Nbsp; sammanhang
& Nbsp; lambda uppgifter: _dict ({
& Nbsp; 'by_country': _dict ({uppgifter ['_ land']: 1}),
& Nbsp; 'by_date': _dict ({date_formater (data ['_ datetime']): 1}),
& Nbsp; 'by_hour': _dict ({. Uppgifter ['_ datetime'] timme: 1}),
& Nbsp; 'by_os': _dict ({uppgifter ['_ os_name']: 1}),
& Nbsp; "by_dist ': _dict ({uppgifter [' _ dist_name ']: 1}),
& Nbsp; 'by_browser': _dict ({uppgifter ['_ BROWSER_NAME']: 1}),
& Nbsp; 'by_ip': _dict ({uppgifter ['ip']: 1}),
& nbsp; 'by_status': _dict ({uppgifter ['status']: 1}),
& Nbsp; 'by_url': _dict ({uppgifter ['uri']: 1}),
& Nbsp; 'by_agent': _dict ({uppgifter ['agent']: 1}),
& Nbsp; 'by_referer': _dict ({uppgifter ['referer']: 1}),
& Nbsp; 'ip_by_url': _dict ({uppgifter ['uri']: _dict ({uppgifter ['ip']: 1})}),
& Nbsp; 'bytes_by_ip': _dict ({uppgifter ['ip']: int (data ['bytes'])}),
& Nbsp; 'week_browser':. _dict ({Uppgifter ['_ datetime'] veckodag ():
& Nbsp; _dict ({uppgifter ["_ BROWSER_NAME"]: 1})}),
& Nbsp; 'total_line': 1,
& Nbsp;}),
& Nbsp;),
)
Installation
enkelt som:
Pip installera yahi
eller:
easy_install yahi
Rekomenderad användning
- För grundläggande logg aggregering, jag rekommendera att använda kommandoraden;
- För en shot mått Jag rekommenderar en interaktiv konsol (bpython eller ipython);
. - För specifika mått eller arbetade filter Jag rekommendera att använda API

Krav :

  • Python

Annan programvara för utvecklare Julien Tayon

gof
gof

20 Feb 15

Kommentarer till yahi

Kommentarer hittades inte
Kommentar
Slå på bilder!