Ads

Ads Here

Sabtu, 22 Agustus 2009

Monitoring Squid Proxy Menggunakan sqstat, SARG, dan Lightsquid

Monitoring Squid Proxy Menggunakan sqstat, SARG, dan Lightsquid










Email



Cetak


PDF









I. Pendahuluan



Pada tutorial sebelumnya sudah dijelaskan tentang apa itu squid dan bagaimana cara mengkonfigurasinya di Linux (Centos 5.2). Dan juga sudah dijelaskan tentang bagaimana cara kita agar sebuah jaringan harus melewati sebuah proxy yang sudah kita buat. Pada bagian terakhir pada tulisan itu dijelaskan pula bagaimana cara memonitor user-user tersebut yang melewati proxy yaitu dengan menuliskan perintah:



# tail -f /var/log/squid/access.log


Namun perintah tersebut sangat tidak manusiawi karena hasil yang ditampilkan terlalu cepat untuk diikuti. Oleh karena itu di dalam tutorial kali ini akan dijelaskan tentang 3 buah tool untuk memonitor proxy server squid yang sangat manusiawi. Ketiga buah tool tersebut adalah sqstat, SARG dan lightsquid dan ketiga aplikasi tersebut akan diinstal di centos 5.2






A. sqstat



sqstat adalah sebuah aplikasi yang dibuat oleh Alex Samorukov. Aplikasi ini berfungsi untuk memonitor squid secara real time sehingga kita bisa melihat secara langsung IP berapa yang sedang mendownload dan lain sebagainya. Untuk menginstal sqstat ke dalam sistem kita, maka ikuti langkah-langkah berikut ini:



1. Download paket


Download paket sqstat di sini.



2. Ekstrak Paket





# gunzip sqstat-1.2.0.tar.gz
# tar -zxvf sqstat-1.2.0.tar;cd sqstat-1.2.0



3. Pindah Folder ke webserver


# mv sqstat-1.2.0 /var/www/html/ 


4. Merubah Nama



# mv sqstat-1.2.0 sqstat 


5. Konfigurasi sqstat






# cd sqstat
# cp config.inc.php.defaults config.inc.php
# vi config.inc.php

Di dalam file config.inc.php, rubah ip address dan port squid kita. Di sini, penulis memasukkan ip dan port squid penulis:

/* Squid proxy server ip address or host name */
$squidhost[0]="192.168.0.250";
/* Squid proxy server port */
$squidport[0]=3128;


Setelah itu kita akan merubah file squid.conf



# vi /etc/squid/squid.conf


Di dalam file tersebut, tambahkan skrip berikut ini:


acl manager proto cache_object
acl webserver src alamat_ip_squid/255.255.255.255
http_access allow manager webserver
http_access deny manager




6. Restart Webserver


# service httpd restart 


7. Tes sqstat



Buka browser lalu ketikkan:



 http://alamat_ip/sqstat


Maka akan ada tampilan sebagai berikut:








Rubahlah Auto refresh dari nilai 0 menjadi 5 agar aplikasi ini dapat refresh setiap 5 detik lalu tekan tombol Update.



6. Troubleshooting


Umumnya error yang terjadi adalah pada saat pengetesan sqstat di browser yaitu ada pernyataan error:



SqStat error

Error (1): Cannot get data. Server answered: HTTP/1.0 403 Forbidden







Hal ini dikarenakan kita salah menempatkan skrip: http_access deny manager di file squid.conf. Tempatkanlah skrip tersebut dibagian paling bawah pada item http_access.





B. SARG



SARG atau Squid Analysis Report Generator merupakan sebuah aplikasi yang dibuat oleh Pedro Lineu Orso yang bertujuan untuk melihat dan merekam aktivitas user selama berada di internet. Aplikasi ini sangat lengkap sehingga kita bisa melihat situs-situs apa yang dikunjungi oleh user, berapa bandwidth yang terpakai, dan sebagainya. Untuk menginstal aplikasi ini ke dalam sistem, berikut adalah langkah-langkahnya:



1. Download paket


Download paket SARG di sini.




2. Ekstrak Paket




# tar -zxvf sarg-2.2.5.tar.gz
# cd sarg-2.2.5



3. Instalasi SARG




# ./configure
# make
# make install




4. Konfigurasi SARG




# cd /usr/local/sarg/
# cp sarg.conf sarg.conf.ori
# vi sarg.conf

Di file ini, rubahlah konfigurasi sarg sesuai dengan kebutuhan. Di bawah ini adalah konfigurasi sarg penulis:

