some changes due to upgrade to newest debian version
This commit is contained in:
parent
c249495775
commit
2670e72dc1
5 changed files with 169 additions and 25 deletions
|
@ -11,19 +11,19 @@ $sql = 'SELECT *
|
|||
|
||||
$result = $db->query($sql);
|
||||
|
||||
$pattern = '/^named\[(\d+)\]: queries: info: client ([.\d]+)#(\d+): query: ([+.-\w]+) ([A-Z]+) ([A-Z]+) (.*)$/';
|
||||
$pattern = '/^queries: info: client ([.\d]+)#(\d+): query: ([+.-\w]+) ([A-Z]+) ([A-Z]+) (.*) \(([.\d]+)\)$/';
|
||||
$sqlDelete = 'DELETE FROM logs WHERE id IN (';
|
||||
$queries = array();
|
||||
$c = 0; $u = 0;
|
||||
|
||||
foreach ($result as $log) {
|
||||
if (preg_match($pattern, $log['message'], $matches)) {
|
||||
$query = array('ip' => new IpV4($matches[2]),
|
||||
'port' => (int) $matches[3],
|
||||
'hostname' => $matches[4],
|
||||
'class' => $matches[5],
|
||||
'type' => $matches[6],
|
||||
'options' => $matches[7],
|
||||
$query = array('ip' => new IpV4($matches[1]),
|
||||
'port' => (int) $matches[2],
|
||||
'hostname' => $matches[3],
|
||||
'class' => $matches[4],
|
||||
'type' => $matches[5],
|
||||
'options' => $matches[6],
|
||||
'log_id' => $log['id'],
|
||||
'queried' => strtotime($log['logged']));
|
||||
|
||||
|
@ -45,7 +45,7 @@ foreach ($result as $log) {
|
|||
foreach ($records as $record) {
|
||||
$record->lastAccessed = $query['queried'];
|
||||
$record->update();
|
||||
$output->add('record renewed', 'debug', 1, $record);
|
||||
$output->add('record renewed', 'success', $record);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ $config['path']['web'] = '';
|
|||
|
||||
$config['db']['host'] = 'localhost';
|
||||
$config['db']['user'] = 'sddns';
|
||||
$config['db']['pw'] = '29111954Af';
|
||||
$config['db']['pw'] = 'vunN2qQGtAPNzC3e';
|
||||
$config['db']['db'] = 'st_sddns';
|
||||
$config['db']['tbl']['prefix'] = '';
|
||||
$config['db']['tbl']['records'] = $config['db']['tbl']['prefix'] . 'records';
|
||||
|
|
|
@ -1 +1 @@
|
|||
59179
|
||||
100064
|
|
@ -44,7 +44,7 @@ class IpV6 implements Object {
|
|||
}
|
||||
}
|
||||
|
||||
static function isIpV6($ipString) {
|
||||
static function isValid($ipString) {
|
||||
return preg_match('/^((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?$/', $ipString);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,22 +1,166 @@
|
|||
This is an extract of a syslog-ng configuration file. Use the destination "d_sddns" to store bind related logging to the database.
|
||||
@version: 3.1
|
||||
#
|
||||
# Syslog-ng configuration file, compatible with default Debian syslogd
|
||||
# installation. Originally written by anonymous (I can't find his name)
|
||||
# Revised, and rewrited by me (SZALAY Attila <sasa@debian.org>)
|
||||
|
||||
19.1.2010 Steffen Vogel (info@steffenvogel.de)
|
||||
# First, set some global options.
|
||||
options { long_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
|
||||
owner("root"); group("adm"); perm(0640); stats_freq(0);
|
||||
bad_hostname("^gconfd$");
|
||||
};
|
||||
|
||||
########################
|
||||
# Sources
|
||||
########################
|
||||
# This is the default behavior of sysklogd package
|
||||
# Logs may come from unix stream, but not from another machine.
|
||||
#
|
||||
source s_src { unix-dgram("/dev/log"); internal();
|
||||
file("/proc/kmsg" program_override("kernel"));
|
||||
};
|
||||
|
||||
# If you wish to get logs from remote machine you should uncomment
|
||||
# this and comment the above source line.
|
||||
#
|
||||
#source s_net { tcp(ip(127.0.0.1) port(1000) authentication(required) encrypt(allow)); };
|
||||
|
||||
########################
|
||||
# Destinations
|
||||
########################
|
||||
# First some standard logfile
|
||||
#
|
||||
destination d_auth { file("/var/log/auth.log"); };
|
||||
destination d_cron { file("/var/log/cron.log"); };
|
||||
destination d_daemon { file("/var/log/daemon.log"); };
|
||||
destination d_kern { file("/var/log/kern.log"); };
|
||||
destination d_lpr { file("/var/log/lpr.log"); };
|
||||
destination d_mail { file("/var/log/mail.log"); };
|
||||
destination d_syslog { file("/var/log/syslog"); };
|
||||
destination d_user { file("/var/log/user.log"); };
|
||||
destination d_uucp { file("/var/log/uucp.log"); };
|
||||
|
||||
# This files are the log come from the mail subsystem.
|
||||
#
|
||||
destination d_mailinfo { file("/var/log/mail/mail.info"); };
|
||||
destination d_mailwarn { file("/var/log/mail/mail.warn"); };
|
||||
destination d_mailerr { file("/var/log/mail/mail.err"); };
|
||||
|
||||
# Logging for INN news system
|
||||
#
|
||||
destination d_newscrit { file("/var/log/news/news.crit"); };
|
||||
destination d_newserr { file("/var/log/news/news.err"); };
|
||||
destination d_newsnotice { file("/var/log/news/news.notice"); };
|
||||
|
||||
# Some `catch-all' logfiles.
|
||||
#
|
||||
destination d_debug { file("/var/log/debug"); };
|
||||
destination d_error { file("/var/log/error"); };
|
||||
destination d_messages { file("/var/log/messages"); };
|
||||
|
||||
# The root's console.
|
||||
#
|
||||
destination d_console { usertty("root"); };
|
||||
|
||||
# Virtual console.
|
||||
#
|
||||
destination d_console_all { file("/dev/tty10"); };
|
||||
|
||||
# The named pipe /dev/xconsole is for the nsole' utility. To use it,
|
||||
# you must invoke nsole' with the -file' option:
|
||||
#
|
||||
# $ xconsole -file /dev/xconsole [...]
|
||||
#
|
||||
destination d_xconsole { pipe("/dev/xconsole"); };
|
||||
|
||||
# Send the messages to an other host
|
||||
#
|
||||
#destination d_net { tcp("127.0.0.1" port(1000) authentication(on) encrypt(on) log_fifo_size(1000)); };
|
||||
|
||||
# Debian only
|
||||
destination d_ppp { file("/var/log/ppp.log"); };
|
||||
|
||||
# mysql logging for bind
|
||||
destination d_sddns {
|
||||
program(
|
||||
"/usr/bin/mysql st_sddns"
|
||||
template("INSERT INTO logs (host, facility, priority, level, tag, logged, program, message) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',$
|
||||
template("INSERT INTO logs (host, facility, priority, level, tag, logged, program, message) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n")
|
||||
template-escape(yes)
|
||||
);
|
||||
|
||||
# the pipe method has to be used on old syslog-ng versions due to a bug in the program directive.
|
||||
# this method needs a helper script which listens to the pipe and forwards all messages to a persistent mysql client process.
|
||||
# do not use this method. its deprecated and very insecure on misconfiguration!!!
|
||||
#
|
||||
# pipe(
|
||||
# "/tmp/mysql.syslog-ng.pipe"
|
||||
# template("INSERT INTO logs (host, facility, priority, level, tag, logged, program, message) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',$
|
||||
# template-escape(yes)
|
||||
# );
|
||||
};
|
||||
|
||||
########################
|
||||
# Filters
|
||||
########################
|
||||
# Here's come the filter options. With this rules, we can set which
|
||||
# message go where.
|
||||
|
||||
filter f_dbg { level(debug); };
|
||||
filter f_info { level(info); };
|
||||
filter f_notice { level(notice); };
|
||||
filter f_warn { level(warn); };
|
||||
filter f_err { level(err); };
|
||||
filter f_crit { level(crit .. emerg); };
|
||||
|
||||
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
|
||||
filter f_error { level(err .. emerg) ; };
|
||||
filter f_messages { level(info,notice,warn) and
|
||||
not facility(auth,authpriv,cron,daemon,mail,news); };
|
||||
|
||||
filter f_auth { facility(auth, authpriv) and not filter(f_debug); };
|
||||
filter f_cron { facility(cron) and not filter(f_debug); };
|
||||
filter f_daemon { facility(daemon) and not filter(f_debug); };
|
||||
filter f_kern { facility(kern) and not filter(f_debug); };
|
||||
filter f_lpr { facility(lpr) and not filter(f_debug); };
|
||||
filter f_local { facility(local0, local1, local3, local4, local5,
|
||||
local6, local7) and not filter(f_debug); };
|
||||
filter f_mail { facility(mail) and not filter(f_debug); };
|
||||
filter f_news { facility(news) and not filter(f_debug); };
|
||||
filter f_syslog3 { not facility(auth, authpriv, mail) and not filter(f_debug); };
|
||||
filter f_user { facility(user) and not filter(f_debug); };
|
||||
filter f_uucp { facility(uucp) and not filter(f_debug); };
|
||||
|
||||
filter f_cnews { level(notice, err, crit) and facility(news); };
|
||||
filter f_cother { level(debug, info, notice, warn) or facility(daemon, mail); };
|
||||
|
||||
filter f_ppp { facility(local2) and not filter(f_debug); };
|
||||
filter f_console { level(warn .. emerg); };
|
||||
|
||||
filter f_sddns { facility(local7); };
|
||||
|
||||
########################
|
||||
# Log paths
|
||||
########################
|
||||
log { source(s_src); filter(f_auth); destination(d_auth); };
|
||||
log { source(s_src); filter(f_cron); destination(d_cron); };
|
||||
log { source(s_src); filter(f_daemon); destination(d_daemon); };
|
||||
log { source(s_src); filter(f_kern); destination(d_kern); };
|
||||
log { source(s_src); filter(f_lpr); destination(d_lpr); };
|
||||
log { source(s_src); filter(f_syslog3); destination(d_syslog); };
|
||||
log { source(s_src); filter(f_user); destination(d_user); };
|
||||
log { source(s_src); filter(f_uucp); destination(d_uucp); };
|
||||
|
||||
log { source(s_src); filter(f_mail); destination(d_mail); };
|
||||
#log { source(s_src); filter(f_mail); filter(f_info); destination(d_mailinfo); };
|
||||
#log { source(s_src); filter(f_mail); filter(f_warn); destination(d_mailwarn); };
|
||||
#log { source(s_src); filter(f_mail); filter(f_err); destination(d_mailerr); };
|
||||
|
||||
log { source(s_src); filter(f_news); filter(f_crit); destination(d_newscrit); };
|
||||
log { source(s_src); filter(f_news); filter(f_err); destination(d_newserr); };
|
||||
log { source(s_src); filter(f_news); filter(f_notice); destination(d_newsnotice); };
|
||||
#log { source(s_src); filter(f_cnews); destination(d_console_all); };
|
||||
#log { source(s_src); filter(f_cother); destination(d_console_all); };
|
||||
|
||||
#log { source(s_src); filter(f_ppp); destination(d_ppp); };
|
||||
|
||||
log { source(s_src); filter(f_debug); destination(d_debug); };
|
||||
log { source(s_src); filter(f_error); destination(d_error); };
|
||||
log { source(s_src); filter(f_messages); destination(d_messages); };
|
||||
|
||||
log { source(s_src); filter(f_console); destination(d_console_all);
|
||||
destination(d_xconsole); };
|
||||
log { source(s_src); filter(f_crit); destination(d_console); };
|
||||
|
||||
log { source(s_src); filter(f_sddns); destination(d_sddns); };
|
||||
|
||||
# All messages send to a remote site
|
||||
#log { source(s_src); destination(d_net); };
|
||||
|
|
Loading…
Add table
Reference in a new issue