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