Syslog-NG példa konfiguráció (parser, filter)
Egy példa Syslog-NG konfigurációval szolgálok, ami arra hivatott, hogy a több proxy szervertől megkapott access logokat ip cím tartományaként külön könyvtárba bontsa. Ehhez a logokat fel kell dolgozni sorról sorra. Ehhez parser-t és filtert használtam.
Íme a syslog-ng konfigráció
@version: 3.1
options {
create_dirs(yes);
long_hostnames(off);
flush_lines(0);
use_dns(no);
use_fqdn(no);
keep_hostname(yes);
keep_timestamp(yes);
owner("root");
group("log");
perm(0640);
stats_freq(0);
bad_hostname("^gconfd$");
dns_cache (yes);
dns_cache_size (1000);
dns_cache_expire (43200);
};
source s_localhost {
unix-dgram("/dev/log");
internal();
file("/proc/kmsg" program_override("kernel"));
};
source s_network {
tcp(max-connections(5000));
udp();
};
parser squid_IP{
csv-parser(columns("SQUID.UNIXTIME","SQUID.SIZE","SQUID.REMOTEIP","SQUID.SQUIDCMD",
"SQUID.GETPOST","SQUID.URL","SQUID.LINE","SQUID.DESTINATION","SQUID.DATATYPE")
flags(escape-double-char,strip-whitespace)
delimiters(" ")
quote-pairs('""[]'));
};
parser squid_NETWORK{
csv-parser(
columns("SQUID.FIRSTOCTET","SQUID.SECONDOCTET","SQUID.THIRDOCTET","SQUID.FOURTHOCTET")
delimiters(".")
flags(escape-none)
template("${SQUID.REMOTEIP}")
);
};
filter proxy_servers {
host ("10.5.1.1") or
host ("10.5.1.2") or
host ("10.5.1.3") or
host ("10.5.1.4") or
host ("10.5.1.5");
};
filter squidlog{
message ("[0-9]{10}\.[0-9]{3}") and not facility ("kern");
};
filter not_squidlog{
not message ("[0-9]{10}\.[0-9]{3}");
};
destination localhost {
file ("/var/log/syslog-ng/localhost/syslog");
};
destination d_file {
file("/var/log/syslog-ng/squid-${SQUID.FIRSTOCTET:-0}.${SQUID.SECONDOCTET:-0}.0.0/access.log");
};
destination default {file ("/var/log/syslog-ng/$HOST.log");};
log {
source(s_localhost);
destination(localhost);
};
log {
source(s_network);
filter(proxy_servers);
filter(squidlog);
log {
parser(squid_IP);
parser(squid_NETWORK);
destination (d_file);
};
};
log {
source(s_network);
filter( not_squidlog);
destination ( default );
};
A téma folytatódni fog hamarosan az alábbiakkal:
- Squid syslogba való logolása
- Távoli naplózás beállítása
- Squid log feldolgozás, megjelenítés