Date: Fri, 23 Apr 2004 10:15:45 +0200 From: Phil Regnauld <none@regnauld--starBSD.org.lh.bsd-dk.dk> To: bsd-dk@bsd-dk.dk Subject: Re: Central Syslog server
On Fri, Apr 23, 2004 at 10:01:15AM +0200, Allan Wermuth wrote:
>
> Der vil være tale om en del trafik, som skal logges, og uden at
> kunne give et 100% Sikkert bud, så forventer jeg ca. 5 GB i døgnet
> (gennemsnitligt ca. 200 MB i timen), Når logserveren er fuldt
> implementeret. Logfilerne tænkes lagret på et SAN.
>
> Der selvfølgelig krav om, at
>
> - der skal være søgemuligheder, formodentlig webbaseret f.eks.
> - Ugentlig analyse af log via scripts Logrotation
>
> Jeg har undersøgt mulighederne for diverse alternativer til den noget
> gamle syslogd, Og fandt bl.a. Syslog-ng, Metalog og Modular syslog.
> Muligheden for databaseunder- Støttelse giver nogle fordele, når der
> skal implementeres søgemuligheder, men jeg er Lidt usikker på om
> MySQL eller PostgreSQL databaserne kan følge med, når der er tale Om
> disse mængder data (jeg er ikke database ekspert).
Det kan de nok, vi har prøvet det :)
med syslog-ng, uden fsync() efter write -- eller med bare
FreeBSD's standard syslogd, vil du kunne uden problem følge med
op til 800-1000 beskeder pr. sekund hvis din disk I/O kan følge
med (jeg ved ikke om en SAN vil altid kunne: de er typisk sløve,
med mindre man har meget cache).
> Nok forventer jeg
> gennemsnitlig 200 MB logdata i timen, men det data er sandsynligvis
> mere ulige fordelt på døgnet.
Hvis vi siger avg. 150 bytes (real world measurement :), så vil
200 MB / time (rå) betyde 1.333.333 messages / time (+ få bytes
i overhead), dvs. 360 msg/ sekund gennemsnit.
Det er holdtbare, no problem. Med en SQL i back-end, kan du også
gøre det, men der vil måske være behov om en to-stage løsning,
hvor du først bufferer (parent reader fra en pipe) og så skriver
(child reader som skriver til DB eller fil).
> Er der nogen, som har erfaring med centrale logservere, der modtager
> anselige mængder Data, og hvilke erfaringer har i med "flade logfiler"
> contra database?
Du kan have begget to. Logge rå + skriv til DB. Syslog-ng kan
den slags. For eksempel:
- DB på hurtige raid array lokalt (SCSI)
- flad filer til SAN
Grep front-end er nem nok, der findes en del frameworks i PHP derude
som implementerer den slags.
Det bliver nok sløv at greppe på filer > 500 MB hvis du ikke har
minimum 1 GB RAM på kassen (observeret).
This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:39 CET