ウェブサイト検索

SARG - Squid 分析レポート ジェネレーターおよびインターネット帯域幅監視ツール


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

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

この記事では、SARGSquid Analysis Report GeneratorRHEL/CentOS にインストールして設定する方法を説明します。 >/Fedora および Debian/Ubuntu/Linux Mint システム。

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

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

重要: SquidDNS をセットアップしないと、システムに sarg をインストールしても使用できないことに注意してください。まったく機能しません。したがって、Sarg のインストールに進む前に、まずそれらをインストールするように要求されます。

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

キャッシュ専用 DNS サーバーをインストールする
  1. RHEL/CentOS 7 にキャッシュ専用 DSN サーバーをインストールする
  2. RHEL/CentOS 6 にキャッシュ専用 DSN サーバーをインストールする
  3. Ubuntu および Debian にキャッシュ専用 DSN サーバーをインストールする
Squid を透過プロキシとしてインストールする
  1. Ubuntu および Debian での Squid 透過プロキシのセットアップ
  2. RHEL および CentOS に Squid キャッシュ サーバーをインストールする

ステップ 1: ソースから Sarg をインストールする

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

RedHat/CentOS/Fedora の場合
yum install –y gcc gd gd-devel make perl-GD wget httpd

必要なパッケージをすべてインストールしたら、最新の sarg ソース 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/Ubuntu/Linux Mint の場合

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

sudo apt-get install sarg

ステップ 2: Sarg の構成

ここで、SARG メイン設定ファイル内のいくつかのパラメータを編集します。ファイルには編集するオプションが多数含まれていますが、次のような必須パラメータのみを編集します。

  1. アクセスログのパス
  2. 出力ディレクトリ
  3. 日付形式
  4. 同じ日付のレポートを上書きします。

選択したエディタで 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 ベースのディストリビューションでは、Apache Web ルート ディレクトリは「/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

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

ステップ 3: Sarg レポートの生成

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

sarg -x        [On RedHat based systems]
sudo sarg -x        [On Debian based systems]
サンプル出力
[root@localhost 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 形式でレポートを生成します。

ステップ 4: Sarg レポートの評価

生成されたレポートは「/var/www/html/squid-reports/」または「/var/www/squid-reports/」に配置され、アドレスを使用する Web ブラウザ。

http://localhost/squid-reports
OR
http://ip-address/squid-reports
Sarg メインウィンドウ

特定の日付

ユーザーレポート

アクセス数の多いサイト

トップのサイトとユーザー

トップダウンロード

アクセス拒否

認証の失敗

ステップ 5: Sarg レポートの自動生成

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

crontab -e

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

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

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

参考リンク

サーグのホームページ

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