/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
linux Logserver
Fra : Per Jørgensen


Dato : 06-05-09 10:45

Hey Gruppe.

Jeg har nogle problemer som jeg ikke lige kan få løst, så håber på nogle
kloge hoveder og ideer.

Jeg ville meget gerne lave en central logserver i vores Firma - og har
en maskine der kan bruges til dette.. Denne maskine er installeret med
Ubuntu 9.04 server.

På mine klienter har jeg tilføjet følgende i /etc/syslog.conf:
*.*          @IP_logserver

-------------------------------------------------------------------
Dette skulle meget gerne sende alle logfiler afsted til maskinen hvilket
det også gør.

Desværre ligger logfilerne sig oveni de eksisterende på Logserveren.
Jeg har kigget igennem flere guides mm til dette formål, men kan ikke
helt blive klog på syslog.conf på logserveren:

min linie for webserveren:
# Webserver logging
local6.debug -/var/log/freja.log
&
# Webserver logging
freja.debug -/var/log/freja.log

Dette skulle efter guides give debug fra freja(webserveren) i filen
/var/log/freja.log men det fungerer ikke.
Bruger jeg testmetoden med logger -p osv - fungerer dette fint.

er der ikke en måde hvor jeg kan få webserveren's logfiler til at ligge
sig i en seperat fil - således at jeg kan kigge i denne logfil for at se
aktiviteten seperat?

I må meget gerne hjælpe hvis I mener der er noget i dette der er forkert
opsat med henbluik på at sende webserverens logfil - evt på andre måder.

Overvejer evt at exportere /var/log/ på filserveren via NFS for at kunne
læse den enkelte fil. Men hvis man nu har et system med 30servere -
bliver det jo til en hel del til sidst!


PER

 
 
Leif Neland (06-05-2009)
Kommentar
Fra : Leif Neland


Dato : 06-05-09 11:24

Per Jørgensen skrev:
> Hey Gruppe.
>
> Jeg har nogle problemer som jeg ikke lige kan få løst, så håber på nogle
> kloge hoveder og ideer.
>
> Jeg ville meget gerne lave en central logserver i vores Firma - og har
> en maskine der kan bruges til dette.. Denne maskine er installeret med
> Ubuntu 9.04 server.
>
> På mine klienter har jeg tilføjet følgende i /etc/syslog.conf:
> *.* @IP_logserver
>
> -------------------------------------------------------------------
> Dette skulle meget gerne sende alle logfiler afsted til maskinen hvilket
> det også gør.
>
> Desværre ligger logfilerne sig oveni de eksisterende på Logserveren.
> Jeg har kigget igennem flere guides mm til dette formål, men kan ikke
> helt blive klog på syslog.conf på logserveren:
>
> min linie for webserveren:
> # Webserver logging
> local6.debug -/var/log/freja.log
> &
> # Webserver logging
> freja.debug -/var/log/freja.log
>
En besked til syslog er specificeret med facility.level
facility er prædefinerede kanaler, du kan ikke definere nye.
Se i syslog.h

level:

#define LOG_EMERG 0 /* system is unusable */
#define LOG_ALERT 1 /* action must be taken immediately */
#define LOG_CRIT 2 /* critical conditions */
#define LOG_ERR 3 /* error conditions */
#define LOG_WARNING 4 /* warning conditions */
#define LOG_NOTICE 5 /* normal but significant condition */
#define LOG_INFO 6 /* informational */
#define LOG_DEBUG 7 /* debug-level messages */

/* facility codes */
#define LOG_KERN (0<<3) /* kernel messages */
#define LOG_USER (1<<3) /* random user-level messages */
#define LOG_MAIL (2<<3) /* mail system */
#define LOG_DAEMON (3<<3) /* system daemons */
#define LOG_AUTH (4<<3) /* authorization messages */
#define LOG_SYSLOG (5<<3) /* messages generated internally by
syslogd */
#define LOG_LPR (6<<3) /* line printer subsystem */
#define LOG_NEWS (7<<3) /* network news subsystem */
#define LOG_UUCP (8<<3) /* UUCP subsystem */
#define LOG_CRON (9<<3) /* clock daemon */
#define LOG_AUTHPRIV (10<<3) /* authorization messages (private) */
#define LOG_FTP (11<<3) /* ftp daemon */
#define LOG_NTP (12<<3) /* NTP subsystem */
#define LOG_SECURITY (13<<3) /* security subsystems (firewalling,
etc.) */
#define LOG_CONSOLE (14<<3) /* /dev/console output */

/* other codes through 15 reserved for system use */

