一.Squid 日誌分析html
Sarg 是一款 Squid 日誌分析工具,全名是 Squid Analysis Report Generator ,採用 HTML 格式,詳細列出每一位用戶訪問Internet 的站點信息、時間佔用信息、排名、鏈接次數和訪問量。nginx
sarg 軟件包 連接:https://pan.baidu.com/s/1_JgVPe_dL_BXnyQlkys10g 密碼:9gx8web
Sarg 部署過程以下所述。(前提: Squid 代理服務器已經安裝)vim
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 //添加額外的安全防禦dom[root@squid sarg-2.3.7]# make && make installtcp
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 服務器上,同時互聯網用戶只能看到反向代理服務器的地址,增強了網站的訪問安全。