SARG – Squid分析レポートジェネレータおよびインターネット帯域幅モニタリングツール

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

SARGは、ネットワーク上の個々のマシンがどれだけのインターネット帯域を利用しているかを表示するのに非常に便利なツールであり、ネットワークのユーザーがどのウェブサイトにアクセスしているかを確認できます。

Install Sarg Squid Log Analyzer in Linux

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

LinuxでSarg – Squidログアナライザーをインストールする

I assume that you already installed, configured and tested Squid server as a transparent proxy and DNS for the name resolution in caching mode. If not, please install and configure them first before moving further installation of Sarg.

重要: SquidDNSのセットアップがないと、システムにsargをインストールしても全く機能しませんので、Sargのインストールに進む前に、まずそれらをインストールするようお願いします。

LinuxシステムにDNSとSquidをインストールするためのガイドに従ってください:

RHEL/CentOS 7にCache-Only DNSサーバーをインストールする
  1. Cache Only DSN Server in RHEL/CentOS 7をインストールする
  2. RHEL/CentOS 6にCache Only DSNサーバーをインストールする
  3. UbuntuとDebianにCache Only DSNサーバーをインストールする
透過プロキシとしてSquidをインストールする
  1. UbuntuとDebianにSquid透過プロキシを設定する
  2. RHELとCentOSにSquidキャッシュサーバーをインストールする

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

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

RedHat/CentOS/Fedoraでは
# yum install –y gcc gd gd-devel make perl-GD wget httpd

必要なすべてのパッケージをインストールしたら、最新のsargソースtarボールをダウンロードするか、以下に示す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ベースのディストリビューションでは、sargパッケージをapt-getパッケージマネージャーを使用してデフォルトのリポジトリから簡単にインストールできます。

$ 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]

今度は、スクイッドアクセスログファイルへの元のパスをコメント解除して追加します。

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

次に、生成されたスクイッドレポートをそのディレクトリに保存する正しい出力ディレクトリのパスを追加します。Debianベースのディストリビューションでは、Apacheウェブルートディレクトリは’/var/www‘です。そのため、正しいウェブルートパスをLinuxディストリビューションに追加する際に注意してください。

# 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

次に、コメントを解除して上書きレポートを’Yes’‘に設定します。

# 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レポートの生成

設定が完了したら、次のコマンドを使用してスクイッドログレポートを生成する時間です。

# 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’構成ファイルを読み取り、スクイッド’access.log’パスを取得し、html形式のレポートを生成します。

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

生成されたレポートは、’var/www/html/squid-reports/’または’var/www/squid-reports/’の下に配置され、ウェブブラウザからアクセスできます。

http://localhost/squid-reports
OR
http://ip-address/squid-reports
Sargメインウィンドウ
Sarg Main Window
特定の日付
Date Wise Report
ユーザーレポート
User Bandwidth Report
トップアクセスサイト
Top Accessed Sites
トップサイトとユーザー
Top Accessed Sites and Users
トップダウンロード
Top Downloads
アクセス拒否
Denied Access Sites
認証失敗
Proxy Authentication Failures

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

sargレポートの生成プロセスをを使用して指定された時間枠で自動化します。例えば、毎時にレポートを自動生成したい場合は、Cronジョブを構成する必要があります。

# crontab -e

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

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

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

参考リンク

Sargホームページ

それでSARGは終わりです!その間、Linuxに関するさらにいくつかの興味深い記事を発表しますので、TecMint.comをチェックし続けて、貴重なコメントをお願いします。

Source:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/