#define LOG_LOCAL0 (16<<3) /* reserved for local use */
#define LOG_LOCAL1 (17<<3) /* reserved for local use */
#define LOG_LOCAL2 (18<<3) /* reserved for local use */
#define LOG_LOCAL3 (19<<3) /* reserved for local use */
#define LOG_LOCAL4 (20<<3) /* reserved for local use */
#define LOG_LOCAL5 (21<<3) /* reserved for local use */
#define LOG_LOCAL6 (22<<3) /* reserved for local use */
#define LOG_LOCAL7 (23<<3) /* reserved for local use */

Men fidusen med en syslog-server er da også at få f.ex.
security-logningen fra alle maskiner i een fil.

Der står i loggen, hvilken maskine beskeden kommer fra:
May 6 01:03:07 min sshd[27308]: Invalid user web from 83.170.109.8
May 6 01:03:07 min sshd[27310]: Invalid user web from 83.170.109.8
May 6 01:03:08 min sshd[27312]: Invalid user oracle from 83.170.109.8

Her hedder maskinen "min"

Så kan du sortere efter behov med f.ex.
awk '$4=="min"' /var/log/auth.log

Leif

Per Jørgensen (06-05-2009)
Kommentar
Fra : Per Jørgensen


Dato : 06-05-09 12:03

Leif Neland wrote:
> Per Jørgensen skrev:
>> Hey Gruppe.
>>
>> Jeg har nogle problemer som jeg ikke lige kan få løst, så håber på
>> nogle kloge hoveder og ideer.
>>
>> Jeg ville meget gerne lave en central logserver i vores Firma - og har
>> en maskine der kan bruges til dette.. Denne maskine er installeret med
>> Ubuntu 9.04 server.
>>
>> På mine klienter har jeg tilføjet følgende i /etc/syslog.conf:
>> *.* @IP_logserver
>>
>> -------------------------------------------------------------------
>> Dette skulle meget gerne sende alle logfiler afsted til maskinen
>> hvilket det også gør.
>>
>> Desværre ligger logfilerne sig oveni de eksisterende på Logserveren.
>> Jeg har kigget igennem flere guides mm til dette formål, men kan ikke
>> helt blive klog på syslog.conf på logserveren:
>>
>> min linie for webserveren:
>> # Webserver logging
>> local6.debug -/var/log/freja.log
>> &
>> # Webserver logging
>> freja.debug -/var/log/freja.log
>>
> En besked til syslog er specificeret med facility.level
> facility er prædefinerede kanaler, du kan ikke definere nye.
> Se i syslog.h
>
> level:
>
> #define LOG_EMERG 0 /* system is unusable */
> #define LOG_ALERT 1 /* action must be taken immediately */
> #define LOG_CRIT 2 /* critical conditions */
> #define LOG_ERR 3 /* error conditions */
> #define LOG_WARNING 4 /* warning conditions */
> #define LOG_NOTICE 5 /* normal but significant condition */
> #define LOG_INFO 6 /* informational */
> #define LOG_DEBUG 7 /* debug-level messages */
>
> /* facility codes */
> #define LOG_KERN (0<<3) /* kernel messages */
> #define LOG_USER (1<<3) /* random user-level messages */
> #define LOG_MAIL (2<<3) /* mail system */
> #define LOG_DAEMON (3<<3) /* system daemons */
> #define LOG_AUTH (4<<3) /* authorization messages */
> #define LOG_SYSLOG (5<<3) /* messages generated internally by
> syslogd */
> #define LOG_LPR (6<<3) /* line printer subsystem */
> #define LOG_NEWS (7<<3) /* network news subsystem */
> #define LOG_UUCP (8<<3) /* UUCP subsystem */
> #define LOG_CRON (9<<3) /* clock daemon */
> #define LOG_AUTHPRIV (10<<3) /* authorization messages (private) */
> #define LOG_FTP (11<<3) /* ftp daemon */
> #define LOG_NTP (12<<3) /* NTP subsystem */
> #define LOG_SECURITY (13<<3) /* security subsystems (firewalling,
> etc.) */
> #define LOG_CONSOLE (14<<3) /* /dev/console output */
>
> /* other codes through 15 reserved for system use */
>
> #define LOG_LOCAL0 (16<<3) /* reserved for local use */
> #define LOG_LOCAL1 (17<<3) /* reserved for local use */
> #define LOG_LOCAL2 (18<<3) /* reserved for local use */
> #define LOG_LOCAL3 (19<<3) /* reserved for local use */
> #define LOG_LOCAL4 (20<<3) /* reserved for local use */
> #define LOG_LOCAL5 (21<<3) /* reserved for local use */
> #define LOG_LOCAL6 (22<<3) /* reserved for local use */
> #define LOG_LOCAL7 (23<<3) /* reserved for local use */
>
> Men fidusen med en syslog-server er da også at få f.ex.
> security-logningen fra alle maskiner i een fil.
>
> Der står i loggen, hvilken maskine beskeden kommer fra:
> May 6 01:03:07 min sshd[27308]: Invalid user web from 83.170.109.8
> May 6 01:03:07 min sshd[27310]: Invalid user web from 83.170.109.8
> May 6 01:03:08 min sshd[27312]: Invalid user oracle from 83.170.109.8
>
> Her hedder maskinen "min"
>
> Så kan du sortere efter behov med f.ex.
> awk '$4=="min"' /var/log/auth.log
>
> Leif
Hey Leif.
Tak for svaret.
jamen så kan man så ikke lige det jeg ønsker. Hvad jeg dog så ikke
forstår er -at min apache så stadigvæk ikke sender sine files afsted.
Reelrt skulle Webserveren så stadig tilføje i filen
/var/log/apache2/access.log som er den logfil der viser indkomne request.

