SARGは、Squidログファイルを分析し、ユーザー、IPアドレス、トップアクセスサイト、総帯域使用量、経過時間、ダウンロード、アクセス拒否されたウェブサイト、日次レポート、週次レポート、月次レポートに関する情報を含む、HTML形式の美しいレポートを生成するオープンソースツールです。
SARGは、ネットワーク上の個々のマシンがどれだけのインターネット帯域を利用しているかを表示するのに非常に便利なツールであり、ネットワークのユーザーがどのウェブサイトにアクセスしているかを確認できます。

この記事では、SARG – Squid Analysis Report GeneratorをRHEL/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.
重要: SquidとDNSのセットアップがないと、システムにsargをインストールしても全く機能しませんので、Sargのインストールに進む前に、まずそれらをインストールするようお願いします。
LinuxシステムにDNSとSquidをインストールするためのガイドに従ってください:
RHEL/CentOS 7にCache-Only DNSサーバーをインストールする
- Cache Only DSN Server in RHEL/CentOS 7をインストールする
- RHEL/CentOS 6にCache Only DSNサーバーをインストールする
- UbuntuとDebianにCache Only DSNサーバーをインストールする
透過プロキシとして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のメイン設定ファイルのいくつかのパラメータを編集する時間です。ファイルには編集するオプションがたくさんありますが、次のような必要なパラメータのみを編集します。
- アクセスログのパス
- 出力ディレクトリ
- 日付フォーマット
- 同じ日付のレポートを上書きします。
エディタの選択で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メインウィンドウ

特定の日付

ユーザーレポート

トップアクセスサイト

トップサイトとユーザー

トップダウンロード

アクセス拒否

認証失敗

ステップ5: Sargレポートの自動生成
sargレポートの生成プロセスを
# crontab -e
次に、ファイルの末尾に次の行を追加します。保存して閉じます。
* */1 * * * /usr/local/bin/sarg -x
上記のCronルールは、1時間ごとにSARGレポートを生成します。
参考リンク
それでSARGは終わりです!その間、Linuxに関するさらにいくつかの興味深い記事を発表しますので、TecMint.comをチェックし続けて、貴重なコメントをお願いします。
Source:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/