====== syslog-ng ====== Liens: *http://www.hsc.fr/ressources/breves/syslog-ng.html.fr Exemple de conf, pour recevoir les logs des autres, en udp et tcp, avec répartitions dans des sous répetoire par jour: # TJ --------- source local { unix-stream("/dev/log"); internal(); }; source s_net { udp(ip(0.0.0.0) port(514)); tcp(ip(0.0.0.0) port(514) max_connections(100)); }; destination hosts { file("/var/log/HOSTS/$YEAR-$MONTH-$DAY/$YEAR-$MONTH-$DAY-$HOST-$FACILITY.log" owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes)); }; log { source(s_net); destination(hosts); }; log { source(local); destination(hosts); }; # ------------ ====== rsyslog ====== ===== créer template ===== $template MyTraditionalFormat,"%timegenerated% %HOSTNAME% '%syslogtag%'%msg:::drop-last-lf%0 Et "MyTraditionalFormat" est créé. ===== Executer ===== ==== Envoi par mail ==== if $syslogtag == 'toto:' then ^/root/prod/batch/syslog2mail (le ':' est necessaire a cause du "logger" plus loin?) Le script "syslog2mail": #!/bin/sh LOG="$1" echo "$LOG" | mail -s "Syslog Message" root@localhost ("$1" => la ligne de log) Test: $ logger -t toto coucou ducon