สั่ง
apt-get install syslog-ng
เสร็จแล้วแก้ไขไฟล์ /etc/syslog-ng/syslog-ng.conf
เพิ่ม
######################
destination d_mysql {
pipe("/var/log/mysql.pipe"
template("
CREATE TABLE IF NOT EXISTS log_$YEAR$MONTH$DAY (
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,
seq bigint(20) unsigned NOT NULL auto_increment,
PRIMARY KEY (seq),
KEY host (host),
KEY program (program),
KEY datetime (datetime),
KEY priority (priority),
KEY facility (facility)
) DEFAULT CHARSET=tis620 COLLATE=tis620_bin;\n\n
INSERT INTO log_$YEAR$MONTH$DAY
(host, facility, priority, level, tag, datetime, program, msg,seq) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG','$YEAR-$MONTH-$DAY
$HOUR:$MIN:$SEC','$PROGRAM', '$MSG',null );\n\n") template-escape(yes));
};
######################
filter f_proxyS { match("http"); };
log {
source(s_all);
filter(f_proxyS);
destination(d_mysql);
};
จบการแก้ไขไฟล์
สร้างไฟล์
/etc/syslog2mysql.sh
มีเนื้อหา
#!/bin/bash
if [ ! -e /var/log/mysql.pipe ]
then
/usr/bin/mkfifo /var/log/mysql.pipe
fi
while [ -e /var/log/mysql.pipe ]
do
/usr/bin/mysql -uroot -p1234 syslog < /var/log/mysql.pipe > /dev/null
done
จบ
เสร็จแล้วสั่ง
/etc/init.d/syslog-ng restart
sh /etc/syslog2mysql.sh &
ใน squid.conf
เพิ่ม
access_log syslog
หนึ่งบรรทัด
แล้วสั่ง
squid -k reconfig
ใน db สร้างฐานข้อมูลชื่อ syslog จบจ้า
ไม่มีความคิดเห็น:
แสดงความคิดเห็น