一、squid日志分析

Srag是一款Squid日志分析工具,采用HTML格式,详细列出每一位用户访问Internet的站点信息,时间占用信息,排名,连接次数和访问量等。 Srag的部署过程如下。

(1)安装图像处理工具

yum install -y gd gd-devel

(2)创建sarg工作目录

mkdir /usr/local/sarg

(3)手工编译安装sarg

./configure --prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \
--enable-extraprotection
make && make install

(4)编辑sarg.conf配置文件

vim /etc/sarg/sarg.conf 
#将下列注释掉的条目打开
access_log /usr/local/squid/var/logs/access.log    //指定访问日志文件

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

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

user_ip no          //使用用户名显示

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

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

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

overwrite_report no   //同名日志是否覆盖

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

charset UTF-8   //使用字符集

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

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

www_document_root /var/www/html  //网页根目录
#添加不计入站点文件,添加的域名将不被显示在排序中
touch /usr/local/sarg/noreport

创建软链接,便于管理

ln -s /usr/local/sarg/bin/sarg /usr/local/bin/

开启服务

[root@bogon sarg]# sarg 
SARG: 纪录在文件: 152, reading: 100.00%
SARG: 成功的生成报告在 /var/www/html/squid-reports/2018Aug01-2018Aug02

(5)安装httpd服务

yum install httpd -y

创建周期性计划任务执行每天生成报告

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)

(6)在win7测试机上测试

二、squid反向代理

角色 ip地址 安装服务
squid代理服务器 192.168.174.209 squid
节点服务器1 192.168.174.208 httpd
节点服务器22 192.168.174.142 httpd
win7测试机 192.168.174.129 null

1.编辑squid.conf配置文件

http_port 192.168.174.209:80 accel vhost vport
cache_peer 192.168.175.208 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1
cache_peer 192.168.174.142 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
cache_peer_domain web1 web2 www.yun.com

2.两台httpd服务器安装httpd服务

yum install -y httpd

开启服务

systemctl start httpd.service

分别创建httpd首页,便于区分

vim /var/www/html/index.html

3.在win7上测试 (1)修改host文件,添加代理服务器地址

(3)输入www.yun.com进行测试 (4)关闭web2这台服务器的httpd服务,进行测试,此时仍能访问web2.