天天看点

日志分析-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

继续阅读