วันเสาร์ที่ 22 ตุลาคม พ.ศ. 2554

ติดตั้ง lightsquid เพื่อดู access.log ของ Squid เหมือนกับ sarg

สำหรับ  Debian, UbuntuCode
# apt-get install apache2 libgd-gd2-perl
# wget http://sourceforge.net/projects/lightsquid/files/lightsquid/1.8/lightsquid-1.8.tgz
# tar -zxvf lightsquid-1.8.tgz
# mv lightsquid-1.8 /var/www/lightsquid
# cd /var/www/
# chown -R www-data:www-data lightsquid
# cd /var/www/lightsquid
- ตั้งค่าให้ ทำงานได้
# chmod +x *.cgi
# chmod +x *.pl
- ไปแก้ไขไฟล์ lightsquid.cfg ตั้งค่า Global variables ต่างๆ ให้ตรงตามเครื่อง server เช่น
 $cfgpath             ="/www/lightsquid";
 $tplpath             ="/www/lightsquid/tpl";
 $langpath            ="/www/lightsquid/lang";
 $reportpath          ="/www/lightsquid/report";
 $logpath             ="/var/lib/squid/logs"; <------- ดูให้ตรงกับในเครื่อง server
 $ip2namepath         ="/www/lightsquid/ip2name";
 $lockpath            =$reportpath;
 $maxlocktime         = 30*60;
 $debug               = 0;
 $debug2              = 0;
 $graphreport         = 0; <------- กรณีไม่ได้ติดตั้ง module libgd, GD.PM

ส่วนอื่นๆ ตั้งตามที่ติดมากับโปรแกรม

แก้ไข /etc/apache2/httpd.conf

Alias /report /var/www/lightsquid
<Directory "/var/www/lightsquid">
AddHandler cgi-script .cgi
AllowOverride All
</Directory>
- restart apache2
# /etc/init.d/apache2 restart
# /var/www/lightsquid/lightparser.pl

- เมื่อเสร็จแล้ว ให้ตรวจสอบการติดตั้งโดยเรียกสคริปต์ ./check-setup.pl ถ้าทุกอย่างถูกต้องให้นำเข้าข้อมูลเก่าได้เลย โดยสั่ง
 # ./lightparser.pl access.log.0.{gz|bz2}
 # ./lightparser.pl access.log.1.{gz|bz2}
 # ./lightparser.pl access.log.2.{gz|bz2}
 ไปเรื่อยๆ

- ไปตั้งค่า crontab ให้ทำงานตามช่วงเวลา ตามที่เราต้องการ ในที่นี้ ผมให้ทำงานวันละครั้งตอน 4 นาฬิกา 5 นาทีหลังจากที่ squid ทำการ rotate log ไปเรียบร้อยแล้วตอนตี 4
 # crontab -e
 0 4 * * * /usr/sbin/squid -k rotate
 5 4 * * * /var/www/lightsquid/lightparser.pl

- เรียกดูข้อมูลได้จากเว็บ http://ip_server/report
- เป็นอันเรียบร้อย ทีนี้ เราก็สามารถตรวจสอบได้แล้ว ว่าใครใช้เน็ต ไปไหนบ้าง ใช้ปริมาณ มากน้อยเท่าไหร่ ใช้เวลาไหน