language English
access_log /usr/local/squid/var/logs/access.log
graphs yes
graph_days_bytes_bar_color orange
title "Squid User Access Reports"
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 9px
header_font_size 9px
title_font_size 11px
background_color white
text_color #000000
text_bgcolor lavender
title_color green
logo_image none
logo_text ""
logo_text_color #000000
image_size 80 45
background_image none
password none
temporary_dir /tmp
output_dir /var/www/html/squid-reports
output_email none
resolve_ip no
user_ip yes
topuser_sort_field BYTES reverse
index yes
use_comma no
long_url yes




5. Generate SARG


Untuk menjalankan SARG, maka ketikkan perintah di bawah ini untuk men-generate SARG:



# /usr/bin/sarg -l /var/log/squid/access.log


Maka secara ototmatis di dalam folder /var/www/html ada folder baru yang bernama squid-reports.



6. Restart Webserver



# service httpd restart


7. Melihat SARG



Untuk melihat tampilan SARG, maka ketikkan perintah berikut di browser:



http://alamat_ip/squid-reports


maka akan ada tampilan sebagai berikut:









Klik item yang berada pada kolom FILE/PERIOD, maka akan ada tampilan sebagai berikut:










Jika sudah ada tampilan seperti itu, maka SARG sudah berhasil diinstalasi di dalam sistem.





7. Penjadwalan Generate SARG



Untuk men-generate SARG, kita harus mengetikkan di dalam konsol perintah seperti berikut:  




# /usr/bin/sarg -l /var/log/squid/access.log

Namun, alangkah capeknya jika kita mengetikkan perintah tersebut secara manual. Maka dari itu kita menggunakan crontab untuk melakukan eksekusi otomatis. Misalnya kita ingin agar setiap 1 jam sekali perintah di atas dieksekusi secara otomatis oleh sistem, maka terlebih dahulu kita membuat skrip misalnya di folder /home dengan nama sarg.txt dan tambahkan skrip berikut:



#!/bin/bash
/usr/bin/sarg -l /var/log/squid/access.log

Setelah itu, berikan perintah agar skrip tersebut dapat dieksekusi:



# chmod +x sarg.txt


Setelah itu kita konfigurasi crontab-nya:



# crontab -e


tambahkan skrip berikut:




0 * * * * /home/sarg.txt


Dan setelah itu sistem akan men-generate SARG secara otomatis.


C. lightsquid


Lightsquid merupakan aplikasi monitoring squid yang mempunyai fungsi yang sama dengan SARG. Aplikasi ini menggunakan bahasa perl untuk men-generatenya. Maka dari itu ceklah di dalam sistem apakah sudah ada paket-paket perl atau belum dan jika sudah ada, paket perl versi berapa karena ada penambahan skrip perl versi tertentu yang akan dibahas nanti.
# rpm -qa | grep perl
# perl -v

Untuk menginstal lightsquid ke dalam sistem kita, maka ikuti langkah-langkah berikut:
1. Download paket

Download paket lightsquid di sini.

2. Ekstrak ke Webserver

# tar -zxvf lightsquid-1.7.1.tgz -C /var/www/html/

3. Merubah Nama Folder

#  mv lightsquid-1.7.1/ lightsquid

4. Konfigurasi lightsquid

# cd lightsquid
# cp lightsquid.cfg lightsquid.cfg.ori
# vi lightsquid.cfg


Di dalam file ini, rubahlah path cfgpath, tplpath, langpath, reportpath, logpath, ip2namepath yang sesuai dengan dimana folder lightsquid itu berada. Penulis menggunakan konfigurasi berikut:



#path to additional `cfg` files
$cfgpath ="var/www/html/lightsquid";
#path to `tpl` folder
$tplpath  ="/var/www/html/lightsquid/tpl";
#path to `lang` folder
$langpath ="/var/www/html/lightsquid/lang";
#path to `report` folder
$reportpath ="/var/www/html/lightsquid/report";
#path to access.log
$logpath ="/var/log/squid";
#path to `ip2name` folder
$ip2namepath ="/var/www/html/lightsquid/ip2name";

Jika sudah selesai, maka ketikan perintah berikut:
5. Merubah Mode

# chmod +x *.cgi
# chmod +x *.pl

6. Cek Setup lightsquid

Ketikkan perintah berikut untuk mengecek apakah konfigurasi lighsquid sudah benar atau belum:

# perl check-setup.pl

Jika ada tampilan seperti berikut:






Maka konfigurasi kita sudah benar.

7. Mengedit File Webserver

Setelah itu, kita mengkonfigurasi webserver yang berada di /etc/httpd/conf/httpd.conf, lalu cari skrip sebagai berikut:

<Directory "/var/www/cgi-bin">

AllowOverride None
Options None
Order allow, deny
Allow from all
</Directory>

menjadi:

<Directory "/var/www/html/lightsquid">
AddHandler cgi-script .cgi

AllowOverride All
</Directory>

