CentOS上のSARGログアナライザでSquidログを分析するにはどうすればいいですか?


前のチュートリアルでは,CentOS上でSquidを用いて透明エージェントを構成する方法を示した.Squidは多くの有用な特性を提供していますが、元のSquidのログファイルを分析するのは直接ではありません.例えば、以下のSquidログのタイムスタンプと数字をどう分析しますか?
1404788984.429   1162 172.17.1.23 TCP_MISS/302 436 GET http://facebook.com/ - DIRECT/173.252.110.27 text/html1404788985.046  12416 172.17.1.23 TCP_MISS/200 4169 CONNECT stats.pusher.com:443 - DIRECT/173.255.223.127 -1404788986.124    174 172.17.1.23 TCP_MISS/200 955 POST http://ocsp.digicert.com/ - DIRECT/117.18.237.29 application/ocsp-response1404788989.738    342 172.17.1.23 TCP_MISS/200 3890 CONNECT www.google.com:443 - DIRECT/74.125.200.106 -1404788989.757    226 172.17.1.23 TCP_MISS/200 942 POST http://clients1.google.com/ocsp - DIRECT/74.125.200.113 application/ocsp-response1404788990.839   3939 172.17.1.23 TCP_MISS/200 78944 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 -1404788990.846   2148 172.17.1.23 TCP_MISS/200 118947 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 -1404788990.849   2151 172.17.1.23 TCP_MISS/200 76809 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 -1404788991.140    611 172.17.1.23 TCP_MISS/200 110073 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 –
私たちはyumを使ってインストールに必要な依存性を持っています.
# yum install gcc make wget httpd crond
起動時に必要なサービスをロードする
# service httpd start; service crond start# chkconfig httpd on; chkconfig crond on
今私達はSARGをダウンロードして解凍します.
# wget http://downloads.sourceforge.net/project/sarg/sarg/sarg-2.3.8/sarg-2.3.8.tar.gz?# tar zxvf sarg-2.3.8.tar.gz# cd sarg-2.3.8
注意:64ビットのLinuxに対して、log.cのソースコードは以下のファイルでパッチを適用する必要があります.
1506c1506file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s
",dia,hora,ip,url,nbytes,code,elap_time,smartfilter)<=0) {--->            if (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s
",dia,hora,ip,url,(int64_t)nbytes,code,elap_time,smartfilter)<=0) {1513c1513                fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s
",dia,hora,user,ip,url,(int64_t)nbytes,code,elap_time,smartfilter);1564c1564                printf("LEN=\t%"PRIi64"
",(int64_t)nbytes);
次のようにSARGを継続してコンパイルします.
# ./configure# make# make install
SARGをインストールしたら、コンフィギュレーションファイルはあなたの要求通りに修正できます.以下はSARG構成の例である.
# vim /usr/local/etc/sarg.conf
access_log /var/log/squid/access.logtemporary_dir /tmpoutput_dir /var/www/html/squid-reportsdate_format e     ## We use Europian DD-MM-YYYY format here #### we don’t want multiple reports for single day/week/month ##overwrite_report yes
今はテストの時です.デバッグモードでsargを実行して、エラーがあるかどうかを確認します.
# sarg -x
iが正常であれば、sarg会根系Squidログを作成し、/var/www/html/squid-reportの下でレポートを作成します.レポートはブラウザでアドレスを通すこともできます.http:///squid-reports/アクセス
SARGは、作成日、週、月次報告に使用できます.時間範囲は「-d」パラメータで指定されていますが、値の形式はデイ-n、week-nまたはmonth-nであり、nの値は前に進む日/週/月の数となります.例えば、week-1を使うと、SARGは前の週のレポートを生成します.day-2を使って、SARGは2日間前のレポートを作成します.
デモとして、毎日SARGを実行する計画的なタスクを準備します.
# vim /etc/cron.daily/sarg
#!/bin/sh/usr/local/bin/sarg -d day-1
ファイルには実行可能な権限が必要です.
# chmod 755 /usr/local/bin/sarg
今SARGは毎日Squid管理に関する流量報告を準備するはずです.これらの報告はSARGネットワークインターフェースを介して容易にアクセスできる.
まとめてみると、SARGはネットワークベースのツールで、Squidログを分析し、より詳細な方法で分析を示すことができます.システム管理者は、SARGを利用してどのウェブサイトがアクセスされたかを監視し、最大のウェブサイトとユーザーを追跡することができます.本教程にはSARGの配置作業が含まれています.さらにカスタマイズして自分の要求を満たすことができます.
この教程があなたの役に立ちますように.
Sarmed Rahman
  • Twitterアドレス
  • Linked Inアドレス
  • Sarmed RahmanはバングラデシュのIT専門家です.彼は時々技術文章を書き続け、技術は分かち合うことによって向上すると信じています.暇な時間には、彼はゲームが好きで、友達と一緒に過ごすのが好きです.