SARG-Squid Analysis ReportGeneratorおよびインターネット帯域幅監視ツール


SARGは、squidログファイルを分析し、ユーザー、IPアドレス、アクセス数の多いサイト、合計帯域幅使用量、経過時間、ダウンロード、アクセス拒否されたWebサイト、日次レポートに関する情報を含む美しいレポートをHTML形式で生成できるオープンソースツールです。週報と月報。

SARGは、ネットワーク上の個々のマシンが使用しているインターネット帯域幅を確認するための非常に便利なツールであり、ネットワークのユーザーがアクセスしているWebサイトを監視できます。

この記事では、SARG – Squid Analysis ReportGeneratorをRHEL/CentOS/FedoraおよびDebian/Ubuntu/LinuxMintシステムにインストールして構成する方法について説明します。

Sargのインストール–LinuxでのSquidLog Analyzer

キャッシュモードでの名前解決のための透過プロキシおよびDNSとして、Squidサーバーをすでにインストール、構成、およびテストしていることを前提としています。そうでない場合は、Sargのインストールをさらに進める前に、まずそれらをインストールして構成してください。

重要:SquidとDNSを設定しないと、システムにsargをインストールしてもまったく機能しないことを覚えておいてください。したがって、Sargのインストールに進む前に、最初にそれらをインストールするように要求されます。

LinuxシステムにDNSとSquidをインストールするには、次のガイドに従ってください。

  1. Install Cache Only DSN Server in RHEL/CentOS 7
  2. Install Cache Only DSN Server in RHEL/CentOS 6
  3. Install Cache Only DSN Server in Ubuntu and Debian
  1. Setting Up Squid Transparent Proxy in Ubuntu and Debian
  2. Install Squid Cache Server on RHEL and CentOS

デフォルトでは「sarg」パッケージはRedHatベースのディストリビューションに含まれていないため、ソースtarballから手動でコンパイルしてインストールする必要があります。このため、ソースからコンパイルする前に、いくつかの追加の前提条件パッケージをシステムにインストールする必要があります。

# yum install –y gcc gd gd-devel make perl-GD wget httpd

必要なすべてのパッケージをインストールしたら、最新のsarg source tarballをダウンロードするか、次のwgetコマンドを使用して以下に示すようにダウンロードしてインストールします。

# wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.10/sarg-2.3.10.tar.gz
# tar -xvzf sarg-2.3.10.tar.gz
# cd sarg-2.3.10
# ./configure
# make
# make install

Debianベースのディストリビューションでは、apt-getパッケージマネージャーを使用して、デフォルトのリポジトリからsargパッケージを簡単にインストールできます。

$ sudo apt-get install sarg

次に、SARGメイン構成ファイルのいくつかのパラメーターを編集します。このファイルには編集するオプションがたくさん含まれていますが、編集するのは次のような必要なパラメーターのみです。

  1. Access logs path
  2. Output directory
  3. Date Format
  4. Overwrite report for the same date.

選択したエディターでsarg.confファイルを開き、以下に示すように変更を加えます。

# vi /usr/local/etc/sarg.conf        [On RedHat based systems]
$ sudo nano /etc/sarg/sarg.conf        [On Debian based systems]

ここで、コメントを解除して、元のパスをsquidアクセスログファイルに追加します。

# sarg.conf
#
# TAG:  access_log file
#       Where is the access.log file
#       sarg -l file
#
access_log /var/log/squid/access.log

次に、正しい出力ディレクトリパスを追加して、生成されたsquidレポートをそのディレクトリに保存します。 Debianベースのディストリビューションでは、ApacheWebルートディレクトリは「/ var/www」であることに注意してください。したがって、Linuxディストリビューションの下に正しいWebルートパスを追加するときは注意してください。

# TAG:  output_dir
#       The reports will be saved in that directory
#       sarg -o dir
#
output_dir /var/www/html/squid-reports

レポートの正しい日付形式を設定します。たとえば、「date_format e」は、「dd/mm/yy」形式でレポートを表示します。

# TAG:  date_format
#       Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)
#
date_format e

次に、コメントを解除して、上書きレポートを「はい」に設定します。

# TAG: overwrite_report yes|no
#      yes - if report date already exist then will be overwritten.
#       no - if report date already exist then will be renamed to filename.n, filename.n+1
#
overwrite_report yes

それでおしまい!ファイルを保存して閉じます。

構成部分が完了したら、次のコマンドを使用してsquidログレポートを生成します。

# sarg -x        [On RedHat based systems]
# sudo sarg -x        [On Debian based systems]
[[email protected] squid]# sarg -x

SARG: Init
SARG: Loading configuration from /usr/local/etc/sarg.conf
SARG: Deleting temporary directory "/tmp/sarg"
SARG: Parameters:
SARG:           Hostname or IP address (-a) =
SARG:                    Useragent log (-b) =
SARG:                     Exclude file (-c) =
SARG:                  Date from-until (-d) =
SARG:    Email address to send reports (-e) =
SARG:                      Config file (-f) = /usr/local/etc/sarg.conf
SARG:                      Date format (-g) = USA (mm/dd/yyyy)
SARG:                        IP report (-i) = No
SARG:             Keep temporary files (-k) = No
SARG:                        Input log (-l) = /var/log/squid/access.log
SARG:               Resolve IP Address (-n) = No
SARG:                       Output dir (-o) = /var/www/html/squid-reports/
SARG: Use Ip Address instead of userid (-p) = No
SARG:                    Accessed site (-s) =
SARG:                             Time (-t) =
SARG:                             User (-u) =
SARG:                    Temporary dir (-w) = /tmp/sarg
SARG:                   Debug messages (-x) = Yes
SARG:                 Process messages (-z) = No
SARG:  Previous reports to keep (--lastlog) = 0
SARG:
SARG: sarg version: 2.3.7 May-30-2013
SARG: Reading access log file: /var/log/squid/access.log
SARG: Records in file: 355859, reading: 100.00%
SARG:    Records read: 355859, written: 355859, excluded: 0
SARG: Squid log format
SARG: Period: 2014 Jan 21
SARG: Sorting log /tmp/sarg/172_16_16_55.user_unsort
......

注:「sarg-x」コマンドは「sarg.conf」構成ファイルを読み取り、squidの「access.log」パスを取得してhtml形式のレポートを生成します。

生成されたレポートは、「/ var/www/html/squid-reports /」または「/ var/www/squid-reports /」の下に配置され、アドレスを使用してWebブラウザからアクセスできます。

http://localhost/squid-reports
OR
http://ip-address/squid-reports

cronジョブを介して特定の期間にsargレポートを生成するプロセスを自動化するため。たとえば、レポートを1時間ごとに自動的に生成するとします。これを行うには、Cronジョブを構成する必要があります。

# crontab -e

次に、ファイルの最後に次の行を追加します。保存して閉じます。

* */1 * * * /usr/local/bin/sarg -x

上記のcronルールは、1時間ごとにSARGレポートを生成します。

参照リンク

Sargホームページ

SARGは以上です。 Linuxに関する興味深い記事をいくつか紹介します。それまでは、TecMint.comに注目し、貴重なコメントを追加することを忘れないでください。