squid日志分析
sarg:是一款squid日志分析工具,采用HTML格式,详细列出每一位用户访问IInternet的站点的信息,时间占用信息,排名,连接次数,访问量等。
1,安装图像处理软件包
yum install -y gd gd-devel pcre-devel
mkdir /usr/local/sarg
#将zxvf sarg-2.3.7. tar.gz压缩包上传到/opt目录下
tar zxvf sarg-2.3.7.tar.gz -C /opt/
编译安装
cd /opt/sarg-2.3.7
./configure --prefix=/usr/local/sarg\
--sysconfdir=/etc/sarg\
--enable-extraprotection
make && make install
2,配置sarg服务文件
vim /etc/sarg/sarg.conf
--7行--取消注释
access_log /usr/local/squid/var/logs/access.1og
--25行--取消注释
title "Squid User Access Reports"
-- 120行--取消注释,修改
output_dir /var/www/html/sarg
--178行--取消注释
user_ip no
--184行--取消注释,修改
topuser_sort_field connect reverse
-- 190行--取消注释,修改
user_sort_field connect reverse
--206行--取消注释,修改
exclude_hosts /usr/local/sarg/noreport
--257行--取消注释
overwrite_report no
--289行--取消注释,修改
mail_utility mailq.postfix
--434行--取消注释,修改
charset UTF-8
--518行--取消注释
weekdavs 0-6
--525行--取消注释
hours 0-23
--633行--取消注释
www_document_root /var/www/html
#添加不计入站点文件,添加的域名将不被显示在排序中
touch /usr/local/sarg/noreport
创建软链接,优化启动路径
ln -s /usr/local/sarg/bin/sarg /usr/local/bin
#运行
sarg
#验证
yum install httpd -y
systemctl start httpd
在squid服务器上使用浏览器访问http://192.168.226.90/sarg, 查看sarg报告网页。
#添加计划任务,执行每天生成报告
vim /usr/local/sarg/report.sh
#/bin/bash
#Get current date
TODAY=$(date +%d/%m/%Y)
#Get one week ago today
YESTERDAY=$(date -d "1 day ago" +%d/%m/%Y)
/usr/local/sarg/bin/sarg -l /usr/1ocal/squid/var/logs/access.log -o /var/www/html/sarg
-z -d $YESTERDAY-$TODAY &> /dev/null
exit 0
给文件权限
chmod +x /usr/local/sarg/report.sh
添加计划性周期任务
crontab -e
0 0 * * * /usr/1ocal/sarg/report.sh
squid反向代理
原理
如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理
服务器将向后台的Web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地
供下一个请求者使用。
反向代理优点
●缓存网页对象,减少重复请求
●将互联网请求轮询或按权重分配到内网web服务器
●代理用户请求,避免用户直接访问Web服务器,提高安全
实验配置
关闭防火墙,关闭本地http
systemctl stop firewalld
systemctl stop httpd
iptables -F
iptables -t nat -F
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
vim /etc/ squid.conf
60行–修改,插入-------
http_port 192.168.226.90:80 accel vhost vport
cache_peer 192.168.226.70 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1
cache_peer 192.168.226.80 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
cache_peer_domain web1 web2 www.kgc.com
在客户端Windows10中验证
开启代理服务
出现后,等待十几秒在刷新
总结
反向代理主要是对服务端的优化,将客户端的请求资源在第一次访问时在代理服务器中缓存下来,下次此客户端再次请求时,代理服务器可以直接将该请求所需的资源发送给客户端,虽代理服务器的缓存空间有限,但也减缓一些了后端的缓存压力。日志的使用则可以让我们更快更清晰的了解访问网站的用户的信息。更方便记录与分析。