SARG - Squid 分析报告生成器和互联网带宽监控工具
SARG 是一个开源工具,可让您分析鱿鱼日志文件并生成 HTML 格式的精美报告,其中包含有关用户、IP 地址、访问次数最多的网站、总带宽的信息使用情况、经过的时间、下载、访问被拒绝的网站、每日报告、每周报告和每月报告。
SARG 是非常方便的工具,可以查看网络上各个计算机使用了多少互联网带宽,并且可以查看网络用户正在访问哪些网站。
在本文中,我将指导您如何在 RHEL/CentOS 上安装和配置 SARG – Squid Analysis Report Generator >/Fedora 和 Debian/Ubuntu/Linux Mint 系统。
在 Linux 中安装 Sarg – Squid 日志分析器
我假设您已经安装、配置并测试了作为透明代理的 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
接下来,添加正确的输出目录路径,以将生成的鱿鱼报告保存在该目录中。请注意,在基于 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 报告
完成配置部分后,就可以使用以下命令生成鱿鱼日志报告了。
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报告
通过 cron 作业在给定时间范围内自动生成 sarg 报告。例如,假设您希望每小时自动生成报告,为此,您需要配置一个Cron作业。
crontab -e
接下来,在文件底部添加以下行。保存并关闭它。
* */1 * * * /usr/local/bin/sarg -x
上述Cron规则将每1小时生成SARG报告。
参考链接
萨尔格主页
这就是SARG!我将在 Linux 上发表更多有趣的文章,在此之前请继续关注 TecMint.com 并且不要忘记添加您的宝贵意见。