8. Generate lightsquid

Untuk men-generate lightsquid, gunakan perintah berikut:
# /var/www/html/lightsquid/lightparser.pl

9. Restart Webserver

# service httpd restart


10. Lihat lightsquid

Buka browser, lalu ketikkan
http://alamat_ip/lightsquid

maka akan ada tampilan sebagai berikut:






Klik pada item Date, maka akan muncul tampilan:








Jika sudah tampil gambar-gambar di atas, maka lightsquid sudah terinstal dalam sistem.

9. Penjadwalan Generate lightsquid

Sama seperti SARG, lightsquid bisa di generate secara otomatis menggunakan crontab. Buat dahulu filenya misalnya di /home yang bernama lightsquid.txt lalu masukkan skrip berikut:

#!/bin/bash
cd /var/www/html/lightsquid
/var/www/html/lightsquid/lightparser.pl

Dan kita ingin agar setiap 1 jam sekali sistem mengeksekusi file ini, maka masukkan di crontab:




0 * * * * /home/lightsquid.txt 


Dan jangan lupa berikan perintah:



 # chmod +x /home/lightsquid.txt


agar file tersebut dapat dieksekusi.



10. Troubleshooting




Pada umumnya error yang terjadi biasanya terlihat pada saat mengecek konfigurasi lightsquid, yaitu pada saat kita memberikan perintah:


 # perl check-setup.pl 


ada pernyataan error:



 no: GD.PM found, please install or set $graphreport=0 to disable


Error tersebut dikarenakan di dalam sistem kita tidak mempunyai paket gd yang digunakan untuk membuat tampilan grafik. Oleh karena itu, installah paket tersebut dengan menuliskan:


# yum -y install gd perl-gd



Atau jika kita tidak mau menginstal paket gd hal itu tidak menjadi masalah dan konsekwensi yang timbul hanyalah kita tidak bisa melihat tampilan grafik. Tapi kita harus mensetting di file lightsquid.cfg dan merubah nilai dari
$graphreport dari 0 menjadi 1.

Dan juga perlu diingat jika kita menggunakan perl versi 5.10, ada skrip yang harus ditambahkan di file lightparser.pl yaitu dengan merubah:


#extract site name
if $url =~ m/([a-z]+:\/\/)??([a-z0-9\-]+\.){1}(([a-z0-9\-]+\.){0,})([a-z0-9\-]+){1}(:[0-9]+)?\/(.*)/o;
$site=$2.$3.$5;
$site=$Lurl if ($site eq "");






menjadi:









#extract site name




if ($url =~ m/([a-z]+:\/\/)??([a-z0-9\-]+\.){1}(([a-z0-9\-]+\.){0,})([a-z0-9\-]+){1}(:[0-9]+)?\/(.*)/o) { $site=$2.$3.$5; } else { $site=$Lurl; }


V. Kesimpulan




Di atas, sudah dijelaskan tentang ketiga monitoring squid yang dapat digunakan. Namun, ada beberapa yang harus diperhatikan. Untuk sqstat, terkadang aplikasi ini tidak menampilkan seluruh IP yang sedang melewati proxy atau juga tidak dapat menampilkan user mana yang sedang mendownload. Maka dari itu, lengkapi pula di dalam sistem kita dengan aplikasi jnettop. Untuk SARG, kelebihannya adalah fitur yang lengkap sehingga kita mungkin merasa cukup dengan apa yang dilakukan oleh SARG. Tetapi sayangnya, aplikasi ini sangat boros memakan ruang dalam hard disk karena file-file yang digenerate berbentuk html. Pengalaman penulis, aplikasi ini mampu memakan ruang dalam hard disk sebesar kira-kira 1GB dalam sehari semalam. Berbeda halnya dengan lightsquid. Karena file-file yang dihasilkannya berbentuk txt, maka aplikasi ini tidak memakan ruang yang banyak di dalam hard disk tetapi sayangnya fiturnya dibawah SARG. Namun, penulis pikir ini adalah sebuah selera saja. Mana yang lebih mendekati selera si system administrator, maka aplikasi tersebut yang akan digunakan. Namun penulis menyarankan untuk lebih mendapatkan hasil yang akurat, selain menginstal aplikasi di atas, juga bisa ditambahkan aplikasi bwstat, dan jnettop dimana bwstat digunakan untuk melihat berapa bandwidth yang sudah dihabiskan per IP dan jnettop digunakan untuk melihat IP mana yang sedang download secara real-time. Sedangkan SARG dan lightsquid untuk melihat akumulatif bandwidth per hari.





Referensi

http://lightsquid.sourceforge.net/


http://paidjo.files.wordpress.com


http://masrifqi.web.id


http://samm.kiev.ua


Tidak ada komentar:

Posting Komentar