Monitoring Squid Proxy Menggunakan sqstat, SARG, dan Lightsquid
I. Pendahuluan
4. Merubah Nama
5. Konfigurasi sqstat
Di dalam file config.inc.php, rubah ip address dan port squid kita. Di sini, penulis memasukkan ip dan port squid penulis:
Setelah itu kita akan merubah file squid.conf
7. Tes sqstat
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.
Di file ini, rubahlah konfigurasi sarg sesuai dengan kebutuhan. Di bawah ini adalah konfigurasi sarg penulis:
6. Restart Webserver
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
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:
Setelah itu, berikan perintah agar skrip tersebut dapat dieksekusi:
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.
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.
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.
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.
Untuk menginstal lightsquid ke dalam sistem kita, maka ikuti langkah-langkah berikut:
Download paket lightsquid di sini.
Di dalam file ini, rubahlah path cfgpath, tplpath, langpath, reportpath, logpath, ip2namepath yang sesuai dengan dimana folder lightsquid itu berada. Penulis menggunakan konfigurasi berikut:
Jika sudah selesai, maka ketikan perintah berikut:
Ketikkan perintah berikut untuk mengecek apakah konfigurasi lighsquid sudah benar atau belum:
Jika ada tampilan seperti berikut:
Maka konfigurasi kita sudah benar.
Setelah itu, kita mengkonfigurasi webserver yang berada di /etc/httpd/conf/httpd.conf, lalu cari skrip sebagai berikut:
menjadi:
Untuk men-generate lightsquid, gunakan perintah berikut:
Buka browser, lalu ketikkan
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.
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:
Dan kita ingin agar setiap 1 jam sekali sistem mengeksekusi file ini, maka masukkan di crontab:
menjadi:
V. Kesimpulan
Referensi
http://lightsquid.sourceforge.net/
http://paidjo.files.wordpress.com
http://masrifqi.web.id
http://samm.kiev.ua
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:
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:
# 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