1. 程式人生 > >超詳細搭建Squid日誌分析

超詳細搭建Squid日誌分析

RoCE systemctl 日誌信息 int 搭建 enable 引入 port watermark

Squid日誌分析概述

Sarg的全名是Squid Analysis ReportGenerator,是一款Squid日誌分析工具,采用HTML格式,詳細列出每一位用戶訪問Internet的站點信息、時間占用信息、排名、連接次數和訪問量等

實驗環境

  • 系統環境:centos7.4
  • 服務器IP地址:192.168.100.71
  • 相關源碼信息:sarg-2.3.7、squid-3.4.6

搭建步驟

一、安裝Squid服務

沒有安裝squid服務的朋友可以查看我之前的博文 http://blog.51cto.com/11905606/2177108

二、Squid日誌分析

1、安裝web服務

1)、安裝httpd軟件包

[root@squid ~]# yum -y install httpd

2)、修改配置文件

[root@squid ~]# vim /etc/httpd/conf/httpd.conf

#編輯以下參數
ServerName www.bt.com:80  #設置完全主機名,根據自己的需求
Listen 192.168.100.71:80  #設置服務監聽端口

3)、啟動服務

[root@squid ~]# systemctl start httpd.service
[root@squid ~]# netstat -anpt | grep ‘:80‘
技術分享圖片

2、配置Sarg分析Squid日誌

1)、安裝GD庫

[root@squid ~]# yum -y install gd gd-devel

2)、安裝sarg

[root@squid ~]# tar xvfz sarg-2.3.7.tar.gz
[root@squid ~]# cd sarg-2.3.7/
[root@squid sarg-2.3.7]# ./configure \
--prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \
--enable-extraprotection

#參數詳解
prefix                 #指定配置文件安裝路徑
sysconfdir             #配置文件目錄
enable-extraprotection #安全保護功能

[root@squid sarg-2.3.7]# make && make install

3)、修改sarg配置文件,添加要監控的squid的日誌信息等

[root@squid ~]# vim /etc/sarg/sarg.conf

#修改以下參數 
access_log /usr/local/squid/var/logs/access.log    #約第7行,  打開squid訪問日誌
title "Squid User Access Reports"                  #約第25行, 打開網頁標題
output_dir /var/www/html/squid-reports             #約第120行,sarg報告輸出目錄
user_ip no                                         #約第178行,使用用戶名顯示,no代表禁用
exclude_hosts /usr/local/sarg/noreport             #約第206行,指定不計入排序的站點列表文件
topuser_sort_field BYTES reverse                   #約第184行,在top排序中,指定連接次數、訪問字節數,reverse代表降序
user_sort_field BYTES reverse                      #約第190行,對於用戶訪問記錄,連接次數按降序排列
overwrite_report no                                #約第257行,當日期報告已經存在,是否覆蓋報告
mail_utility mailx                                 #約第289行,發送郵件報告的命令
charset UTF-8                                      #約第434行,使用字符集,utf-8
weekdays 0-6                                       #約第518行,指定top排序時的星期周期,0為周日
hours 7-12,14,16,18-20                             #約第523行,指定top排序時的時間周期
www_document_root /var/www/html          #約第633行,網頁根目錄

[root@squid ~]# touch /usr/local/sarg/noreport #創建不計入排序的站點列表文件

4)、啟動sarg並對觀察squid的訪問日誌

[root@squid ~]# ln -s /usr/local/sarg/bin/sarg /usr/local/bin #添加軟鏈接
[root@squid ~]# sarg #啟動sarg

SARG: 紀錄在文件: 53, reading: 100.00%
SARG: 成功的生成報告在 /var/www/html/squid-reports/2018Sep19-2018Sep19

5)、測試

輸入 http://192.168.100.103/squid-reports/
技術分享圖片

技術分享圖片

6、引入周期性計劃任務

1).編輯每日報告腳本

[root@squid ~]# cd /usr/local/sarg/
[root@squid sarg]# vim sarg.sh
00 00 * 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).添加周期性計劃任務

[root@squid ~]# chmod +x /usr/local/sarg/sarg.sh
[root@squid ~]# crontab -e

00 00 * * * /usr/local/sarg/sarg.sh   #每天00:00執行

[root@squid ~]# systemctl enable crond #設為開機自啟動

超詳細搭建Squid日誌分析