BMS-HOSxP Community

HOSxP => Linux => ข้อความที่เริ่มโดย: Bordin ที่ กรกฎาคม 20, 2011, 15:35:08 PM

หัวข้อ: แบ่งปัน : squid 2.7 กับการเก็บ log ของ squid(access.log) ในรูปแบบตารางใน mysql
เริ่มหัวข้อโดย: Bordin ที่ กรกฎาคม 20, 2011, 15:35:08 PM
เอามาเก็บไว้ที่นี่ด้วย พอดีไปเขียนไว้ linuxthai มาปีที่แล้ว ลืมไปแล้ว...เผื่อไว้ ๆ ลืม ๆ จะได้มาค้นหาได้  ;D

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

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

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

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

http://www.visolve.com/squid/squid-mysqllog.php (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
หัวข้อ: Re: แบ่งปัน : squid 2.7 กับการเก็บ log ของ squid(access.log) ในรูปแบบตารางใน mysql
เริ่มหัวข้อโดย: thecoy ที่ กรกฎาคม 20, 2011, 18:28:54 PM
ทำกับ pfsense  ได้มัย ;D
หัวข้อ: Re: แบ่งปัน : squid 2.7 กับการเก็บ log ของ squid(access.log) ในรูปแบบตารางใน mysql
เริ่มหัวข้อโดย: Bordin ที่ กรกฎาคม 20, 2011, 18:34:06 PM
ทำกับ pfsense  ได้มัย ;D

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