Syslog-ng MySQL
Материал из noname.com.ua
Запись логов в MySQL
В syslog-ng есть возможность передавать логи на обработку внешним программам. Соответвенно, запись в БД на самом деле - передача данных на вход sql-клиента (pipe нужно создать предварительно)
# mkfifo /etc/syslog-ng/mysql.pipe # Log to aradia SQL destination d_mysql_aradia_table_switch_log { program("/usr/bin/mysql -h my.host.net --user=syslog_user --password='syslog_password' syslog < /etc/syslog-ng/mysql.pipe"); pipe ("/etc/syslog-ng/mysql.pipe" template("INSERT INTO switch_log (host, facility, priority, level, tag, date, time, program, msg) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL','$TAG','$YEAR-$MONTH-$DAY', '$HOUR:$MIN ") template-escape(yes)); };
Обратить внимание на перенос строки в темплейте. Без него работать не будет.