将syslog ng日志写入MySQL(远程)数据库

Centos6.5

syslog-ng mysql 3.25


1 yum安装syslog-ng.x86_64

,

2 yum安装mysql.x86_64 ,,//mysql

,

3 mkfifo - m 777/var/log/mysql.pipe ,,//

,

4 logsys-ng.conf //

,

//

源s_sys {

,,,,文件(“/proc/kmsg”program_override(内核:"));

,,,,unix-stream (“/dev/日志”);

,,,,内部();

,,,,# udp (ip(0.0.0.0)端口(514)。

};

,

//

f_default过滤,,{水平(info . .紧急情况)和

,,,,,,,,,,,,(基金(邮件)

,,,,,,,,,,,,或设施(authpriv),

,,,,,,,,,,,,或设施(cron));};

,

//

目的地mysql {

程序(“mysql -h20.10.10.10 -uxxxxx -pxxxxx表& lt;/var/log/mysql.pipe”);

管(/var/log/mysql。管道”

模板(“插入w_sys_logs(主机、设施、优先级、水平、标签、

datetime,程序,msg)值(主机美元,美元基金,“美元优先”,

“美元水平”,“美元标签”,“年-月-日美元美元小时:分钟:美元美元交会”、“PRORAM美元”,

味精美元);n”) template-escape (yes));};

//表为数据库名

,

//

日志{来源(s_sys);过滤器(f_default);目的地(mysql);};


//创建数据库

删除表如果存在“w_sys_logs”;

创建表“w_sys_logs”(

,“id”bigint(20)无符号NOT NULL AUTO_INCREMENT,

,“主机”varchar(32)默认为空,

,“设施”varchar(10)默认为空,

,“优先级”varchar(10)默认为空,

,“水平”varchar(10)默认为空,

,“标签”varchar(10)默认为空,

,datetime的datetime默认为空,

,“程序”varchar(15)默认为空,

,“味精”文本,

,主键(id),

,关键主机(主机),

,关键的项目(“项目”),

,关键的datetime (datetime)

,关键的“优先级”(“优先级”),

,关键的设备(“设备”)

)引擎=InnoDB AUTO_INCREMENT=81默认字符集=utf8;


转载请注明:http://8463390.blog.51cto.com/8453390/1911623

将syslog ng日志写入MySQL(远程)数据库