一.Squid 日志分析

        Sarg 是一款 Squid 日志分析工具,全名是 Squid Analysis Report Generator ,采用 HTML 格式,详细列出每一位用户访问Internet 的站点信息、时间占用信息、排名、连接次数和访问量。

  sarg 软件包                 链接:https://pan.baidu.com/s/1_JgVPe_dL_BXnyQlkys10g 密码:9gx8

          Sarg 部署过程如下所述。(前提: Squid 代理服务器已经安装)

1.安装 GD库和 httpd 服务(以图形化页面显示)

[root@squid init.d]# yum install gd gd-devel httpd –y

2.安装 sarg

[root@squid init.d]# mkdir /usr/local/sarg
[root@squid init.d]# cd /aaa/Y2C7/
[root@squid Y2C7]# tar zxvf sarg-2.3.7.tar.gz -C /opt/

[root@squid Y2C7]# cd /opt/sarg-2.3.7/
[root@squid sarg-2.3.7]# ./configure --prefix=/usr/local/sarg \
> --sysconfdir=/etc/sarg \
> --enable-extraprotection                                     //添加额外的安全防护

[root@squid sarg-2.3.7]# make && make install

3.配置 sarg 的配置文件(前面的数字代表所在的行数)

[root@squid sarg-2.3.7]# cd /etc/sarg/
[root@squid sarg]# vim sarg.conf

  7    access_log /usr/local/squid/var/logs/access.log             //指定访问日志文件

25   title "Squid User Access Reports"                                        //网页标题

120    output_dir /var/www/html/squid-reports                    //报告输出目录

178    user_ip no                                                                              //使用用户名显示

206     exclude_hosts /usr/local/sarg/noreport                       //不计入排序的站点列表文件

184    topuser_sort_field connect reverse                                 //修改//top排序中有连接次数、访问字节、降序排列 升序是normal

190     user_sort_field connect reverse                               //用户访问记录 连接次数、访问字节按降序排序

257    overwrite_report no                                                      去# //同名日志是否覆盖

289    mail_utility mailq.postfix                                          修改  //发送邮件报告命令

434     charset UTF-8                                                             修改//使用字符集

518    weekdays 0-6                                                             去#//top排行的星期周期

525    hours 0-23                                                                    去#//top排行的时间周期

633    www_document_root /var/www/html                    去#//网页根目录

4.运行,上述配置中添加了不计入排序的站点,需要创建下面这个目录,添加的域名将不被显示在排序中

[root@squid sarg]# touch /usr/local/sarg/noreport

直接执行 sarg 即可启动一次记录,建议设置符号链接,然后执行 sarg,会看到提示信息

[root@squid sarg]# ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
[root@squid sarg]# sarg
SARG: 纪录在文件: 0, reading: 100.00%
SARG: 没有找到纪录
SARG: 结束

5.启动 httpd 服务,在客户端访问 squid 代理服务器

[root@squid sarg]# systemctl start httpd.service

Squid 日志分析 和反向代理_云计算

6.做周期性计划任务执行每天生成报告

[root@squid sarg]# sarg -l /usr/local/squid/var/logs/access.log -o /var/www/html/squid-reports/ -z -d $(date -d "1 day ago" +%d/%m/%Y)-$(date +%d/%m/%Y)

再次访问验证

Squid 日志分析 和反向代理_其他_02


二.Squid反向代理

        许多大型门户网站架构中都采用了反向代理加速,使用比较多的是 nginx 、squid 等。通过 Squid 反向代理可以加速网站的访问速度,可以将不同的 URL 请求分发到后台不同的 Web 服务器上,同时互联网用户只能看到反向代理服务器的地址,将强了网站的访问安全。如图所示:

Squid 日志分析 和反向代理_其他_03

Squid 反向代理加速得到原理描述如下:

     (1)Squid 反向代理服务器位于 Web 服务器和 Internet 之间,客户机请求访问 Web 服务器时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,客户端将访问 Squid 代理服务器。

     (2)如果 Squid 反向代理服务器中缓存了该请求资源,则将该请求的资源返回给客户端,否则反向代理服务器将向后台的 Web 服务器请求资源,然后再将应答资源返回给客户端,同时也将该资源缓存在本地,供下一个请求者使用


1.Squid 服务器的配置

[root@squid sarg]# vim /etc/squid.conf

# Squid normally listens to port 3128
http_port 192.168.91.134:80 accel vhost vport              //监听本地地址(注意端口为80,要将前面做日志分析时的 httpd 服务关掉)
cache_peer 192.168.91.135 parent 80 0 no-query originserver round-robin weight=1 name=web1            //关联两个 Web 服务器
cache_peer 192.168.91.136 parent 80 0 no-query originserver round-robin weight=1 name=web2
cache_peer_domain web1 web2
www.yun.com                  //域名设定

2.启动squid服务

 [root@squid sarg]# service squid start
正在启动 squid...
[root@squid sarg]# netstat -ntap | grep squid
tcp        0      0 192.168.91.134:80       0.0.0.0:*               LISTEN      101291/(squid-1)   

[root@squid sarg]# systemctl stop httpd.service

3.添加 Web 网站首页

[root@web ~]# vim /var/www/html/index.html

this is test01

[root@web2 ~]# vim /var/www/html/index.html

this is test01

4.在客户端 hosts 文件中添加域名进行解析,其路径为 :C盘  --》 Windows –》System32 –》dirvers—》etc –》hosts  ,选择使用记事本打开

Squid 日志分析 和反向代理_其他_04

5.在客户端通过访问代理服务器的域名,实现对 Web服务器的访问

Squid 日志分析 和反向代理_云计算_05

Squid 日志分析 和反向代理_其他_06

总结:

     (1)Squid 日志分析工具 Sarg 采用 HTML 格式,详细列出每一位用户访问 Internet 的站点信息、时间占用信息、排名、连接次数和访问量等。

     (2)通过 squid 方向代理可以加速网站的访问速度,可以将不同的URL 请求分发到后台不同的 Web 服务器上,同时互联网用户只能看到反向代理服务器的地址,加强了网站的访问安全。