Monitoring Squid Proxy Menggunakan sqstat, SARG, dan Lightsquid
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.20.tar.gz
# tar -xvf
sqstat-1.20.tar
3. Pindah Folder ke webserver
# mv sqstat-1.20
/var/www/html/; cd /var/www/html
4. Merubah Nama
# mv sqstat-1.20 sqstat
5. Konfigurasi sqstat
# cd sqstat
# cp config.inc.php.defaults config.inc.php
# vi config.inc.php
# 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;
$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 192.168.0.250/255.255.255.255
http_access allow manager webserver
http_access deny manager
acl webserver src 192.168.0.250/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.
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
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.
Jika tidak ada tampilan gambar seperti di atas, tetapi hanya berupa list saja pada browser, maka ketikkan:
# mv sqstat.php index.php
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
# cd sarg-2.2.5
3. Instalasi SARG
# ./configure
# make
# make install
# make
# make install
4. Konfigurasi SARG
# cd /usr/local/sarg/
# cp sarg.conf sarg.conf.ori
# vi sarg.conf
# 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
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
/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/; cd /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
# 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 1 menjadi 0.
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.
A video from YouTube of A video of a young girl telling a
I youtube downloader had an A video from YouTube of A video of a young girl telling a girl to not go in because they didn't want to leave the house because of her