SARG - Squid 分析レポート ジェネレーターおよびインターネット帯域幅監視ツール
SARG は、Squid ログ ファイルを分析し、ユーザー、IP アドレス、アクセス数の多いサイト、総帯域幅に関する情報を含む美しいレポートを HTML 形式で生成できるオープン ソース ツールです。使用状況、経過時間、ダウンロード、アクセスが拒否された Web サイト、日次レポート、週次レポート、月次レポート。
SARG は、ネットワーク上の個々のマシンによってインターネット帯域幅がどのくらい使用されているかを確認し、ネットワーク ユーザーがどの Web サイトにアクセスしているかを監視するための非常に便利なツールです。
この記事では、SARG – Squid Analysis Report Generator を RHEL/CentOS にインストールして設定する方法を説明します。 >/Fedora および Debian/Ubuntu/Linux Mint システム。
Linux での Sarg – Squid Log Analyzer のインストール
透過プロキシとしてのSquid サーバーと、 キャッシュ モードでの名前解決のためのDNS をすでにインストール、構成、テストしていることを前提としています。そうでない場合は、Sarg のインストールを進める前に、まずそれらをインストールして設定してください。
重要: Squid と DNS をセットアップしないと、システムに sarg をインストールしても使用できないことに注意してください。まったく機能しません。したがって、Sarg のインストールに進む前に、まずそれらをインストールするように要求されます。
Linux システムに DNS と Squid をインストールするには、次のガイドに従ってください。
キャッシュ専用 DNS サーバーをインストールする
- RHEL/CentOS 7 にキャッシュ専用 DSN サーバーをインストールする
- RHEL/CentOS 6 にキャッシュ専用 DSN サーバーをインストールする
- Ubuntu および Debian にキャッシュ専用 DSN サーバーをインストールする
Squid を透過プロキシとしてインストールする
- Ubuntu および Debian での Squid 透過プロキシのセットアップ
- 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 メイン設定ファイル内のいくつかのパラメータを編集します。ファイルには編集するオプションが多数含まれていますが、次のような必須パラメータのみを編集します。
- アクセスログのパス
- 出力ディレクトリ
- 日付形式
- 同じ日付のレポートを上書きします。
選択したエディタで 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 を楽しみにしていて、貴重なコメントを追加することを忘れないでください。