网站搜索

SARG - Squid 分析报告生成器和互联网带宽监控工具


SARG 是一个开源工具,可让您分析鱿鱼日志文件并生成 HTML 格式的精美报告,其中包含有关用户、IP 地址、访问次数最多的网站、总带宽的信息使用情况、经过的时间、下载、访问被拒绝的网站、每日报告、每周报告和每月报告。

SARG 是非常方便的工具,可以查看网络上各个计算机使用了多少互联网带宽,并且可以查看网络用户正在访问哪些网站。

在本文中,我将指导您如何在 RHEL/CentOS 上安装和配置 SARGSquid Analysis Report Generator >/FedoraDebian/Ubuntu/Linux Mint 系统。

在 Linux 中安装 Sarg – Squid 日志分析器

我假设您已经安装、配置并测试了作为透明代理的 Squid 服务器和用于缓存模式下名称解析的 DNS。如果没有,请先安装并配置它们,然后再进一步安装 Sarg

重要提示:请记住,如果没有 SquidDNS 设置,则无法在系统上安装 sarg根本行不通。因此,要求先安装它们,然后再继续安装Sarg

请按照以下指南在 Linux 系统中安装 DNS 和 Squid:

安装仅缓存 DNS 服务器
  1. 在 RHEL/CentOS 7 中安装仅缓存 DSN 服务器
  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 的发行版上,可以使用 apt-get 软件包管理器从默认存储库轻松安装 sarg 软件包。

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

接下来,添加正确的输出目录路径,以将生成的鱿鱼报告保存在该目录中。请注意,在基于 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 并且不要忘记添加您的宝贵意见。