memonitor akses squid

Mungkin kita sering memonitor akses squid ke situs internet dengan melihat file /var/log/squid/access.log. biasanya kita lakukan dengan :

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


seperti biasanya hasilnya kacau balau tidak beraturan. Dengan sedikit shell programming hasilnya mungkin sedikit lebih baik. Command dibawah ini mungkin bisa dicoba

#tail -f /var/log/squid/access.log | awk '{print$3 " " $8 " " $7}'

Kalo mau lebih simpel, buat disuatu file mis. tangkap, trus set permisinya ke execute trus jalankan mis :

#vi tangkap
-- isikan baris tadi --
-- simpan and quit --
#chmod 777 tangkap
#./tangkap


Monggo....silahkan dicoba

cara ke dua :
Memonitor akses squid proxy melalui konsole dengan menggunakan perintah tail outputnya secara default lumayan membingungkan karena info yang ditampilkan terlalu banyak. Untuk melihat log squid agar informasi yang ditampilkan hanya di inginkan dapat digunakan cara mempipakan tail dengan awk. awk dan tail sama-sama bisa digunakan untuk menampilkan isi suatu file teks, namun tail menampilkan isi suatu file secara realtime walaupun baru diupdate oleh user lain sedangkan awk tidak realtime, tetapi fungsinya lebih banyak.
contoh melihat log squid dengan menggunakan perintah tail:

root@dp:~# tail -f /var/log/squid/access.log
1184295981.413 7720 192.168.10.8 TCP_MISS/404 475 GET http://overloadstudios.co.uk/ewa/counters/overloadstudios01.txt&num=792 - DIRECT/213.171.218.194 text/html
1184296008.069 12904 192.168.10.8 TCP_MISS/404 470 GET http://overloadstudios.co.uk/ewa/counters/cipher5tring.txt&num=686 - DIRECT/213.171.218.194 text/html
.....
..... dst


Untuk memudahkannya kita uraikan log squid diatas menjadi beberapa bagian dengan spasi sebagai pemisah antar bagian. Sebagai contoh kita ambil satu baris log squid diatas :

1184296008.069 12904 192.168.10.8 TCP_MISS/404 470 GET http://overloadstudios.co.uk/ewa/counters/cipher5tring.txt&num=686 - DIRECT/213.171.218.194 text/html

Hasil pemisahan
1 = 1184296008.069
2 = 12904
3 = 192.168.10.8
4 = TCP_MISS/404
5 = 470
6 = GET
7 = http://overloadstudios.co.uk/ewa/counters/cipher5tring.txt&num=686
8 = -
9 = DIRECT/213.171.218.194
10 = text/html

Misal kita ingin menampilkan bagian ke 1, 2 dan dipisahkan dengan spasi dari log tersebut menggunakan awk adalah:

awk '{print $1 " " $2}' /var/log/squid/access.log

output:
root@dp:~# awk '{print $1 " " $2}' /var/log/squid/access.log
1184296008.069 12904
...
...
dst

Tampak output perintah tersebut hanya bagian ke 1 dan 2.
Misal kita ingin menampilkan bagian ke 3(IP address klien squid), 4(status) dan 7(situs/web yang diakses) dengan pemisah antar bagian menggunakan spasi dan tanda "-->" dapat menggunakan perintah:

root@dp:~# awk '{print $3 " --> " $4 " " $7}' /var/log/squid/access.log
192.168.10.8 --> TCP_MISS/404 http://overloadstudios.co.uk/ewa/counters/cipher5tring.txt&num=686
...
...
dst


dengan perintah diatas output menjadi lebih sederhana dan jelas. Jika kita ingin menampilkan semua bagian dapat menggunakan perintah :

awk '{print $0}' /var/log/squid/access.log

Output dari perintah tersebut hampir sama dengan perintah tail diatas tetapi tidak realtime. Untuk menampilan bagian-bagian log tersebut sesuai yang kita inginkan dan realtime maka dapat menggunakan perintah tail yang dipipakan dengan perintah awk sebagai berikut:

tail -f /var/log/squid/access.log | awk '{print $3 " --> " $4 " " $7}'

Maka output dari perintah diatas akan manghasilkan bagian ke 3, 4 dan ke 7 dari log squid secara realtime. Misal:

root@dp:~# tail -f /var/log/squid/access.log | awk '{print $3 " --> " $4 " " $7}'
192.168.10.8 --> TCP_MISS/404 http://overloadstudios.co.uk/ewa/counters/cipher5tring.txt&num=686
192.168.10.9 --> TCP_REFRESH_MISS/200 http://img.youtube.com/vi/rQdWNpJhgaM/3.jpg
192.168.10.9 --> TCP_MISS/200 http://img.youtube.com/vi/BhXWe77zKds/3.jpg
...
...
dst


Penggunaan awk diatas hanyalah bagian kecil dari fungsi awk yang lain. Untuk penggunaan awk yang lain dapat di lihat di:
- http://www.linode.com/wiki/index.php/AWK_Howto
- http://www.softpanorama.org/Tools/awk.shtml

Jika ada anggapan bahwa linux itu sulit mungkin hal itu tidak selamanya benar dan bahkan sebaliknya tergantung bagaimana kreatifitas kita dan menyiasatinya kesulitan yang ada.

No comments: