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

Centos6.5

syslog-ng 3.25

mysql

1,yum install syslog-ng.x86_64

2,yum install mysql.x86_64    // 支持mysql 命令运行

3,mkfifo –m 777 /var/log/mysql.pipe    // 创建通道并赋予权限

4, logsys-ng.conf  // 修改配置文件

//源

source s_sys {

file ("/proc/kmsg" program_override("kernel: "));

unix-stream ("/dev/log");

internal();

# udp(ip(0.0.0.0) port(514));

};

//规则  用默认的,自己写也行

filter f_default    { level(info..emerg) and

not (facility(mail)

or facility(authpriv)

or facility(cron)); };

// 传输目标

destination mysql {

program("mysql -h10.10.10.10 -uxxxxx -pxxxxx table < /var/log/mysql.pipe");

pipe("/var/log/mysql.pipe"

template("INSERT INTO w_sys_logs (host, facility, priority, level, tag,

datetime, program, msg) VALUES ( ‘$HOST‘, ‘$FACILITY‘, ‘$PRIORITY‘,

‘$LEVEL‘, ‘$TAG‘, ‘$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC‘, ‘$PRORAM‘,

‘$MSG‘ );n") template-escape(yes) ); };

// table 为 数据库名

// 消息组合

log { source(s_sys); filter(f_default);destination(mysql); };

// 创建数据库

DROP TABLE IF EXISTS `w_sys_logs`;

CREATE TABLE `w_sys_logs` (

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

`host` varchar(32) DEFAULT NULL,

`facility` varchar(10) DEFAULT NULL,

`priority` varchar(10) DEFAULT NULL,

`level` varchar(10) DEFAULT NULL,

`tag` varchar(10) DEFAULT NULL,

`datetime` datetime DEFAULT NULL,

`program` varchar(15) DEFAULT NULL,

`msg` text,

PRIMARY KEY (`id`),

KEY `host` (`host`),

KEY `program` (`program`),

KEY `datetime` (`datetime`),

KEY `priority` (`priority`),

KEY `facility` (`facility`)

) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值