2013-09-10 4 views
2

Я хотел бы записать файлы с коммутатора в базу данных mysql. Я использую в системном журнале-нг и в файле конфигурации, я сделал следующие измененияSyslog-ng подключение к mysql

filter f_no_debug { not level(debug); }; 

destination d_mysql { 
sql(
type(mysql) 
username("logs") 
password("SECUREPASSWORD") 
database("logs") 
host("localhost") 
table("logs") 
columns("host", "facility", "priority", "level", "tag", "datetime", "program", "msg") 
values("$HOST", "$FACILITY", "$PRIORITY", "$LEVEL", "$TAG","$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC","$PROGRAM", "$MSG") 
indexes("datetime", "host", "program", "pid", "message") 
); 
}; 

log {source(s_net); source(s_src); filter(f_no_debug); destination(d_mysql); } 

Когда я запускаю команду service syslog restart, я получаю следующую ошибку

Невозможно инициализировать доступ к базе данных (DBI) гс = '- 1', ошибка = 'нет такой файл или каталог (2)' ошибка не инициализируется Dest драйвер; Dest = 'd_mysql', ID = 'd_mysql' # 0 ошибка инициализации сообщение трубопровода

Как я могу решить эту проблему, чтобы включить журналы в базу данных?

ответ

3

Это сообщение вызвано, когда драйверы libdbi не установлены. Взгляните на http://libdbi.sourceforge.net/ или посмотрите, есть ли пакет libdbi для вашего дистрибутива.

2

На Ubuntu и Debian: драйвер сервера базы данных

MySQL для libdbi:

apt-get install libdbd-mysql 

драйвер сервера базы данных PostgreSQL для libdbi:

apt-get install libdbd-pgsql 

драйвера базы данных SQLite3 для libdbi:

apt-get install libdbd-sqlite3 
Смежные вопросы