Squid 日誌分析 和反向代理

一.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

1

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)

再次訪問驗證

2


二.Squid反向代理

        許多大型門戶網站架構中都採用了反向代理加速,使用比較多的是 nginx 、squid 等。通過 Squid 反向代理可以加速網站的訪問速度,可以將不同的 URL 請求分發到後臺不同的 Web 服務器上,同時互聯網用戶只能看到反向代理服務器的地址,將強了網站的訪問安全。如圖所示:

7

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  ,選擇使用記事本打開

3

5.在客戶端通過訪問代理服務器的域名,實現對 Web服務器的訪問

5

6

總結:

     (1)Squid 日誌分析工具 Sarg 採用 HTML 格式,詳細列出每一位用戶訪問 Internet 的站點信息、時間佔用信息、排名、連接次數和訪問量等。

     (2)通過 squid 方向代理可以加速網站的訪問速度,可以將不同的URL 請求分發到後臺不同的 Web 服務器上,同時互聯網用戶只能看到反向代理服務器的地址,加強了網站的訪問安全。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章