Difference between revisions of "Syslog-ng"

From PostgreSQL_wiki
Jump to: navigation, search
(Server configuratie)
(syslog-ng.conf)
Line 12: Line 12:
 
De centrale server verzamelt loggegevens over vpn van aangesloten machines. De voorlopige instelling is vanaf log-level "error".
 
De centrale server verzamelt loggegevens over vpn van aangesloten machines. De voorlopige instelling is vanaf log-level "error".
 
=== syslog-ng.conf ===
 
=== syslog-ng.conf ===
  +
De syslog configuratie van de server bestaat uit:
  +
* options
  +
* source, met daarin het statement voor luisteren op protocol udp poort 514
  +
* destination, met de mysql koppeling voor de webinterface syslog-ng
  +
* het filter voor doorlaten van logmeldingen vanaf niveau "error"
  +
* log, legt de relatie tussen source en destionation via filer
  +
<pre>
 
options {
 
options {
 
chain_hostnames(0);
 
chain_hostnames(0);
Line 29: Line 36:
 
};
 
};
   
  +
source s_all {
  +
# unix-dgram("/var/run/log");
  +
# unix-dgram("/var/run/logpriv" perm(0600));
  +
internal();
  +
unix-stream("/dev/log");
  +
udp( ip(10.20.31.34) port(514));
  +
# ip(127.0.0.1)
  +
# port(514)
  +
# );
  +
tcp( ip(10.20.31.34) port(5140) keep-alive(yes));
  +
# ip(127.0.0.1)
  +
# port(5140) keep-alive(yes));
  +
};
  +
  +
destination d_mysql {
  +
pipe("/var/log/mysql.pipe"
  +
template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg)
  +
VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC','$PROGRAM', '$MSG' ); \n")
  +
template-escape(yes) );
  +
};
  +
  +
filter f_at_least_err { level(err..emerg); };
   
  +
# Log-level vanaf error is voor productie interessant
   
  +
log {
  +
source(s_all);
  +
filter(f_at_least_err);
  +
destination(d_mysql);
  +
};.
  +
</pre>
   
 
=== php-syslog-ng ===
 
=== php-syslog-ng ===

Revision as of 22:47, 5 February 2010

Syslog Next Generation

Syslog-ng heeft uitgebreide mogelijkheden om systemen te beheren op basis van een centrale logging. Het is mogelijk om op basis van events signaleringen te doen. php-syslog-ng biedt een webinterface voor de syslog-ng server. De configuratie is gecompliceerd en luistert nauw, het duurt even voordat de zaak loopt.

OVerzicht van de opzet van de configuratie

Op de centrale server draaien:

  • syslog-ng
  • mysql
  • php-syslog-ng

Algemene installatie

Installeer de syslog-ng applicatie. Het systeem verwijdert de reeds aanwezige logging daemon, syslog of rsyslog.

# apt-get update && apt-get install syslog-ng

Server configuratie

De centrale server verzamelt loggegevens over vpn van aangesloten machines. De voorlopige instelling is vanaf log-level "error".

syslog-ng.conf

De syslog configuratie van de server bestaat uit:

  • options
  • source, met daarin het statement voor luisteren op protocol udp poort 514
  • destination, met de mysql koppeling voor de webinterface syslog-ng
  • het filter voor doorlaten van logmeldingen vanaf niveau "error"
  • log, legt de relatie tussen source en destionation via filer
options {
	chain_hostnames(0);
        time_reopen(10);
        time_reap(360);
        log_fifo_size(2048);
        create_dirs(yes);
        group(adm);
        perm(0640);
        dir_perm(0755);
        use_fqdn(yes);.
        use_dns(yes);.
        dns_cache(yes);.
        keep_hostname(yes);
	stats_freq(0);
	bad_hostname("^gconfd$");
};

source s_all {
#        unix-dgram("/var/run/log");
#        unix-dgram("/var/run/logpriv" perm(0600));
        internal();
        unix-stream("/dev/log");
        udp( ip(10.20.31.34) port(514));
#                ip(127.0.0.1)
#                port(514)
#        );
        tcp( ip(10.20.31.34) port(5140) keep-alive(yes));
#                ip(127.0.0.1)
#                port(5140) keep-alive(yes));
};

destination d_mysql {
    pipe("/var/log/mysql.pipe"
    template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg)
     VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC','$PROGRAM', '$MSG' ); \n")
    template-escape(yes) );
};

filter f_at_least_err { level(err..emerg); };

#	Log-level vanaf error is voor productie interessant

log {
   source(s_all);
   filter(f_at_least_err);
   destination(d_mysql);
};.

php-syslog-ng

Client configuratie

syslog-ng client

De configuratie is betrekkelijk eenvoudig. De source is /dev/log, logging met een niveau vanaf error gaat ook naar syslog-ng.uwork.nl.

source s_all {
  unix-stream("/dev/log");
  internal();
};

destination loghost {
        udp("syslog-ng.uwork.nl");
};

filter f_at_least_err { level(err..emerg); };

#	Het log statement knoopt de source en de destination via het filter aan elkaar.

log { source(s_all) ; filter(f_at_least_err) ; destination(loghost) ; };

rsyslog client

syslog


Terug naar: Uwork Support Infrastructuur