Difference between revisions of "Syslog-ng"
 (→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
Contents
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