一.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.conf7 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
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反向代理
许多大型门户网站架构中都采用了反向代理加速,使用比较多的是 nginx 、squid 等。通过 Squid 反向代理可以加速网站的访问速度,可以将不同的 URL 请求分发到后台不同的 Web 服务器上,同时互联网用户只能看到反向代理服务器的地址,将强了网站的访问安全。如图所示:
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 ,选择使用记事本打开
5.在客户端通过访问代理服务器的域名,实现对 Web服务器的访问
总结:
(1)Squid 日志分析工具 Sarg 采用 HTML 格式,详细列出每一位用户访问 Internet 的站点信息、时间占用信息、排名、连接次数和访问量等。
(2)通过 squid 方向代理可以加速网站的访问速度,可以将不同的URL 请求分发到后台不同的 Web 服务器上,同时互联网用户只能看到反向代理服务器的地址,加强了网站的访问安全。