SARG – Squid 分析報告生成器和網絡帶寬監控工具

SARG 是一個開源工具,允許您分析Squid日誌文件並生成關於用戶、IP地址、訪問量最多的網站、總帶寬使用量、經過時間、下載、訪問被拒絕的網站、每日報告、每週報告和每月報告的信息,以HTML格式呈現。

SARG 是一個非常方便的工具,可以查看網絡上各個機器使用了多少互聯網帶寬,並可以查看網絡用戶訪問了哪些網站。

Install Sarg Squid Log Analyzer in Linux

在本文中,我將指導您如何在RHEL/CentOS/FedoraDebian/Ubuntu/Linux Mint系統上安裝和配置SARGSquid Analysis Report Generator

在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:

安裝僅緩存DNS服務器
  1. 在RHEL/CentOS 7上安裝僅緩存DNS服務器
  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的發行版中,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]

現在取消註釋並添加原始路徑到您的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網站根目錄是’/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報告

一旦完成配置部分,現在是生成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/‘ 下,可以通过浏览器地址访问。

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 作业 在给定的时间段内。例如,假设您想要自动按 小时 生成报告,为此,您需要配置一个 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/