Kom ihåg mig?

Loggningsdatabaser

Ämnesverktyg Visningsalternativ
Oläst 2010-11-25, 22:27 #1
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Standard Loggningsdatabaser

Jag har tittat lite på databaser som är lämpliga för loggning av en större mängd väldigt varierande data. Allt ifrån ett enkel key+value till en större mängd parametrar som alla måste kunnas ställas frågor mot. Därför letar jag framförallt efter något effektivt och schemalöst.

Det finns ett par aspekter jag finner viktiga, i ungefär följande ordning:
- Effektivititet i loggningen. Det håller inte att skriva varje request till disk (t ex innodb acid/myisam) direkt om det rör sig om en större mängd.
- Enkelt att anpassa och skriva nya frågor mot datan för en hyffsat programmeringskunnig. Råtext-loggning som används map-reduce mot är inte aktuellt.
- Effektiva schemaändringar. Enkel anpassning för nya loggnings-typer. Schemalösa databaser löser ju detta i stort automatiskt.
- Snabbheten i att ta fram rapporter
- Enkelheten/möjligheten att sätta upp en slav att ta backup på och ställa frågor mot för att inte påverkar loggningen i sig
- Datastorleken

Det enda som jag hittat som stämmer rätt bra på mina krav är MongoDB, schemalöst, enkla frågor, hyffsat efffektivt i både loggning och frågor.

Mycket av det som skapats av det största sajterna själva går bort på grund av kompliciteten för antingen implenentation eller för att ställa frågor mot. Annat för att det inte är så effektivt eller enkelt för syftet att endast logga (varierande) data. T ex Cassandra, CouchDB, Tokyo Tyrant osv. faller bort här.

Mitt andra val ligger på mysql innodb/xtradb med flush_log_at_trx_commit 0 och utan binlog. Lite mindre effektivt ur alla perspektiv - men enkelheten i frågeställningen med vanlig klassisk SQL är ju lite frestande - även om mongodb verkar enkelt att lära sig.

Någon som har några andra alternativ eller gått igenom samma frågeställning?
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-26, 20:16 #2
dAEks avatar
dAEk dAEk är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2006
Inlägg: 678
dAEk dAEk är inte uppkopplad
Mycket flitig postare
dAEks avatar
 
Reg.datum: Dec 2006
Inlägg: 678
Det kanske inte är ett svar på din fråga men det kanske kan duga som en alternativ lösning: har du funderat på att skriva en buffrad logger? Jag skulle tro att de flesta loggingkomponenterna (t.ex. log4net/j) har stöd för det på ett eller annat sätt.
dAEk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-26, 22:38 #3
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Uppskattar svaret och det kan förvisso hjälpa en liten del att buffra på original-servrarna innan det skickas till loggservern men det förändrar inte behovet av en central effektiv databasmotor nämnvärt om det inte är så att denna har en väldig overkill i varje anslutning eller write (kör du t ex MongoDB eller innodb utan flush vid commit så buffrar du faktiskt skrivningen till disk).

Det kan väl tilläggas att det är central loggning för ett 10-tal servrar jag är ute efter.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-27, 00:20 #4
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Splunk borde fungera. www.splunk.com
Weaver är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-27, 00:34 #5
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Citat:
Ursprungligen postat av Weaver Visa inlägg
Splunk borde fungera. www.splunk.com
Grymt tips!
Lumax är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-27, 22:11 #6
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av Weaver Visa inlägg
Splunk borde fungera. www.splunk.com
Tackar för tipset, verkar riktigt intressant även fast det inte är riktigt vad jag frågade efter. Ersätter ju inte en databas då det bara är indexering + rapportsystem.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-28, 11:41 #7
abergmans avatar
abergman abergman är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Feb 2010
Inlägg: 762
abergman abergman är inte uppkopplad
Mycket flitig postare
abergmans avatar
 
Reg.datum: Feb 2010
Inlägg: 762
Jag hade nog kört på en buffrad lösning, men det beror ju såklart på vad du ska ha det till..

ww.syslog.org/wiki/Main/DatabaseLogging Kanske kan hjälpa dig?
abergman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-28, 14:41 #8
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av abergman Visa inlägg
Jag hade nog kört på en buffrad lösning, men det beror ju såklart på vad du ska ha det till..

ww.syslog.org/wiki/Main/DatabaseLogging Kanske kan hjälpa dig?
Njae egentligen inte.

