內容要點:html
apache的日誌分割web
apache日誌分割系統apache
1、日誌分割vim
一、隨着網站的訪問量增長,默認狀況下Apache的單個日誌文件也會愈來愈大bash
日誌文件佔用磁盤空間很大ide
查看相關信息不方便 工具
二、對日誌文件進行分割優化
Apache 自帶rotatelogs,分割工具實現網站
第三方工具 cronolog分割ui
2、分割工具:
一、配置網站的日誌文件轉交給rotatelogs分割處理
二、配置格式爲
ErrorLog 「| rotatelogs命令的絕對路徑 -l 日誌文件路徑/網站名-error %Y%m%d.log 86400」 CustomLog "| rotatelogs命令路徑 -l 日誌文件路徑/網站名-access %Y%m%d.log 86400" combined
三、配置網站的日誌文件轉交給rotatelogs分割處理
[root@www ~]# vim /etc/httpd/conf/httpd.conf ErrorLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/error %Y%m%d.log 86400" CustomLog "/usr/local/bin/rotatelogs -1 /var/log/httpd/access %Y%m%d.log 86400" combined [root@www ~]#systemctl restart httpd [root@www httpd]# II 總用量80 -rW-1--r-- 1 root root 1814 7月7 17:54 access 20180707.l0g -PW-T--r-- 1 root root 584 7月7 17:55 error 20180707.log
3、第三方工具cronolog
源碼編譯安裝cronolog工具
配置網站日誌文件轉交給cronolog分割處理
配置格式爲:
ErrorLog "| cronolog命令的絕對路徑 日誌文件路徑/網站名-error_ %Y%m%d.log" CustomLog "| cronolog命令的絕對路徑 日誌文件路徑/網站名_%Y%m%d.log" combined
4、 AWStats日誌分析系統介紹
一、AWStats 日誌分析系統
Perl語言開發的一款開源日誌分析系統
可用來分析Apache、Samba、 Vsftpd、 IIS等服務 器的訪問日誌
信息結合crond等計劃任務服務,可對日誌內容按期進行分析
二、安裝AWStats軟件包
[root@www ~]# tar zxf awstats-7.7.tar.gz [root@www ~]# mv awstats-7.7 /usr/local/awstats
三、爲要統計的站點創建配置文件
[root@www ~]# cd /usr/local/awstats/tools/ [root@www tools]# chmod +x awstats_configure.pl [root@www tools]# ./awstats_configure.pl ..... Config file path ('none' to skip web server setup): > /etc/httpd/conf/httpd.conf Do you want me to build a new AWStats config/profile file (required if first install) [y/N] ?y ..... Your web site, virtual server or profile name: > www.kgc.com
四、修改站點統計配置文件
[root@www tools]# vim /etc/awstats/awstats.www.kcce.com.conf LogFile="/var/log/httpd/access log" DirData="/var/lib/ awstats" ......//省略部份內容 [root@www tools]# mkdir /var/lib/awstats
五、執行日誌分析,並設置cron計劃任務
[root@www tools]# chmod +x awstats_updateall.pl [root@www tools]#./awstats_ updateall.pl now [root@www ~]# crontab -e */5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now [root@www ~]# systemctl start crond [root@www ~]# systemctl enable crond
5、訪問AWStats分析系統
查看統計頁面
設置網頁自動跳轉,方便訪問
[root@www ~]# vim /var/www/html/awb.html <html> <head> <meta http-equiv=refresh content="0; url=http://www.kcce.com/awstats/awstats.pl?config=www.kcce.co m"> </head> <body> </body> </html>
下面是配置apache日誌分割及日誌分析系統的兩個實驗
apache日誌分割
1、使用apache自帶的分割工具rotatelogs,搭建實驗環境,安裝httpd服務,配置httpd服務,將日誌文件交給rotatelogs分割處理
[root@localhost named]# yum install -y httpd //安裝httpd服務 [root@localhost ~]# vim /etc/httpd/conf/httpd.conf //配置httpd服務
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf //配置httpd服務 ServerName Listen 192.168.64.158:80 #Listen 80 //配置服務監聽端口及服務名稱 [root@localhost named]# systemctl start httpd.service //啓動服務 [root@localhost named]# systemctl stop firewalld.service //關閉防火牆 [root@localhost named]# setenforce 0
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf //進入配置文件中將日誌文件交給rotatelogs處理
2、使用第三方工具 cronolog分割,安裝好httpd,安裝cronolog
[root@localhost ~]# mkdir /abc //建立掛載點 [root@localhost ~]# mount.cifs //192.168.10.23/LAMP-C7 /abc/ //掛載軟件包 Password for root@//192.168.10.23/LAMP-C7: ****** [root@localhost ~]# cd abc/ [root@localhost abc]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm //安裝cronolog
二、查看日誌文件所在目錄
[root@localhost bin]# cd /usr/bin [root@localhost bin]# ls cronolog* ls: 沒法訪問cronolog*: 沒有那個文件或目錄 [root@localhost bin]# cd /usr/sbin //日誌目錄生成在/usr/sbin目錄下 [root@localhost sbin]# ls cronolog* cronolog
三、修改httpd服務配置文件,添加監聽端口,添加服務名稱,將日誌交給cronolog處理
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf ServerName www.kgc.com:80 Listen 192.168.64.161:80 ErrorLog "| /usr/sbin/cronolog logs/www.kgc.com.error_%Y%m%dlog" CustomLog "| /usr/sbin/cronolog logs/www.kgc.com.access_%Y%m%d.log" combined
四、驗證配置結果,配置成功。
[root@localhost sbin]# systemctl restart httpd [root@localhost sbin]# ls /var/log/httpd www.kgc.com.error_20191025log [root@localhost sbin]# date -s 10/26/19 2019年 10月 26日 星期六 00:00:00 CST [root@localhost sbin]# systemctl restart httpd [root@localhost sbin]# ls /var/log/httpd www.kgc.com.error_20191025log www.kgc.com.error_20191026log
配置日誌分析系統實驗
1、安裝所需軟件包,配置dns服務
[root@localhost var]# yum install -y dhcp bind [root@localhost var]# vim /etc/named.conf //配置主配置文件 [root@localhost ~]# vim /etc/named.rfc1912.zones //配置區域配置文件 zone "kgc.com" IN { type master; file "kgc.com.zone"; allow-update { none; }; [root@localhost named]# cp -p named.localhost kgc.com.zone //複製區域數據配置模板到kgc.com.zone中 [root@localhost ~]# cd /var/named/ [root@localhost named]# vim kgc.com.zone $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 www IN A 192.168.64.158 [root@localhost named]# systemctl start named //啓動服務
二、配置apache服務,配置監聽端口,及dns服務名稱
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf //進入配置文件中 Listen 192.168.64.158:80 //配置監聽端口 #Listen 80 .... ServerName www.kgc.com:80 //配置服務名稱 [root@localhost named]# systemctl stop firewalld.service [root@localhost named]# setenforce 0 //關閉防火牆 [root@localhost named]# systemctl start httpd //啓動httpd服務
三、安裝AWStart軟件包。從宿主機的共享文件夾中掛載獲取
[root@localhost httpd]# mkdir /abc [root@localhost httpd]# mount.cifs //192.168.100.3/rhe16 /abc //掛載安裝包 Password for root@/ /192.1 68.100.3/rhe16: [root@localhost LAMP]# tar zxvf awstats-7.6.tar.gz -C /opt/ //解壓軟件包 [root@localhost tools]# ./awstats_ configure.p1 //配置apache配置文件路徑及域名 [root@localhost ~]# vim /etc/httpd/conf/httpd.conf //於末行修改訪問權限 [root@localhost conf]# vim /etc/awstats/awstats. //修改監聽日誌目錄爲httpd的日誌目錄 [root@localhost ~]# cd /var/lib [root@localhost ~]# mkdir awstats //手動建立日誌保存路徑目錄 [root@localhost tools]# ./awstats_ updateall.pl now //更新數據。每次查看時都需更新一次
四、複製連接,於win10中進行實驗結果檢驗
五、實驗優化:
a、經過計劃性任務來自動更新數據,避免每次查看前都需手動進行數據更新。
b、訪問連接簡化
[root@localhost tools]# crontab -e */5 * * * * /usr/1ocal/awstats/too1s/awstats_ updateall.pl now //編輯每五分鐘自動進行數據更新的計劃性任務
[ root@localhost tools]# vim /var/www/html/aws.html //建立新的網站配置信息,簡化訪問連接 <html> <head> <meta http-equiv=refresh content="0;ur1=http://www.kgc.com/awstats/awstats.pl?config=www.kg.com" > </head> <body></body> </html>
因此配置完成。更多apache優化,進我主頁獲取