SARG 是一個開源工具,允許您分析Squid日誌文件並生成關於用戶、IP地址、訪問量最多的網站、總帶寬使用量、經過時間、下載、訪問被拒絕的網站、每日報告、每週報告和每月報告的信息,以HTML格式呈現。
SARG 是一個非常方便的工具,可以查看網絡上各個機器使用了多少互聯網帶寬,並可以查看網絡用戶訪問了哪些網站。

在本文中,我將指導您如何在RHEL/CentOS/Fedora和Debian/Ubuntu/Linux Mint系統上安裝和配置SARG – Squid 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.
重要:請記住,如果沒有Squid和DNS設置,安裝sarg將毫無用處。因此,在繼續進行Sarg安裝之前,請先安裝它們。
按照這些指南在您的Linux系統中安裝DNS和Squid:
安裝僅緩存DNS服務器
將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主配置文件中的一些參數了。該文件包含許多要編輯的選項,但我們只會編輯必需的參數,如:
- 訪問日誌路徑
- 輸出目錄
- 日期格式
- 覆蓋相同日期的報告。
使用您選擇的編輯器打開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 主窗口

特定日期

用户报告

访问最多的站点

最常访问的站点和用户

最常下载的内容

拒绝访问

认证失败

第 5 步: 自动生成 Sarg 报告
自动化生成 sarg 报告的过程,通过 cron 作业 在给定的时间段内。例如,假设您想要自动按 小时 生成报告,为此,您需要配置一个 Cron 作业。
# 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/