Jag är alltså ute efter en databas att lagra datan i. Att skriva en egen buffer utanför den kan ju vara aktuellt om databasen implementation är slö/dålig/instabil. Men jag är ute efter en databaslösning för att slippa skriva allt själv eller bygga ihop flertalet halvt inkompatibla lösningar:
- Namngivna fält i datastrukturer - ett måste när hundratals olika loggningstyper ska kunna stödjas
- Strukturändringar.
- Replikering
- Smidigt och kompetent frågespråk ovanpå datan
Osv. Jag söker alltså inte ett sätt att effektivt gå igenom eller logga till diverse primitiva textformat utan ett databashanteringssystem som är effektivt för syftet.

Användningen av datan kommer variera. Ibland kommer det vara ren statistik-rapportering (typ antalet unika ip av request X med parameter 1 Y och parameter 2 Z per dag senaste månaden) och ibland kommer det vara för användning på olika sätt på sajter (topplistor, beteende-analys osv). Så att ha ett system där det är enkelt att både strukturera och att ställa frågor är ett måste. Att dessutom kunna ställa tunga frågor mot en obelastad maskin så det inte påverkar loggningen i sig är också en väldig fördel.

Loggningens ursprung kommer också variera. Även antalet och typen av parametrar som är aktuella att logga för detsamma kommer variera (ibland är 10 parametrar intressanta, ibland två).

Det jag har fått tips på här är tyvärr mjukvara både innan (syslog-lösningarna) och efter (splunk) datalagringen. Nog för att den uppskattas och splunk verkar riktigt intressant - men det är inte vad jag letar efter.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-28, 15:04 #9
abergmans avatar
abergman abergman är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Feb 2010
Inlägg: 762
abergman abergman är inte uppkopplad
Mycket flitig postare
abergmans avatar
 
Reg.datum: Feb 2010
Inlägg: 762
Citat:
Ursprungligen postat av Clarence Visa inlägg
Njae egentligen inte.

Jag är alltså ute efter en databas att lagra datan i. Att skriva en egen buffer utanför den kan ju vara aktuellt om databasen implementation är slö/dålig/instabil. Men jag är ute efter en databaslösning för att slippa skriva allt själv eller bygga ihop flertalet halvt inkompatibla lösningar:
- Namngivna fält i datastrukturer - ett måste när hundratals olika loggningstyper ska kunna stödjas
- Strukturändringar.
- Replikering
- Smidigt och kompetent frågespråk ovanpå datan
Osv. Jag söker alltså inte ett sätt att effektivt gå igenom eller logga till diverse primitiva textformat utan ett databashanteringssystem som är effektivt för syftet.

Användningen av datan kommer variera. Ibland kommer det vara ren statistik-rapportering (typ antalet unika ip av request X med parameter 1 Y och parameter 2 Z per dag senaste månaden) och ibland kommer det vara för användning på olika sätt på sajter (topplistor, beteende-analys osv). Så att ha ett system där det är enkelt att både strukturera och att ställa frågor är ett måste. Att dessutom kunna ställa tunga frågor mot en obelastad maskin så det inte påverkar loggningen i sig är också en väldig fördel.

Loggningens ursprung kommer också variera. Även antalet och typen av parametrar som är aktuella att logga för detsamma kommer variera (ibland är 10 parametrar intressanta, ibland två).

Det jag har fått tips på här är tyvärr mjukvara både innan (syslog-lösningarna) och efter (splunk) datalagringen. Nog för att den uppskattas och splunk verkar riktigt intressant - men det är inte vad jag letar efter.
Jag skrev ett script för att parsa igenom mina accessloggar till mysql i samband med loggrotationen, det var det närmsta jag kom.
abergman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-11-28, 15:59 #10
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av abergman Visa inlägg
Jag skrev ett script för att parsa igenom mina accessloggar till mysql i samband med loggrotationen, det var det närmsta jag kom.
Fast då saknar du t ex ett enkelt underhållt schema - det är snarare så att MySQLs redan träliga schemaändringar fått en extra komplexitet. Jag är inte ute efter att ha något väldigt begränsat format, t ex common log format. Då skulle jag få skriva jobbiga system med timestamps för schemaändringar som dessutom skulle kräva att all ny loggningskod syncades ut mot alla typer av loggningsklienter exakt samtidigt. Samtidigt skulle jag utöver att underhålla schemaändringarna i databasen också behöva flertalet loggfiler eller någon onödigt komplex mappning mellan dom.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:33.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017