ผู้เขียน หัวข้อ: แบ่งปัน : squid 2.7 กับการเก็บ log ของ squid(access.log) ในรูปแบบตารางใน mysql  (อ่าน 7255 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ Bordin

  • Hero Member
  • *****
  • กระทู้: 1,089
  • อย่าคิดว่าทำไม่ได้ ถ้ายังไม่ลองทำ
  • Respect: +1
    • ดูรายละเอียด
    • ADMIN PCB. sz
เอามาเก็บไว้ที่นี่ด้วย พอดีไปเขียนไว้ linuxthai มาปีที่แล้ว ลืมไปแล้ว...เผื่อไว้ ๆ ลืม ๆ จะได้มาค้นหาได้  ;D

 ;D เอามาแบ่งปันกันครับ ผิดถูกประการใดขออภัยด้วยนะครับ

ตัวนี้ผมลองทำบน ClearOS 5.1 SP1 นะครับ

เป็นการเก็บ access.log ของ squid ให้ไปเก็บใน mysql แทนนะครับ..

ก่อนอื่นก็ไปโหลด plugin ตัวนี้มาก่อนเลยครับ

http://www.visolve.com/squid/squid-mysqllog.php

โหลดมาเสร็จก็จัดการ แตกไฟล์..ให้เรียบร้อย.. ;D

ให้ทำการแก้ไขไฟล์ makefile

PREFIX=/usr/local/test >> ที่อยู่ของ plugin
CC = gcc >> Compiler

ต่อมาให้แก้ไขไฟล์ db.cf

 hostname        localhost >> IP ของ MySQL Server
 user            root >> MySQL user
 password        squid >> Mysql password
 database        squidlog_db >> Database ที่จะใช้
 mysqld_socket   /tmp/mysqld.sock >> ที่อยู่ของ mysql.sock
 table           access_log >> ชื่อตารางที่ใช้เก็บ log

ต่อมา..ให้สร้าง database หรือจะใช้ database ที่มีอยู่แล้ว
แล้วทำการสร้างตาราง โดยใช้ SQL Script ที่ชื่อ tbl.sql

$ mysql -pYOUrPassWorD databaseName < tbl.sql

ขั้นตอนต่อไปก็ทำการ Compile เจ้า logmysqldb_daemon กันนะครับ

โดยการสั่ง make และตามด้วย make install

สุดท้ายแล้ว..แก้ไข squid.conf โดยการเพิ่มค่า config ตรงนี้ลงไปนะครับ

logformat mysql_columns %ts.%03tu %tr %>a %Ss %Hs %<st %rm %ru %Sh %un %<A %mt

access_log daemon:/usr/local/ldaemon/db.cf mysql_columns

logfile_daemon /usr/local/ldaemon/logmysqldb_daemon ตรงที่ผมเน้นสีไว้ คือ PREFIX ที่เราตั้งค่าใน Makefile นะครับ

เสร็จแล้วทำการ service squid restart เป็นอันจบครับ... ;D



การแก้ไข Makefile

ต้องลง gcc ก่อนครับ..ตัว compiler
$ yum install gcc

PREFIX=/usr/local/mysqlsquid   >>ชื่อ Directory ที่จะนำ Execute file ไปไว้
CC = gcc                              >> Compiler gcc
CFLAGS = -g -Wall -I/usr/local/include   >>ไม่ต้องเปลี่ยน
LDFLAGS = -L/usr/lib/mysql -lmysqlclient  >>ไม่ต้องเปลี่ยน
MYSQL_OBJS = logmysqldb_daemon.o confparser.o  >>ไม่ต้องเปลี่ยน
INSTALL = /usr/bin/install  >>ไม่ต้องเปลี่ยน
CONF = db.cf

ตามด้วยคำสั่ง
$ make

แล้วค่อย
$ make install

 ;D ;D ;D ;D
« แก้ไขครั้งสุดท้าย: กรกฎาคม 20, 2011, 15:40:12 PM โดย Bordin »

ออฟไลน์ thecoy

  • Hero Member
  • *****
  • กระทู้: 1,159
  • นักวิชาการคอมพิวเตอร์
  • Respect: 0
    • ดูรายละเอียด
ทำกับ pfsense  ได้มัย ;D
โรงพยาบาลรัษฎา  ตรัง
CentOS 5.5  Ram  4  GB
HOSxP V.3.54.11.2 MySQL 5.1.30

ออฟไลน์ Bordin

  • Hero Member
  • *****
  • กระทู้: 1,089
  • อย่าคิดว่าทำไม่ได้ ถ้ายังไม่ลองทำ
  • Respect: +1
    • ดูรายละเอียด
    • ADMIN PCB. sz
ทำกับ pfsense  ได้มัย ;D

ต้องลองเองครับ ^_^ ....  ;D ;D ;D