jeg kan kun se disse i /var/log/syslog og ikke i apache2's logfil -
selvom der kører en apache på begge maskiner. Men skal jeg gøre noget
specielt for dette ??

På min primære webserver (FedoraCore) bruges filen
/var/log/httpd/access.log og under Debian /var/log/apache2
Jeg kan på ingen måde få dette optimeret ordentligt - således at jeg kan
se min statestik over besøgende på min logserver i en samlet fil - med
en samlet oversigt.

Hvordan skal jeg få dette optimere - således at det kan ses fra den
logserver - for PT kommer mine filer ikke ind som de skal ( ja fra
mailserveren) men ikke fra min webserver




Per

Leif Neland (06-05-2009)
Kommentar
Fra : Leif Neland


Dato : 06-05-09 12:58

Per Jørgensen skrev:
> Leif Neland wrote:
>> Per Jørgensen skrev:
>>> Hey Gruppe.
>>>
>>> Jeg har nogle problemer som jeg ikke lige kan få løst, så håber på
>>> nogle kloge hoveder og ideer.
>>>
>>> Jeg ville meget gerne lave en central logserver i vores Firma - og
>>> har en maskine der kan bruges til dette.. Denne maskine er
>>> installeret med Ubuntu 9.04 server.
>>>
> Hey Leif.
> Tak for svaret.
> jamen så kan man så ikke lige det jeg ønsker. Hvad jeg dog så ikke
> forstår er -at min apache så stadigvæk ikke sender sine files afsted.
> Reelrt skulle Webserveren så stadig tilføje i filen
> /var/log/apache2/access.log som er den logfil der viser indkomne request.
>
Apaches accesslog bruger ikke syslog.

I første omgang, så ville jeg holde access-loggen uden for dette, og
lægge statistik ligge på den enkelte server, af performance-årsager.
Man blander vel alligevel ikke statistikken for de enkelte servere
sammen, når man læser det, så hvis du har en side med links til
statistikken på hver server, så er det vel brugervenligt nok.

Det smarte i syslog-serveren er vel at i en logfil kunne se f.ex.
"invalid login" på alle ens servere samtidig...

Men, hvis du insisterer, så kan du jo prøve de to første hit på

http://www.google.dk/search?q=apache+syslog

Svaret er

http://www.oreillynet.com/pub/a/sysadmin/2006/10/12/httpd-syslog.html

http://www.backhand.org/mod_log_spread/


Leif

Niels Baggesen (06-05-2009)
Kommentar
Fra : Niels Baggesen


Dato : 06-05-09 17:34

Per Jørgensen <archlinux@address.invalid> wrote:
> Dette skulle meget gerne sende alle logfiler afsted til maskinen hvilket
> det også gør.

> Desværre ligger logfilerne sig oveni de eksisterende på Logserveren.
> Jeg har kigget igennem flere guides mm til dette formål, men kan ikke
> helt blive klog på syslog.conf på logserveren:

Du skal have fat i en mere avanceret syslog daemon for at kunne splitte
baseret på afsendende host.

Prøv at tage et kik på rsyslog elleer syslog-ng. De kan det du leder
efter.

/Niels

--
Niels Baggesen -- @home -- Århus -- Denmark -- niels@baggesen.net
The purpose of computing is insight, not numbers -- R W Hamming

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste