天天看點

日志分析-AWStats和Splunk日志分析

日志分析

  • 日志分析
    • AWstats
      • 分析nginx的通路日志
      • 分析tomcat的通路日志
    • Splunk
      • 服務端
      • 用戶端
    • 參考

日志分析

分析對象:

web的通路日志。

記錄用戶端的IP,了解其所在地;

記錄哪些資源通路次數較多,比較受歡迎;

記錄通路時間,了解網站通路的波峰和波谷;

記錄用戶端使用的浏覽器。

資訊的彙總:

可視化圖表。

關注點:

  1. 獨立IP:

    特定的IP位址通路網站的次數。

  2. 獨立訪客:

    通路網站的自然人。

  3. 頁面浏覽量 pv(page view)

    網站的某個内容或消息,比較受歡迎。

日志輪滾:

清空日志:

方法:

> 檔案名

cat /dev/null > 檔案名

AWstats

在centos7部署,
分析apache或nginx的日志。
分析tomcat的日志,需要修改配置。
           
準備:
[[email protected] ~]# yum install -y httpd
日志檔案:
将一個有資料的日志檔案拷貝到apache的日志檔案目錄下

1. 安裝awstats
[[email protected] ~]# lftp 172.16.0.99
lftp 172.16.0.99:/tar> get awstats-7.2.tar.gz 

[[email protected] ~]# tar zxf awstats-7.2.tar.gz -C /usr/local/
[[email protected] ~]# cd /usr/local/
[[email protected] /usr/local]# ls
[[email protected] /usr/local]# mv awstats-7.2/ awstats    # 改名

2. 配置awstats
[[email protected] /usr/local]# chown -R apache:apache awstats/    給awstats設定權限

[[email protected] /usr/local/awstats/tools]# chmod +x *.pl    # 給tools目錄下所有perl檔案添加執行權限
[[email protected] /usr/local/awstats/wwwroot/cgi-bin]# chmod +x *.pl	 # 給cgi-bin目錄下所有perl檔案添加執行權限

運作向導檔案,生成awstats的配置檔案:
[[email protected] /usr/local/awstats/tools]# ./awstats_configure.pl 
> /etc/httpd/conf/httpd.conf
file (required if first install) [y/N] ? y
> awstats			# ----> 這個名字設定好,重要.

[[email protected] /etc/awstats]# ls
awstats.awstats.conf

[[email protected] /etc/awstats]# vim awstats.awstats.conf
51 LogFile="/var/log/httpd/access_log"
	被分析的日志的路徑
204 DirData="/usr/local/awstats/data"
	資料庫檔案的路徑	

[[email protected] ~]# mkdir /usr/local/awstats/data		# 存放資料的位置
[[email protected] ~]# chown apache:apache /usr/local/awstats/data   # 設定權限

3. 配置apache
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf 
<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    order allow,deny
    allow from all
    Require all granted		----> 添加這行 全部準許
</Directory>

[[email protected] ~]# systemctl start httpd
[[email protected] ~]# systemctl enable httpd

 4. 生成資料庫檔案
[[email protected] ~]# perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=awstats -update

[[email protected] /usr/local/awstats/data]# ls
awstats112019.awstats.txt

浏覽器通路:
http://172.16.0.30/awstats/awstats.pl?config=awstats

           

分析nginx的通路日志

nginx的通路日志格式跟apache一樣,不需要其它設定

[[email protected] /etc/awstats]# vim awstats.awstats.conf 
LogFile="/log/nginx/access.log"

[[email protected] ~]# mkdir -p /log/nginx
	為了增加IO,可以使用raid0(多塊硬碟)挂載到/log
           

分析tomcat的通路日志

tomcat的日志格式比較特殊,為了準備識别需要修改配置檔案格式

[[email protected] /etc/awstats]# vim awstats.awstats.conf 
  51 LogFile="/log/tomcat/access_log"
 123 LogFormat=1
 124 LogFormat = "%host %other %logname %time1 %methodurl %code"

[[email protected] /log]# mkdir tomcat

[[email protected] /opt/apache-tomcat-8.0.50/logs]# scp localhost_access_log.2019-12-03.txt 172.16.0.30:/log/tomcat/access_log

[[email protected] /log]# cd tomcat/
[[email protected] /log/tomcat]# ls
access_log

# 删除舊的日志檔案,保留需要分析的日志.然後再次加載
[[email protected] /usr/local/awstats/data]# rm -f awstats122019.awstats.txt   
[[email protected] /usr/local/awstats/data]# perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=awstats -update

           

Splunk

服務端

[[email protected] ~]# lftp 172.16.0.99
lftp 172.16.0.99:~> cd splunk/
lftp 172.16.0.99:/splunk> get splunk-5.0.2-149561-linux-2.6-x86_64.rpm 

[[email protected] ~]# rpm -ivh splunk-5.0.2-149561-linux-2.6-x86_64.rpm 

-------------------------------------------------------------------------
Splunk has been installed in:
        /opt/splunk
	安裝路徑
To start Splunk, run the command:
        /opt/splunk/bin/splunk start
	啟動方式
To use the Splunk Web interface, point your browser to:
    http://splunk:8000
	通路方式
Complete documentation is at http://docs.splunk.com/Documentation/Splunk
	幫助
	
-------------------------------------------------------------------------
[[email protected] ~]# /opt/splunk/bin/splunk start

通路測試:
http://splunk-ip:8000
           

用戶端

接收遠端節點的日志:

splunk 172.16.0.30

tomcat 172.16.0.121

安裝splunkforwarder
[[email protected] ~]# lftp 172.16.0.99
lftp 172.16.0.99:~> cd splunk/      
lftp 172.16.0.99:/splunk> get splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm

[[email protected] ~]# rpm -ivh splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm

-------------------------------------------------------------------------
Splunk has been installed in:
        /opt/splunkforwarder

To start Splunk, run the command:
        /opt/splunkforwarder/bin/splunk start

# 啟動
[[email protected] /opt/splunkforwarder]# ./bin/splunk start
#添加splunk服務端ip (用戶端指向服務端)
[[email protected] /opt/splunkforwarder]# ./bin/splunk add forward-server 172.16.0.30:9997
Splunk username: admin			---> 使用者名
Password: changeme				---> 密碼
Added forwarding to: 172.16.0.30:9997.   ---> 服務端位址
	配置接收日志的IP和端口

[[email protected] /opt/splunkforwarder/etc/system/local]# ls
inputs.conf  outputs.conf  README  server.conf

[[email protected] /opt/splunkforwarder/etc/system/local]# vim outputs.conf 
	這個檔案不需要改
[[email protected] /opt/splunkforwarder/etc/system/local]# vim inputs.conf
[default]
host = zagent-tomcat
[monitor:///var/log/httpd]
	##日志的路徑
sourcetype = access_common
	##日志的格式類型

配置apache:
[[email protected] ~]# yum install -y httpd
[[email protected] ~]# echo 172.16.0.121 > /var/www/html/index.html
[[email protected] ~]# systemctl start httpd

通路,刷出通路日志。

重新開機:
[[email protected] ~]# /opt/splunkforwarder/bin/splunk restart
           

參考

日志合并腳本★

#!/bin/bash

# 合并上一周的日志檔案

logdir="/log/nginx"

filename=“access.log-”

logfile="${logdir}/all_access.log"

$logfile

for i in

seq 7 -1 1

do

cat l o g d i r / {logdir}/ logdir/{filename}

date -d "$i day ago" "+%Y%m%d"

>> $logfile

done

繼續閱讀